一、树和森林定义
1) 树是n(n>=0)个结点的有限集;若n=0,称为空树
若n>0 (1) 有且仅有一个特定的称为根的结点
(2) 其余结点可分为m(m>=0)个互不相交的有限集T1,T2,T3,...Tm
2) 森林: 是m(m>=0)棵互不相交的树的集合
二、树的存储结构
1.双亲表示法
实现: 定义结构数组存放树的结点,每个结点含两个域
数据域: 存放结点本身信息
双亲域: 指示本结点的双亲结点在数组中的位置
特点: 找双亲容易,找孩子难
#define SIZE 10
typedef char Datatype;
typedef struct PTNode
{
Datatype ch;
int parent; //双亲位置域
}PTNode;
typedef sturct
{
PTNode nodes[SIZE];