首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 312 毫秒
1.
形式化开发Hanoi塔问题非递归算法   总被引:1,自引:0,他引:1       下载免费PDF全文
使用形式化方法PAR及循环不变式开发新策略,开发了Hanoi塔问题非递归算法,并对其进行了形式化地正确性证明。本文直接面向非递归算法,在得到求解Hanoi塔问题的循环不变式的同时,直接得到易读、高效且可靠的非递归算法。对使用形式化方法及循环不变式开发新策略开发非递归算法作了较深入的实践和探讨。  相似文献   

2.
提出了一种简单、统一的形式化开发非递归算法的方法.该方法直接面向非递归算法,在形式化方法PAR的指导下,使用循环不变式的开发新策略,在得到求解递归问题的循环不变式的同时,能直接得到易读、高效且可靠的非递归算法,并通过一个具体实例进行了阐述.对使用形式化方法及循环不变式开发新策略开发非递归算法的方法作了较深入的实践和探讨.  相似文献   

3.
形式化方法是构建可信软件的重要途径。Koch曲线是典型的分形图形。基于形式化方法PAR及循环不变式开发策略,开发了Koch曲线非递归算法,并对其进行了形式化的正确性证明。在得到求解Koch曲线算法的循环不变式的同时,直接得到易读、高效且可靠的非递归算法。对使用形式化方法及循环不变式开发策略开发分形程序非递归算法作了较深入的实践和探讨。  相似文献   

4.
程序设计中没有用到循环或递归算法,很难解决一些实际问题。本文以斐波那契(Fibonacci)数列为例对递归与循环算法的时间复杂度作了比较、分析。  相似文献   

5.
四、程序的交换在算法的设计方法中,递归是一种很重要的工具。然而在算法的程序实现中,递归程序的效率低于循环程序。而且有时候,由于设计者所容许采用的语言的限制,根本无法实现递归算法。因此,关于由递归程序变换成循环程序的理论,不但对编译技术,就是对程序方法论,也具有重要意义。  相似文献   

6.
数学上早已证明:所有的递归算法都可以转化为迭代或循环算法。本文从分析递归程序特点出发.讨论了怎样利用迭代和堆栈来消除程序中的递归,从而提高程序的执行效率。  相似文献   

7.
孔明棋是一种玩法简单,但其中变化无数的益智游戏。对孔明棋求解问题进行分析,提出了基于回溯思想的递归和非递归算法,运行结果表明了算法的有效性。文章还围绕栈在存储数据、消解递归等方面的应用对两个算法的优缺点进行了比较分析,递归算法结构清晰,但递归调用次数多;而非递归算法借助程序栈,将程序向循环转化,降低了时间复杂度,但算法难以分析和理解。因此在求解实际问题时可以采用递归思想来分析,然后借助栈用非递归来实现算法。  相似文献   

8.
如何在最短的时间内生成长度最短的对称循环请求集,是当前分布式计算乃至云计算必须解决的问题。提出了一种基于有限递归的最短长度对称循环请求集生成算法。该算法通过减少每一个递归层次的递归次数,在不增加请求集长度的情况下,能够有效地减少请求集生成过程中节点尝试的次数,从而有效地降低算法的时间复杂度,具有较高的实用价值。  相似文献   

9.
提出一种新的分布式互斥循环请求集生成算法。该算法采用折半加一与局部递归的方式,在不明显增加请求集长度的情况下,能至少降低WK算法50%的时间复杂度。在利用局部递归方式计算循环请求集时,如果系统节点数属于某分段的后半段,则设定其循环请求集长度下限为 +1。性能分析结果表明,该算法能够在规定时间内计算大规模分布式系统的循环请求集,具有较高的实用性。  相似文献   

10.
Hanoi塔非递归算法的形式化推导和正确性验证   总被引:1,自引:0,他引:1  
关于Hanoi塔问题的非递归算法已有大量的研究.运用薛锦云教授自创的PAR方法和循环不变式开发的新策略,形式化推导出逻辑结构清晰的Hanoi塔非递归算法及其循环不变式,并用Dijkstra最弱前置谓词法验证了该算法的正确性.充分体现了PAR方法的优越性、高效性和可靠性.  相似文献   

11.
汉诺塔非递归算法   总被引:1,自引:0,他引:1  
分析汉诺塔递归算法的特点,由递归算法,结合二叉树的中序遍历算法,提出汉诺塔二叉树的概念及创建方法,并证明汉诺塔二叉树特点。由此进一步导出兼顾时间效率与空间效率的非递归算法。最后,提供实现算法的C语言程序。  相似文献   

12.
在传统的教学中,教师往往通过反复地语言陈述以及大量的板图说明,仍很难使学生形象地理解递归过程。为此,以Hanoi塔递归算法为例,运用VC++6.0开发了一个动态演示程序。通过对Hanoi塔算法执行过程的动态演示,使学生能够直观、形象地掌握递归的实质。在实际的教学中取得了很好的效果。  相似文献   

13.
递归算法在理解上比较困难,是教学上的一个难点。如果老师能从递归思想的建立和递归程序执行过程两个方面去引导,学生更容易接受。通过一个典型实例对这两个方面进行了详细分析。  相似文献   

14.
递归是程序设计中一种重要的思想方法。递归算法代码量小、求解思路清晰,解决复杂问题的方案优雅而简洁,但递归算法难以掌握。结合实例以工作团队的视角进行递归算法设计,提出首先保证正确设计递归算法然后再分析递归执行过程的教学思路,在教学实践中取得良好效果。  相似文献   

15.
递归是程序设计中一种重要的思想方法。递归算法代码量小、求解思路清晰,解决复杂问题的方案优雅而简洁,但递归算法难以掌握。结合实例以工作团队的视角进行递归算法设计,提出首先保证正确设计递归算法然后再分析递归执行过程的教学思路,在教学实践中取得良好效果。  相似文献   

16.
递归算法在理解上比较困难,是教学上的一个难点。如果老师能从递归思想的建立和递归程序执行过程两个方面去引导,学生更容易接受。通过一个典型实例对这两个方面进行了详细分析。  相似文献   

17.
针对现有面向内容音乐信息近似检索算法的弊端,结合递归算法的特点,设计了一则基于递归的面向内容音乐信息近似检索算法;为配合该算法,设计了相应的基于R-tree树的音乐信息索引结构方案;经理论分析和对比实验结果,发现以递归来设计音乐信息近似检索算法,可得到较佳的检索效率。  相似文献   

18.
递归在计算机科学和数学中都是一个重要的问题求解工具,许多复杂问题的求解都可以用递归算法去解决,适当的使用递归算法可以简化复杂问题。该文通过具体的实例,讨论了递归算法的实现,并对递归算法进行了进一步的探讨。  相似文献   

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

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