T=(DR) DE=D,UD2U.UDm(Isi,jsm, D, nD=c) R={<Root,r>,i=1,2,,n-1} E F G
T=(D,R) DF = D1∪D2∪…∪Dm (1≤i,j≤m, Di∩Dj =¢) R={<Root, ri>, i=1,2,…,n-1} A B C D E F G H I J K L
3.树的抽象数据类型 数据集合:树的结点集合,每个结点由数据元素和构造数 据元素之间关系的指针组成。 操作集合: (1)创建 Make tree(T) (2)撒消 Destroytree(T) (3)双亲结忘 Parent(T,curr) (4)左孩子结忘 LeftChild(T,curr) (5)右兄弟结点 RightSibling(T,curr) (6)遍历树 Traverse(T, Visito)
3.树的抽象数据类型 数据集合: 树的结点集合,每个结点由数据元素和构造数 据元素之间关系的指针组成。 操作集合: (1)创建MakeTree(T) (2)撤消DestroyTree(T) (3)双亲结点Parent(T, curr) (4)左孩子结点LeftChild(T, curr) (5)右兄弟结点RightSibling(T, curr) (6)遍历树Traverse(T, Visit())
4树的存储结构 树的结点之间的逻辑关系主要有双亲孩子关系,兄 弟关系。因此,从结点之间的逻辑关系分,树的存储 结构主要有:双亲表示法、孩子表示法、双亲孩子表 示法和孩子兄弟表示法四种组合。 指针有常规指针和仿真指针
4.树的存储结构 树的结点之间的逻辑关系主要有双亲-孩子关系,兄 弟关系。因此,从结点之间的逻辑关系分,树的存储 结构主要有:双亲表示法、孩子表示法、双亲孩子表 示法和孩子兄弟表示法四种组合。 指针有常规指针和仿真指针
data parent (1)双亲表示法 12345 ABCDEF 100 1 D(EF 6G2 4 8 HI 4 (a)一棵树 (b)仿真指针的双亲表示法存储结构 树及其使用仿真指针的双亲表示法
H 4 G 2 F 1 E 1 D 1 C 0 B 0 A -1 I 4 data parent 0 1 2 3 4 5 6 7 8 A B D E F H I C G (1)双亲表示法 (a)一棵树 (b)仿真指针的双亲表示法存储结构 树及其使用仿真指针的双亲表示法
root (2)孩子表示法 A、 B ∧∧ DAAA E/小F∧A人GAA 常规指针的孩子表示法
(2)孩子表示法 常规指针的孩子表示法 root B A ∧ C D E F G H I ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧