您的位置:首页 > 其它

遍历二叉树小结

2016-01-20 10:37 127 查看
二叉树将其分为根(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放在中间或后面。

层序遍历是利用队列保存每个节点及其左右孩子的。不再赘述。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: