搜索

遍历二叉树的递归程序详解

gecimao 发表于 2019-05-31 17:15 | 查看: | 回复:

  请问这段代码的执行步骤重点是递归调用那段最好每一步都写出来哪步哪个数据进栈,什么时候出栈,请明白人来给讲解一下。连题都看不懂的请一起等待答案。谢谢.重点是递归调用的部分,...

  请问这段代码的执行步骤 重点是递归调用那段 最好每一步都写出来 哪步哪个数据进栈,什么时候出栈,请明白人来给讲解一下。连题都看不懂的请一起等待答案。谢谢.重点是递归调用的部分,前面的结构就不用了。

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  }比如一颗完全二叉树,层次遍历为(A)(BC)(DEFG)(HIJKLMNO)按照这的先序遍历过程为:第一次调用,所以访问到A进入第一层递归访问以B为根结点的树(A的左子树),所以访问到B.进入第二层递归访问以D为根结点的树(B的左子树),.所以访问到D.进入第三层递归访问以H为根结点的树(D的左子树),.所以访问到H.进入第四层递归访问H的左子树,因为H是叶子结点(即左孩子指针P=NULL),返回第三层递归,再进入第四层递归访问H的右子树,因为H是叶子结点(即右孩子指针P=NULL),返回第三层递归.到这里H的左右子树访问完,退回到第二层递归.再进入第三层递归访问以I为根结点的树(D的右子树),所以访问到I进入第四层递归访问I的左子树,因为I是叶子结点(即左孩子指针P=NULL),返回第三层递归,再进入第四层递归访问I的右子树,因为I是叶子结点(即右孩子指针P=NULL),返回第三层递归.到这里I的左右子树访问完,退回到第二层递归.到这里D的左右子树访问完,退回到第一层递归.再进入第二层递归访问以E为根结点的树(B的右子树),.所以访问到E.这样依次下去.......最后访问到O

本文链接:http://windsorflowers.net/diguilicheng/247.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部