《数据结构》 第六章树和二叉树(下)
《 数据结构》 第六章 树和二叉树 (下)
数据结构 6.4 树和森林 6.4.1树的存储结构 双亲表示法 实现:定义数组存放树的结点,每个结点含两个域: 数据域:存放结点本身信息。 双亲域:指标本结点的双亲结点在数组中的位置。 特点:找双亲容易,找孩子难。 静态双亲链表的类型定义参见P135 tjm
数据结构 tjm 静态双亲链表的类型定义参见P135 6.4 树和森林 6.4.1 树的存储结构 双亲表示法 实现:定义数组存放树的结点,每个结点含两个域: 数据域:存放结点本身信息。 双亲域:指示本结点的双亲结点在数组中的位置。 特点:找双亲容易,找孩子难
数据结构 data parent 日 0 a 1 b 0 b 2 c 0 e 3 d 4 e 5 f 2 g h 6 g 4 7 h 4 8 1 4
数据结构 tjm a b c d e f g h i - 1 01124440 acdefghib data parent 501234678
数据结构 孩子链表表示法(类型定义参见P136) 每个结点的孩子结点用单链表存储,再用含个 元素的数组指向每个孩子链表。 data fc a a b C 1 b 2 5 d e 3 d 4 e 6 8 g h 5 f A 6 g A 7 h 8 1 A tjm
数据结构 tjm a b c d e f g h i 1 2 ^ 3 4 ^ 6 7 8 ^ 5 ^ 5 0 1 2 3 4 6 7 8 a c d e f g h i b ^ ^ ^ ^ ^ data fc 孩子链表表示法(类型定义参见P136) 每个结点的孩子结点用单链表存储,再用含n个 元素的数组指向每个孩子链表
数据结构 带双亲的孩子链表 a data parent fc 0 a -1 1 b 0 2 c 0 3 d 1 4 e 1 8^ 5 2 N 6 8 4 7 h 4 8i 4
数据结构 tjm 5 0 1 2 3 4 6 7 8 a c d e f g h i b data fc 1 2 3 4 6 7 8 5 ^ ^ ^ ^ ^ ^ ^ ^ ^ -1 0 1 1 2 4 4 4 0 parent a b c d e f g h i 带双亲的孩子链表