共查询到10条相似文献,搜索用时 31 毫秒
1.
2.
使用非递归方式实现递归问题的算法程序,不仅可以节省存储空间,而且可以极大地提高算法程序的执行效率。本文给出了两种将递归问题的递归算法转换成非递归算法的有效方法,并以具体实例加以说明。 相似文献
3.
递归算法设计及效率分析 总被引:1,自引:0,他引:1
递归算法是非常常用和实用的程序设计方法,递归算法的效率问题值得去研究,给出针对递归算法的一般性分析方法:递推式计算法和递归调用树法,并通过实例加以说明。 相似文献
4.
庾佳 《电脑编程技巧与维护》2014,(12):7-8
递推和递归问题是计算机高级语言程序设计课程中的重点和难点。以简单实例"求自然数阶乘"问题为例,对递推和递归算法进行了探讨,重点分析了两者的编程思路和实现方法,并通过C程序进行了验证,旨在研究两者的区别和联系。 相似文献
5.
KMP算法中next数组的计算方法研究 总被引:2,自引:1,他引:1
汤亚玲 《计算机技术与发展》2009,19(6)
next数组的计算方法是KMP(Knuth-Morris-Pratt)算法的难点和核心.当前数据结构教材中普遍采用递推的方式来计算next数组值.文中给出一种新的采用递归思想设计的计算next数组的算法;并对当前数据结构教材中对next数组定义的其它一些改进方式进行了讨论与分析.实验数据表明,递归算法的思想正确;并且,从算法设计上考虑,采用递归方法设计的算法具有思路清晰、易于理解和分析的优点. 相似文献
6.
一种递归神经网络的快速并行算法 总被引:6,自引:0,他引:6
针对递归神经网络BP(Back Propagation)学习算法收敛慢的缺陷,提出一种新的递归神经网络快速并行学习算法.首先,引入递推预报误差(RPE)学习算法,并且证明了其稳定性;进一步地,为了克服RPE算法集中运算的不足,设计完整的并行结构算法.本算法将计算分配到神经网络中的每个神经元,完全符合神经网络的并行结构特点,也利于硬件实现.仿真结果表明,该算法比传统的递归BP学习算法具有更好的收敛性能.理论分析和仿真实验证明,该算法与RPE集中运算算法相比可以大大节省计算时间. 相似文献
7.
分划递推法及其应用 总被引:5,自引:1,他引:4
李云清 《计算机工程与应用》2001,37(17):77-79,88
分划递推法是一种新的算法设计技术。在分划递推法中使用逻辑符号和扩充的量词表示功能规约。分划是处理复杂问题的一般方法,而递推可用于循环不变式和算法设计开发。文中给出的三个实例呈现了使用分划递推法进行算法设计和开发的步骤和要点。 相似文献
8.
本文以Ackermann函数为例阐述了递归和递推在算法设计中的应用,以说明两种不同设计方法的编程效率和执行效率。文中的递传传值算法是计算Ackermann函数的 有效算之一。 相似文献
9.
赵东跃 《计算机应用与软件》2008,25(5):241-243
汉诺塔(Tower of Hanoi)问题是求在三个柱子之间移动圆盘的方法,它是递归程序设计的经典例子,已经证明其时间复杂度下限是O(2n),空间复杂度是O(n),实际使用时很容易溢出.给出汉诺塔问题的两个非递归算法:解集递推法和解集树法.解集递推法的时间复杂度和空间复杂度都是O(2n),该算法空间复杂度很大,无法实际使用,提出该算法的目的是为了引出解集树法.解集树法可以计算出指定的任意一步移动方法,时间复杂度和空间复杂度分别是O(n*2n)和O(1).并证明了汉诺塔问题的空间复杂度下限是O(1). 相似文献
10.
PAR方法基于分划与递推、量词变换规则、循环不变式开发新策略和软件转换工具,实现了复杂算法问题的形式化开发.采用PAR方法形式化推导几个典型的算法问题.通过量词变换规则对程序规约进行形式化推导,可以得到具有数学引用透明性、易于形式化证明的求解算法问题的递推关系;并在此基础上,自然地导出循环不变式.在得到简短、易于理解、高可靠性的Apla算法程序之后,通过转换工具自动生成Java,C 等可执行程序. 相似文献