方法"/>
树的表示方法
树是n(n>=0)个结点的有限集。当n=0时称为空树,在任意一个非空树中,1、有且只有一个称为根的结点,2、当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,。。。Tm,其中每一个集合本身又是一个树,并且称为根的子树。如下图:
该树的度为3,深度为3.
树的表示方法一:
data | parent | |
0 | A | -1 |
1 | B | 0 |
2 | D | 1 |
3 | E | 1 |
4 | F | 1 |
5 | C | 0 |
6 | G | 5 |
7 | H | 5 |
//树的表示方法一#define MAX_NODE_SIZE 100typedef int ElemType;typedef struct Node
{ElemType data; //结点数据int parent; //结点双亲位置
}TNode;typedef struct Tree
{TNode data[MAX_NODE_SIZE];int r; //根的位置int n; //结点数目
}PTree;
树的表示方法二:
#define MAX_TREE_SIZE 100typedef char ElemType;typedef struct CTNode
{int child;struct CTNode *next;
}*ChildPtr;typedef struct
{ElemType data;int parent;ChildPtr firstchild;
}CTBox;typedef struct
{CTBox nodes[MAX_TREE_SIZE];
}
更多推荐
树的表示方法
发布评论