二叉树遍历--遍历顺序推出二叉树结构

转载于:http://blog.csdn.net/tidelu77/article/details/3970075


由遍历序列得到二叉树

由前序遍历序列和中序遍历序列得到二叉树:

比如二叉树有七个节点(包括根)

1建立7*8的表格,将中序遍历序列写在最上一行。

2然后前序遍历序列的顺序将该节点写在2-8行(节点与中序序列在同一列)。

3然后从上到下连接,将某节点与该节点以下最高的左节点和最高右节点连接。

即得到二叉树。

例:

前序遍历序列:ABDECFG

中序遍历序列:DBEAFCG

D

B

E

A

F

C

G

 

 

 

A

 

 

 

 

B

 

 

 

 

 

D

 

 

 

 

 

 

 

 

E

 

 

 

 

 

 

 

 

 

C

 

 

 

 

 

F

 

 

 

 

 

 

 

 

G

 

 

 

 

A

 

 

 

 

B

 

 

 

 

 

D

 

 

 

 

 

 

 

 

E

 

 

 

 

 

 

 

 

 

C

 

 

 

 

 

F

 

 

 

 

 

 

 

 

G


由后序遍历序列和中序遍历序列得到二叉树:

1与(前序和中序1)相同。

2将后序遍历序列,按从后向前的顺序填表。

3同(前序和中序3)。

 

二叉树是满二叉树,由前序遍历序列和后序遍历序列得到二叉树:

比如二叉树有七个节点(包括根)

1建立7*8的表格,将后序遍历序列(前序遍历序列)写在最上一行。

2将前序遍历序列(后序遍历序列),按从前向后的顺序(从后向前的顺序)填表。注意:新加节点不能在任一已加节点的左下对角线(右下对角线)上,否则加一空列。

3将表格逆时针(顺时针)旋转45°。

4同(前序和中序3)。

得到二叉树。

例:

前序遍历序列:ABDECFG

后序遍历序列:DEBFGCA


D

E

B

F

G

C

A

 

 

 

 

 

 

A

 

 

B

 

 

 

 

D

 

 

 

 

 

 

 

E

 

 

 

 

 

 

 

 

 

 

C

 

 

 

 

F

 

 

 

 

 

 

 

G

 

 




  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值