树的三种存储方法
一、双亲存储结构
typedef struct { int data; int parent; }PTree[max_size];//P表示parent
图像如下:
二、孩子链存储结构
typedef struct snode
{
int data;
node *next;//指向兄弟;
}Son_node;
typedef struct
{
int data;
int parent;
Son_node *first_son;
}Pnode;//双亲节点
typedef struct
{
Pnode node[max_size];
int r,n;//r表示根节点,n表示节点个数
};
图像如下:
三、孩子兄弟链存储结构
typedef struct node { int data; struct node *hp;//指向兄弟 struct node *vp;//指向孩子节点 }TSBnode;//S表示Son,B是brother的缩写
图像表示如下: