(E 图63有序树和无序树的比较 由m(m≥0)棵互不相交的树构成的集合称为森林。 森林和树的概念十分相近,一棵树中每个结点,其 子树的集合即为一个森林;而在森林中的每棵树之 上加一个共同的根,森林就成为了一棵树
D C E F A B D E F A B 由m (m≥0)棵互不相交的树构成的集合称为森林。 森林和树的概念十分相近,一棵树中每个结点,其 子树的集合即为一个森林;而在森林中的每棵树之 上加一个共同的根,森林就成为了一棵树。 C 图6.3 有序树和无序树的比较
树型结构的其他表示方法: A(B(E,F),C,D(G, HO, K),D) (a)图61的括号表示法 A B H E E K (b)图6.1的嵌套集合表示法
树型结构的其他表示方法: A(B(E,F),C,D(G,H(J,K),I)) (a) 图6.1的括号表示法 B H J K G I E F D C A (b)图6.1的嵌套集合表示法
A B ELL F/∠ D GH K (C)图61的凹入表示法
A B E F C D G H J K I (C)图6.1的凹入表示法
62树类的定义 ADT tree 数据对象D:具有相同性质的数据元素构成的有限 集合。 数据关系R:如果D为空或D仅含一个元素,则R为 空;否则D中存在一个特殊的结点root,称 之为根结点,其无前驱;其它结点被分成互 不相交的mm≥0)个集合,分别构成root的m 棵子树;若这些子树非空,则它们的根结点 root均称为整棵树根结点root的后继结点 而每棵子树也是一棵树,因而它们中数据元 素间的关系也同样满足R的定义。 树的基本操作如下 (1)Inittreel (2)Cleartrec
6.2 树类的定义 ADT tree { 数据对象D:具有相同性质的数据元素构成的有限 集合。 数据关系R:如果D为空或D仅含一个元素,则R为 空;否则D中存在一个特殊的结点root,称 之为根结点,其无前驱;其它结点被分成互 不相交的m(m0)个集合,分别构成root的m 棵子树;若这些子树非空,则它们的根结点 rooti均称为整棵树根结点root的后继结点; 而每棵子树也是一棵树,因而它们中数据元 素间的关系也同样满足R的定义。 树的基本操作如下: (1)Inittree(T) (2)Cleartree(T)
3)Emptytree(T (4)RootT 5)Child(t, a, i 6)Parent(T, a) (7)Degree(T, a (8)Depth(T) (9)Choose(t, c) 10)Addchild(T,a, i, t1) 11)Delchild(t, a, j) 12) Createtree a, F) 13)Equaltree(T1,T2) 14)Numofnodet) 15)preorder(T) (16)postorder (T) 17)levelorder(t) (18)Destroytree(T 3 ADT Tree
(3)Emptytree(T) (4)Root(T) (5)Child(T, a, i) (6)Parent(T, a) (7)Degree(T, a) (8)Depth(T) (9)Choose(T , C) (10)Addchild(T,a, i, t1) (11)Delchild(T,a,i) (12)Createtree(a, F) (13)Equaltree(T1,T2) (14)Numofnode(T) (15)preorder(T) (16)postorder(T) (17)levelorder(T) (18)Destroytree(T) } ADT Tree