二叉树后序遍历非递归实现研究.pdfVIP

  • 0
  • 0
  • 约小于1千字
  • 约 6页
  • 2026-09-20 发布于北京
  • 举报

看了,因向仙姑道:“敢烦仙姑引我到那各司中游玩游玩,不知可使得?”仙

姑道:“此各司中皆贮的是普天之下所有的女子过去未来的簿册,尔凡眼尘

躯,先知的。”

二叉树

后序遍历:观察

deng@tsinghua.edu.cn

if(!x)return;

traverse(x-1c,visit);

traverse(x-rc,visit);

visit(x-data);

递归

⋄temtetypenameT,typenameVST

voidtraverse(BinNodePosi(T)x,VSTvisit){

\}//T(n)=T(a)+T(n-a-1)+O(1)=O(n)

应用:BinNode::size()+BinTree::updateHeight()

:不依赖递归机制,能否实现后序遍历?如何实现?效率如何?

难点

对左、右子树的递归遍历,都不是尾递归

解决方法

-找到第一个被的节点

-将其祖先及其右兄弟(若存在)用栈保存

这样,原问题就被分解为

-依次对若干棵右子树的遍历问题//“次”=?

于是,首先要解决的问题仍是

-后序遍历任一二叉树T时,首先被

文档评论(0)

1亿VIP精品文档

相关文档