(D 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 G H 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的嵌套集合表示法
ELlE F/∠ D[/∠ GH K (O图61的凹入表示法
A B E F C D G H J K I (C)图6.1的凹入表示法
62树类的定义 ADT tree i 数据对象D:具有相同性质的数据元素构成的有限 集 数据关系R:如果D为空或D仅含一个元素,则R为 空;否则D中存在一个特殊的结点root,称 之为根结点,其无前驱;其它结点被分成互 不相交的m(m≥0)个集合,分别构成root的m 棵子树;若这些子树非空,则它们的根结点 root均称为整棵树根结点root的后继结点 而每棵子树也是一棵树,因而它们中数据元 素间的关系也同样满足R的定义。 树的基本操作如下 (1)Inittree(T (2)Cleartree(T
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)Root(T) (5) Child(t, a (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) 1 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