树和二叉树的遍历

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

返回
pre(T R);
T
先序序列:A B D C
返回
非递归算法(中序周游) p
A
B
CD E F i P->A
G
(1)
p
A
B
CD EF
G
i P->B P->A (2)
A
p
B
CD
EF
G
i P->C P->B P->A
(3)
A
B
CD
i
p=NULL E F
G
(4)
P->C P->B P->A
A
B p
CD
❖中序周游 先中序周游左子树,然后访问根结点,最后中 序周游右子树
❖后序周游 先后序周游左、右子树,然后访问根结点
❖按层次周游 从上到下、从左到右访问各结点
D
L
R
LDR、LRD、DLR RDL、RLD、DRL
先序周游:
A
B D
D
L
R
A
D LR C
D LR
B
C
D LR
先序周游序列:A B D C D
递归算法 前序周游 中序周游 后序周游
void preorder(BiTree bt)
A
{ if(bt!=NULL)
{ printf("%d\t",bt->data); 左是空返回 B
C
preorder(bt->lchild);
左是空返回
preorder(bt->rchild); }
右是空返回 T
G (14)
i 访问:C B E G D F A
A
B
CD
E F i P->A
p=NULL
(13) G
访问:C B E G D F
A B p=NULL
CD
EF
i
G
(15)
访问:C B E G D F A
树的周游
❖先序(根)周游: 先访问树的根结点,然后依次先根周游根的每棵子树 ❖后序(根)周游: 先依次后根周游每棵子树,然后访问根结点 ❖后序(根)周游: 先依次后根周游每棵子树,然后访问根结点 ❖按层次周游: 先访问第一层上的结点,然后依次周游第二层,……
D
}
返回 左是空返回
TB
T D 右是空返回
主程序
TA printf(A);
printf(B); pre(T L);
printf(D); pre(T L);
T 返回
Pre( T )
pre(T L); pre(T R);
pre(T R); TC
pre(T R);
T 返回
printf(C);
T
pre(T L);
i P->B
EF
P->A
(5) G 访问:C
A
B
CD p=NULL E F
i P->B P->A
(5) G 访问:C
p
A
B
CD E F i P->A
(5) G 访问:C B
A
Bp
CD EF
i P->D P->A
(6) G 访问:C B
A
B
CD EF
p
i P->E P->D P->A
(7)
G 访问:C B
5.3 二叉树的周游
二叉树的周游
按照一定的顺序对二叉树的每一个结 点都访问一次(仅访问一次),得到一个 由该二叉树的所有结点组成的序列,这一 过程称为二叉树的周游.
常用二叉树的周游方法
二叉树的周游
先序周游 中序周游 后序周游 按层次周游







❖先序周游 先访问根结点,然后分别先序周游左子树、右 子树
第n层的结点
A
B
C
D
EFG
H
I
J K LM
NO
先序周游:ABEF I GCDHJ KLNOM 后序周游:EI FGB CJKN OLMHD A 层次周游:ABCDE FGHI J KLMNO
中序周游:
A
B
C
D
L
D
R
A
LD R
L DR
B
C
L DR
D
中序周游序列:B D A C
后序周游:
A
B
C
D
L
R
D
LR D
A L RD
B
C
L RD
D
后序周游序列: D B C A
-
+
a
*
/ ef
b
-
cd
先序周游: - + a * b - c d / e f 中序周游: a + b * c - d - e / f 后序周游: a b c d - * + e f / 层次周游: - + / a * e f b - c d
A
B
CD EF
i P->E P->D P->A
P=NULL
(7)
G
访问:C B
A
B
CD
i P->D
EF p
P->A
G 访问:C B E (8)
A
B
CD
i P->G P->D
EF
P->A
G p
ቤተ መጻሕፍቲ ባይዱ
访问:C B E (8)
A
A
B CD
EF
i P->G P->D P->A
B
CD
i P->D
EF
P->A
G P=NULL
访问:C B E (9)
G 访问:C B E G (10) p
A
A
B
Bp
CD EF
i P->D P->A
CD EF
i P->A
G P=NULL
访问:C B E G (10)
(11) G
访问:C B E G D
A
B
p CD
i EF
P->F P->A
(12) G 访问:C B E G D
p A
B
CD
EF
相关文档
最新文档