遍历二叉树小结

二叉树将其分为根(B,base),左子树(L,left),右子树(R,right)表示。则遍历树就是遍历B,L和R的过程,对3个组件进行排列,实际有3*2*1=6种。

DLR,LDR,LRD

RLD,RDL,DRL

其本质类似。

默认情况,将L和R的顺序确定下来,先L后R。则只剩下3种常说的,先根,中根,后根。


递归的思路:递归就是自己调用自己,用同样办法解决子问题。

如先根遍历。对于每一个子树,都要先访问根,在递归访问访问左子树(根(根左右),左,右),递归访问右子树。

preorder(root r)

{

 if(r==null)//非法情况,同时也是返回条件

return

else

{

print(r)

preorder(r.left)

preorder(r.right)

}

}


中根和后根就是把上面的print放在中间或后面。


层序遍历是利用队列保存每个节点及其左右孩子的。不再赘述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值