树:存储结构

Posted zhenglijie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树:存储结构相关的知识,希望对你有一定的参考价值。

 1 //双亲表示法:可以根据某结点的parent指针找到它的双亲结点,索引到parent的值是-1,表示找到了树结点的跟,但是如果要找某结点的孩子需要遍历整个树结构
 2 #define MAX_TREE_SIZE 100
 3 typedef int ElemType;
 4 
 5 typedef struct PTNode
 6 {
 7     ElemType data; //结点数据
 8     int parent;  //双亲位置
 9 }PTNode;
10 
11 typedef struct  //存放大树的根,结点数目,每个子节点的双亲和数据
12 {
13     PTNode nodes[MAX_TREE_SIZE];
14     int r;   //根的位置
15     int n;   //结点数目
16 }PTree;
17 
18 //双亲孩子表示法
19 #define MAX_TREE_SIZE 100
20 
21 typedef char ElemType
22 //孩子结点
23 typedef struct CTNode
24 {
25     int child;  //孩子结点的下标
26     struct CTNode* next;  //指向下一个孩子结点的指针
27 }*ChildPtr;
28 
29 //表头结构
30 typedef struct
31 {
32     ElemType data;  //存放在树中结点的数据
33     int parent;   //存放双亲的位置下标
34     ChildPtr firstchild;  //指向第一个孩子的指针
35 }CTBox;
36 
37 //树结构
38 typedef struct
39 {
40     CTBox nodes[MAX_TREE_SIZE];  //结点数组
41     int r, n;  //根的位置和结点数
42 };

 

以上是关于树:存储结构的主要内容,如果未能解决你的问题,请参考以下文章

数据结构—树

JDK常用数据结构

数据结构入门(十四)——非线性结构——树的存储

数据结构入门(十四)——非线性结构——树的存储

数据结构入门(十四)——非线性结构——树的存储

数据结构入门(十四)——非线性结构——树的存储