目录
树的几种存储结构及其特点
1、双亲表示法
方法:
把节点按层次遍历顺序编号。
按层次遍历顺序把节点存入结构体数组,
结构体数组的两个域一个是数据域,另一个是父节点位置编号。
C语言的类型描述:
#define maxtreesize 100
typedef struct PTNode
{
ELem data;//数据域
int parent;//双亲位置域
}PTNode;
typedef struct
{
PRNode nodes[maxtreesize];//数组
int r;//根节点位置
int n;//结点总数
}PTree;
2、孩子链表表示法
方法:
把节点按层次遍历顺序编号。
所有的兄弟节点形成一个单链表。
存储结构由结构体数组和单链表构成。
结构体数组中有两个域,一个存节点数据,另一个是指向本节点孩子链表的指针。
//孩子链表
typedef struct CTNode
{
int child;//孩子结点位置
struct CTNode *next;
}CTNode,*ChildP