5.4.1树的存储结构 5.4.2树和森林的遍历

5.4.1树的存储结构 5.4.2树和森林的遍历_第1张图片

 回忆一下树的逻辑结构:

 双亲表示法(顺序存储)

5.4.1树的存储结构 5.4.2树和森林的遍历_第2张图片

 5.4.1树的存储结构 5.4.2树和森林的遍历_第3张图片

 5.4.1树的存储结构 5.4.2树和森林的遍历_第4张图片

 5.4.1树的存储结构 5.4.2树和森林的遍历_第5张图片

 如果增加一个结点M,L。毋须按照逻辑上的次序存储。

如果是删除元素:

方案一:比如说删除元素为G,设置其双亲结点为-1。

5.4.1树的存储结构 5.4.2树和森林的遍历_第6张图片

 方案二:
5.4.1树的存储结构 5.4.2树和森林的遍历_第7张图片

把尾部的结点提上来。

 5.4.1树的存储结构 5.4.2树和森林的遍历_第8张图片

还需要改变数值让结点数减1。

5.4.1树的存储结构 5.4.2树和森林的遍历_第9张图片

还要删除以他为根节点的子孙节点。

 5.4.1树的存储结构 5.4.2树和森林的遍历_第10张图片

 5.4.1树的存储结构 5.4.2树和森林的遍历_第11张图片

 来回顾一下二叉树的顺序存储:

5.4.1树的存储结构 5.4.2树和森林的遍历_第12张图片

 可以根据结点编号不仅反映了存储位置,也隐含了结点之间的逻辑关系。

下面来讲解树的孩子表示法

5.4.1树的存储结构 5.4.2树和森林的遍历_第13张图片

 5.4.1树的存储结构 5.4.2树和森林的遍历_第14张图片

下面就是孩子兄弟表示法(链式存储)

5.4.1树的存储结构 5.4.2树和森林的遍历_第15张图片

 5.4.1树的存储结构 5.4.2树和森林的遍历_第16张图片

 一个数据域,两个指针

其实是跟二叉树的链式存储时一样的

5.4.1树的存储结构 5.4.2树和森林的遍历_第17张图片

 只是名称有所不同

5.4.1树的存储结构 5.4.2树和森林的遍历_第18张图片

 就得到了孩子兄弟法得到了树

5.4.1树的存储结构 5.4.2树和森林的遍历_第19张图片

 是不是二叉树和树就可以相互转化了。

5.4.1树的存储结构 5.4.2树和森林的遍历_第20张图片

接下来看森林和二叉树的相互转换:

 5.4.1树的存储结构 5.4.2树和森林的遍历_第21张图片

再把二叉树转换为森林:

 5.4.1树的存储结构 5.4.2树和森林的遍历_第22张图片

 5.4.1树的存储结构 5.4.2树和森林的遍历_第23张图片

5.4.2树和森林的遍历

5.4.1树的存储结构 5.4.2树和森林的遍历_第24张图片

 树的遍历

1)树的先根遍历

5.4.1树的存储结构 5.4.2树和森林的遍历_第25张图片

 那么对这颗树进行先根遍历的话那么顺序是这样的:

先是ABCD

然后A(BEF)(CG)(DHIJ)

最后A(B(EK)F)(CG)(DHIJ)

伪代码实现:

5.4.1树的存储结构 5.4.2树和森林的遍历_第26张图片

 树和二叉树的转换

5.4.1树的存储结构 5.4.2树和森林的遍历_第27张图片

 二叉树的先序遍历序列和树的先根遍历序列相同

2)树的后根遍历

5.4.1树的存储结构 5.4.2树和森林的遍历_第28张图片

 

 先依次对每棵子树进行后根遍历,最后在访问根节点。

遍历序列如下:

5.4.1树的存储结构 5.4.2树和森林的遍历_第29张图片

 5.4.1树的存储结构 5.4.2树和森林的遍历_第30张图片

 先往下往左走

5.4.1树的存储结构 5.4.2树和森林的遍历_第31张图片

 对二叉树的中序遍历序列是相同的。

3)树的层次遍历

5.4.1树的存储结构 5.4.2树和森林的遍历_第32张图片

 最后在队列中的元素依次出队。

先根遍历和后根遍历需要往深处走,所以我们称之为深度优先遍历。

层序遍历我们称之为广度优先遍历。

下面我们再来看对森林的遍历

1)先序遍历

森林是m(m>=0)棵互不相交的树的集合。每棵树去掉根节点之后,其各个子树又组成森林。

5.4.1树的存储结构 5.4.2树和森林的遍历_第33张图片

 也可以先把森林转换成与之对应的二叉树:

5.4.1树的存储结构 5.4.2树和森林的遍历_第34张图片

 效果等同于依次对二叉树的先序遍历

2)中序遍历

5.4.1树的存储结构 5.4.2树和森林的遍历_第35张图片

 

 5.4.1树的存储结构 5.4.2树和森林的遍历_第36张图片

用孩子兄弟表示法,森林可以转换成对应的二叉树,这样就可以实现先序和中序遍历森林。

 5.4.1树的存储结构 5.4.2树和森林的遍历_第37张图片

 

你可能感兴趣的:(数据结构,数据结构)