共查询到20条相似文献,搜索用时 15 毫秒
1.
针对二叉树的链式存储结构,分析了二叉树的各种遍历算法,探讨了递归算法的递推消除问题,提出了一种改进的非递归遍历算法并用C语言予以实现。 相似文献
2.
李彦 《数字社区&智能家居》2011,(24):5941-5942
二叉树是数据结构中最常见的一种存储形式,而遍历二叉树又是二叉树中最重要的操作.该文分别以递归和非递归两种不同的算法来分析遍历二叉树的过程,旨在用简单明了的方法来实现二叉树的遍历,且先序、中序、后序三种遍历方式都可通过这两种算法实现. 相似文献
3.
李彦 《数字社区&智能家居》2011,(8X):5941-5942
二叉树是数据结构中最常见的一种存储形式,而遍历二叉树又是二叉树中最重要的操作。该文分别以递归和非递归两种不同的算法来分析遍历二叉树的过程,旨在用简单明了的方法来实现二叉树的遍历,且先序、中序、后序三种遍历方式都可通过这两种算法实现。 相似文献
4.
递归是C语言教学中的重点和难点,其教学方法对学生正确理解和应用递归解决实际问题是一个关键.借助做游戏的方式展开递归的教学,可使教学难点变得有趣和易于被学生接受. 相似文献
5.
6.
张荣梅 《电脑编程技巧与维护》2012,(24):4-5,13
给出了深度优先周游二叉树的前序、中序、后序的3种递归算法,在分析了周游二叉树的递归算法中的工作栈的执行过程的基础上,设计了先序、中序、后序周游二叉树的非递归算法,对深度优先周游二叉树算法的性能进行了分析。 相似文献
7.
二叉树遍历的非递归算法 总被引:2,自引:0,他引:2
本文对<数据结构>课程的重点和难点内容之一:二叉树遍历的非递归算法进行了研究,提出了一个系统化公式化的解决方案,并给出了用C 语言描述的先序、中序和后序遍历非递归算法的具体实现. 相似文献
8.
陈文 《数字社区&智能家居》2009,(18)
二叉树的遍历操作和其它操作的算法实现,都必须先创建二叉树。分析常规创建二叉树方法的特点和不足,给出利用中序遍历和后序遍历结果还原二叉树的算法,利用这一方法,给出由前序遍历和后序遍历还原二叉树的算法,最后,提供利用次层遍历和中序遍历还原二叉树的算法。 相似文献
9.
二叉树后序遍历的非递归算法 总被引:1,自引:0,他引:1
从示范二叉树的后序遍历入手,得出二叉树后序遍历递归算法的执行过程以及工作栈的变化情况,从中分析与总结,得出二又树后序遍历的实质.从对二叉树后序遍历实质的进一步分析,得出两个特征,其一,当栈指针为空时,判断其是左子树还是右子树,来做出不同的处理;其二,从出栈结点是第一次出栈还是第二次出栈来决定是否访问该结点.从而得出二叉树后序遍历的两种非递归算法.最后,通过分析,对第二种算法再进行改进. 相似文献
10.
建立与遍历一棵二叉树历来为数据结构中不可缺少的内容.由于C语言仅有单向的"值传递",所以多年来数据结构皆使用指针函数来编程,进而增加了复杂性.本文了构造一个用递归函数建立二叉树的C语言程序,使实参不仅传递数值还可以传递其地址. 相似文献
11.
目前,大多数《数据结构》教材在提到二叉树后序遍历非递归算法时,都要求树中每个结点两次进栈和出栈才能被访问,因此算法效率不高.针对该问题,文章提出了一种新的二叉树后序遍历非递归算法.与教材给出的算法相比,所提算法不需要设置\"退栈标记\",且每个结点只需一次进栈和出栈,因此所提算法的时空效率优于教材中的算法.最后,本文通过实... 相似文献
12.
LUO Shuai 《数字社区&智能家居》2008,(4)
对二叉树的遍历过程进行了深入的分析,根据二叉树三种遍历的内在关系给出了求先序序列、中序序列和后序序列的非递归算法,该算法只需对二叉树遍历一次即可求出三种遍历序列。 相似文献
13.
罗帅 《数字社区&智能家居》2008,(2):678-680
对二叉树的遍历过程进行了深入的分析,根据二叉树三种遍历的内在关系给出了求先序序列、中序序列和后序序列的非递归算法,该算法只需对二叉树遍历一次即可求出三种遍历序列。 相似文献
14.
尹帮治 《数字社区&智能家居》2008,(7):132-134
对二叉树先序遍历、中序遍历和后序遍历递归算法进行了分析,给出了三种遍历方法的通用递归算法。该算法只需对二叉树遍历一次,对每个结点的值域(Data)访问三次即可求出三种遍历序列。 相似文献
15.
YIN Bang-zhi 《数字社区&智能家居》2008,(19)
对二叉树先序遍历、中序遍历和后序遍历递归算法进行了分析,给出了三种遍历方法的通用递归算法。该算法只需对二叉树遍历一次,对每个结点的值域(Data)访问三次即可求出三种遍历序列。 相似文献
16.
黄春艳 《电脑编程技巧与维护》2014,(4):95-96,100
在用C语言进行项目实践的时候经常会遇到算法的设计问题,算法设计的好坏以及效率的高低直接影响和决定着项目实践的成败,因此,算法设计是解决问题的核心和关键。在诸多算法当中,递归是一种比较另类和难于理解的算法,但由于它的强大功能,在进行项目实践和应用程序开发时常常采用递归算法来解决问题。尝试通过详述几个典型项目的求解过程,探索递归算法的使用方法和技巧,提高使用C语言程序设计解决实际问题的能力。 相似文献
17.
二叉树作为数据结构中的一个重要的部分,有着广泛的应用,其中二叉树的遍历是二叉树操作的根本。文中通过分析二叉树的中序遍历过程,结合栈的先进后出特点,归纳出二叉树的中序遍历非递归算法。 相似文献
18.
递归算法的非递归化研究 总被引:7,自引:0,他引:7
1 引言在工程实际中,有许多概念是用递归来定义的,数学中的许多函数也用递归来表达。一个递归算法的执行过程类似于多个函数的嵌套调用,只是主调函数和被调函数是同一个函数而已,在执行过程中,信息的传递和控制的转移必须通过栈来实现,这就导致空间耗费大,执行效率较低,尤其是当递归深度较深时,不但耗费的空间大而且执行的效率也相当低,这是递归算 相似文献
19.
利用一种简易的递归回溯算法,给出C语言实现N皇后问题的伪代码和完整程序,并在程序中准确地显示出皇后的各种摆法.程序逻辑清晰,结构明了,便于理解掌握,对于学习C语言编程具有很好的帮助促进作用. 相似文献