首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
针对二叉树的链式存储结构,分析了二叉树的各种遍历算法,探讨了递归算法的递推消除问题,提出了一种改进的非递归遍历算法并用C语言予以实现。  相似文献   

2.
二叉树是数据结构中最常见的一种存储形式,而遍历二叉树又是二叉树中最重要的操作.该文分别以递归和非递归两种不同的算法来分析遍历二叉树的过程,旨在用简单明了的方法来实现二叉树的遍历,且先序、中序、后序三种遍历方式都可通过这两种算法实现.  相似文献   

3.
二叉树是数据结构中最常见的一种存储形式,而遍历二叉树又是二叉树中最重要的操作。该文分别以递归和非递归两种不同的算法来分析遍历二叉树的过程,旨在用简单明了的方法来实现二叉树的遍历,且先序、中序、后序三种遍历方式都可通过这两种算法实现。  相似文献   

4.
递归是C语言教学中的重点和难点,其教学方法对学生正确理解和应用递归解决实际问题是一个关键.借助做游戏的方式展开递归的教学,可使教学难点变得有趣和易于被学生接受.  相似文献   

5.
针对抽象而简洁的递归算法,进行递归概念诠释,由浅入深、深入细致地通过经典的具有递归性质的算例对递归算法进行分析探讨,用C语言实现了递归算法的深入剖析。  相似文献   

6.
给出了深度优先周游二叉树的前序、中序、后序的3种递归算法,在分析了周游二叉树的递归算法中的工作栈的执行过程的基础上,设计了先序、中序、后序周游二叉树的非递归算法,对深度优先周游二叉树算法的性能进行了分析。  相似文献   

7.
二叉树遍历的非递归算法   总被引:2,自引:0,他引:2  
本文对<数据结构>课程的重点和难点内容之一:二叉树遍历的非递归算法进行了研究,提出了一个系统化公式化的解决方案,并给出了用C 语言描述的先序、中序和后序遍历非递归算法的具体实现.  相似文献   

8.
二叉树的遍历操作和其它操作的算法实现,都必须先创建二叉树。分析常规创建二叉树方法的特点和不足,给出利用中序遍历和后序遍历结果还原二叉树的算法,利用这一方法,给出由前序遍历和后序遍历还原二叉树的算法,最后,提供利用次层遍历和中序遍历还原二叉树的算法。  相似文献   

9.
二叉树后序遍历的非递归算法   总被引:1,自引:0,他引:1  
从示范二叉树的后序遍历入手,得出二叉树后序遍历递归算法的执行过程以及工作栈的变化情况,从中分析与总结,得出二又树后序遍历的实质.从对二叉树后序遍历实质的进一步分析,得出两个特征,其一,当栈指针为空时,判断其是左子树还是右子树,来做出不同的处理;其二,从出栈结点是第一次出栈还是第二次出栈来决定是否访问该结点.从而得出二叉树后序遍历的两种非递归算法.最后,通过分析,对第二种算法再进行改进.  相似文献   

10.
张欢枝 《福建电脑》2007,(8):126-127
建立与遍历一棵二叉树历来为数据结构中不可缺少的内容.由于C语言仅有单向的"值传递",所以多年来数据结构皆使用指针函数来编程,进而增加了复杂性.本文了构造一个用递归函数建立二叉树的C语言程序,使实参不仅传递数值还可以传递其地址.  相似文献   

11.
目前,大多数《数据结构》教材在提到二叉树后序遍历非递归算法时,都要求树中每个结点两次进栈和出栈才能被访问,因此算法效率不高.针对该问题,文章提出了一种新的二叉树后序遍历非递归算法.与教材给出的算法相比,所提算法不需要设置\"退栈标记\",且每个结点只需一次进栈和出栈,因此所提算法的时空效率优于教材中的算法.最后,本文通过实...  相似文献   

12.
对二叉树的遍历过程进行了深入的分析,根据二叉树三种遍历的内在关系给出了求先序序列、中序序列和后序序列的非递归算法,该算法只需对二叉树遍历一次即可求出三种遍历序列。  相似文献   

13.
对二叉树的遍历过程进行了深入的分析,根据二叉树三种遍历的内在关系给出了求先序序列、中序序列和后序序列的非递归算法,该算法只需对二叉树遍历一次即可求出三种遍历序列。  相似文献   

14.
对二叉树先序遍历、中序遍历和后序遍历递归算法进行了分析,给出了三种遍历方法的通用递归算法。该算法只需对二叉树遍历一次,对每个结点的值域(Data)访问三次即可求出三种遍历序列。  相似文献   

15.
对二叉树先序遍历、中序遍历和后序遍历递归算法进行了分析,给出了三种遍历方法的通用递归算法。该算法只需对二叉树遍历一次,对每个结点的值域(Data)访问三次即可求出三种遍历序列。  相似文献   

16.
在用C语言进行项目实践的时候经常会遇到算法的设计问题,算法设计的好坏以及效率的高低直接影响和决定着项目实践的成败,因此,算法设计是解决问题的核心和关键。在诸多算法当中,递归是一种比较另类和难于理解的算法,但由于它的强大功能,在进行项目实践和应用程序开发时常常采用递归算法来解决问题。尝试通过详述几个典型项目的求解过程,探索递归算法的使用方法和技巧,提高使用C语言程序设计解决实际问题的能力。  相似文献   

17.
于洋 《福建电脑》2013,(9):164-165
二叉树作为数据结构中的一个重要的部分,有着广泛的应用,其中二叉树的遍历是二叉树操作的根本。文中通过分析二叉树的中序遍历过程,结合栈的先进后出特点,归纳出二叉树的中序遍历非递归算法。  相似文献   

18.
递归算法的非递归化研究   总被引:7,自引:0,他引:7  
孟林 《计算机科学》2001,28(8):96-98
1 引言在工程实际中,有许多概念是用递归来定义的,数学中的许多函数也用递归来表达。一个递归算法的执行过程类似于多个函数的嵌套调用,只是主调函数和被调函数是同一个函数而已,在执行过程中,信息的传递和控制的转移必须通过栈来实现,这就导致空间耗费大,执行效率较低,尤其是当递归深度较深时,不但耗费的空间大而且执行的效率也相当低,这是递归算  相似文献   

19.
利用一种简易的递归回溯算法,给出C语言实现N皇后问题的伪代码和完整程序,并在程序中准确地显示出皇后的各种摆法.程序逻辑清晰,结构明了,便于理解掌握,对于学习C语言编程具有很好的帮助促进作用.  相似文献   

20.
二叉树的绘制算法   总被引:3,自引:1,他引:3  
本文对如何绘制一棵已生成的二叉树,即如何在屏幕上显示二叉树进行了探讨,对可能出现的问题进行了分析,并给出了一个可行的算法。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号