数据结构----数
作者:互联网
顺序存储:
双亲表示法:用一组连续的存储空间存储树的结点,同时在每个结点中,用一个变量存储该结点的双亲结点在数组中的位置。
**加粗样式**
typedef char ElemType;
typedef struct TNode{
ElemType data;//结点数据
int parent;该结点双亲在数组中的下标
}TNode;
#define Maxsize 100
typedef struct{
TNode nodes[Maxsize];//结点数组
int n;//结点数量
}Tree;
链式存储
孩子表示法:把每个结点的孩子排列起来存储成一个单链表。所以n个结点就有n个链表;如果是叶子结点,那么这个结点的孩子单链表就是空的。
然后n个单链表的头指针又存储在一个顺序表(数组中)。
typedef char ElemType;
typedef struct CNode{
int child;
struct CNode *next;
}CNode *Child;
typedef struct
{
Elemtype data;
Child firstchild;
}TNode;
孩子兄弟表示法:
设置两个指针,分别指向该节点的第一个孩子结点,和该节点的兄弟结点
typedef char ElemType;
typedef struct CSNode{
ElemType data;
struct CSNode *firstchild,*rightilb;
}CSNode;
标签:结点,struct,存储,ElemType,TNode,typedef,数据结构 来源: https://blog.csdn.net/qq_41932111/article/details/97421849