树:存储结构
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 };
以上是关于树:存储结构的主要内容,如果未能解决你的问题,请参考以下文章