十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
名称:树存储结构的几种表示方法
望奎网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。创新互联自2013年创立以来到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
说明:对于树的存储结构,一般有以下三种表示方法。
总之,选用不同的存储结构要根据具体的用途。(这当然是废话)。想说的是,在做一些题的时候,如果可以不用选用二叉树这种相对复杂的存储结构,那就选择线性的结构。对我来说,线性结构比二维的树的结构用的顺手。
//树的存储结构之双亲表示法 //树的结点定义 typedef struct { int data; //数据元素 int parent; //双亲的位置 }PTNode; //树的类型定义 typedef struct { //PTNode nodes[MAXSIZE]; //双亲表示 int n; //结点数 }PTree; //树的存储结构之孩子表示法 //链表中孩子结点表示 typedef struct CHNode { int pos; //孩子的位置 CHNode *next; //指向下一个孩子的指针 }CHNode; //数组中双亲结点表示 typedef struct CHNode1 { int data; //数据元素 CHNode *firChild; //指向第一个孩子的指针 }CHNode1; //树的类型表示 typedef struct { CHNode1 nodes[MAXSIZE]; //所有的结点 int n; //节点的个数 }CHTree; //树的存储结构之孩子兄弟表示法 typedef struct CSNode { int data; //结点的数据 CSNode *firstchild,*nextbling; //第一个孩子和下一个兄弟 }CSNode,*CSTree;
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对创新互联的支持。如果你想了解更多相关内容请查看下面相关链接