数据结构之二叉树的遍历方法

二叉树的遍历方式

前序遍历:先(根)序遍历的递归算法定义:

若二叉树非空,则依次执行如下操作:

⑴ 访问根结点;

⑵ 遍历左子树;

⑶ 遍历右子树。

递归代码实现

procedure first(i:longint);

 

begin

 

write(a[i]);

 

ifa[i*2]<>0then first(i*2);

 

ifa[i*2+1]<>0then first(i*2+1);

 

end;

中序遍历:中(根)序遍历的递归算法定义:

若二叉树非空,则依次执行如下操作:

⑴遍历左子树;

⑵访问根结点;

⑶遍历右子树。

递归代码实现:

procedure mid(i:longint);

 

begin

 

if a[i*2]<>0 then mid(i*2);

 

write(a[i]);

 

if a[i*2+1]<>0 then mid(i*2+1);

 

end;


后序遍历:后(根)序遍历得递归算法定义:

若二叉树非空,则依次执行如下操作:

⑴遍历左子树;

⑵遍历右子树;

⑶访问根结点

递归算法实现

procedure last(i:longint);

 

begin

 

if a[i*2]<>0 then last(i*2);

 

if a[i*2+1]<>0 then last(i*2+1);

 

write(a[i]);

 

end;


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值