孩子链表定义
把每个结点的孩子结点排列起来,看成是一个线性表,且以单链表作为存储结构,则 n
个结点又 n
个孩子链表(叶子的孩子链表为空表)。而 n
个头指针又组成一个线性表,为了便于查找,可采用顺序存储结构。
示例
对应的树为
C
语言类型描述
孩子结点结构
typedef struct CTNode
{
int child;
struct CTNode *next;
}*ChildPtr;
双亲结点结构
typedef struct
{
TElemType data;
ChildPtr firstchild;
}CTBox;
树结构
typedef struct
{
CTBox nodes[MAX_TREE_SIZE];
int n,r;// 结点数和根节点的位置
}
特点
找孩子容易,找双亲难