下载此文档

二叉树遍历(递归—非递归转换).ppt


文档分类:IT计算机 | 页数:约25页 举报非法文档有奖
1/25
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/25 下载此文档
文档列表 文档介绍
——遍历二叉树
制作人:计科系孙玉霞
数据结构
1/13/2018
1
数据结构——二叉树的遍历
遍历二叉树
二叉树的先序遍历
二叉树的中序遍历
二叉树的后序遍历
遍历二叉树
本次课主要内容
2
遍历二叉树
方法
先序遍历:先访问根结点,然后分别先序遍历左子树、右子树
中序遍历:先中序遍历左子树,然后访问根结点,最后中序遍历右子树
后序遍历:先后序遍历左、右子树,然后访问根结点
按层次遍历:从上到下、从左到右访问各结点
D
L
R
LDR、LRD、DLR
RDL、RLD、DRL
返回目录
3
A
D
B
C
D L R
A
D L R
D L R
>
B
>
>
D
>
>
C
D L R
先序遍历序列:A B D C
二叉树的先序遍历
4
算法实现:
进入
非递归算法
递归算法
先序遍历
过程演示
5
void preorder(BiTree t)
{ if(t!=NULL)
{ printf("%d\t",t->data);
preorder(t->lchild);
preorder(t->rchild);
}
}
主程序
Pre( T )
返回
返回
pre(T R);
返回
返回
pre(T R);
A
C
B
D
T
B
printf(B);
pre(T L);
B
T
A
printf(A);
pre(T L);
A
T
D
printf(D);
pre(T L);
D
T
C
printf(C);
pre(T L);
C
返回
T
>
左是空返回
pre(T R);
T
>
左是空返回
T
>
右是空返回
T
>
左是空返回
T
>
右是空返回
pre(T R);
先序序列:A B D C
T
T
T
T
Back
6
非递归算法
A
B
C
D
E
F
G
p
i
P->A
(1)
A
B
C
D
E
F
G
p
i
P->A
P->B
(2)
A
B
C
D
E
F
G
p
i
P->A
P->B
P->C
(3)
p=NULL
A
B
C
D
E
F
G
i
P->A
P->B
访问:C
(4)
7
p
A
B
C
D
E
F
G
i
P->A
访问:C B
(5)
A
B
C
D
E
F
G
i
P->A
P->D
访问:C B
p
(6)
A
B
C
D
E
F
G
i
P->A
P->D
P->E
访问:C B
p
(7)
A
B
C
D
E
F
G
i
P->A
P->D
访问:C B E
p
(8)
8
A
B
C
D
E
F
G
i
P->A
P->D
P->G
访问:C B E
P=NULL
(9)
A
B
C
D
E
F
G
i
P->A
访问:C B E G D
p
(11)
A
B
C
D
E
F
G
i
P->A
P->F
访问:C B E G D
p
(12)
A
B
C
D
E
F
G
i
P->A
P->D
访问:C B E G
p
(10)
9
A
B
C
D
E
F
G
i
P->A
访问:C B E G D F
p=NULL
(13)
A
B
C
D
E
F
G
i
访问:C B E G D F A
p
(14)
A
B
C
D
E
F
G
i
访问:C B E G D F A
p=NULL
(15)
返回目录
10

二叉树遍历(递归—非递归转换) 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数25
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mh900965
  • 文件大小611 KB
  • 时间2018-01-13
最近更新