首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
利用一种简易的回溯算法,给出Java语言实现N皇后问题的完整程序,并在程序中准确地统计程序运行的时间开销。  相似文献   

2.
利用回溯法,采用栈和队列实现计算N皇后解的一个新的非递归算法,并提出N皇后解的4个对称性质,重点分析5皇后的10个解之间的对称关系。然后利用对称性将搜索空间缩小为解空间的一半,给出计算N皇后问题的优化算法。理论分析和实验表明对称性可以明显提高N皇后问题的计算效率。  相似文献   

3.
采用回溯法解决八皇后问题,给出了逻辑结构清晰的递归算法和非递归算法,并用Java语言加以实现  相似文献   

4.
C语言的N皇后算法的优化设计   总被引:1,自引:0,他引:1  
N皇后问题是各类程序设计中的较著名的题目,本文利用C语言的知识,对N皇后问题的算法进行分析,并在程序设计的过程中,通过对算法的改进,提高程序的运行效率。  相似文献   

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

6.
回溯算法是基本的算法之一,其重要的思想是不断地用限界函数去测试正在构造的部分解向量,看是否导致合法解,回溯算法通常具有较高的时间复杂度,但对于至今除了穷尽搜索仍未找到其他的方法的问题,回溯算法是较为有效的方法.介绍了回溯算法,以及以经典的N皇后问题为例,讲解了用回溯算法求解问题,并分析了其空间复杂度,介绍了求解N皇后问题的改进回溯算法.  相似文献   

7.
位运算在N皇后问题中的应用   总被引:1,自引:0,他引:1       下载免费PDF全文
利用位操作运算的快速性,将位运算应用到N皇后问题的解决中,并给出了位运算求解N皇后问题的算法。该算法较好地提高了问题求解的速度。通过VC++环境实现,该算法比普通的递归回溯算法的速度平均提高了40倍左右。  相似文献   

8.
通过对N皇后问题棋盘矩阵的旋转,改进了回溯算法,并通过计算机集群并行实现了N皇后的计数问题。考虑了棋盘矩阵顺时针旋转90°、180°和270°部分解存在重复的特性,改进了回溯方法,单机能够在15s内对16皇后问题进行计数。改进回溯算法的运算效率是顺序回溯法的4.69倍。然后通过固定前三行皇后的位置,可以把N皇后问题分成多个任务,实现了并行计算。在7个节点28个CPU的计算机集群上进行了实验,能够在8min内实现对20皇后的计数,能够在1小时零8分钟内实现21皇后的计数。N皇后计数这个经典问题,通过实现程序的标准化,可以成为检验计算机集群运算性能的基准。  相似文献   

9.
N皇后问题的回溯算法改进   总被引:2,自引:0,他引:2  
回溯算法是解决N皇后问题的经典算法。在分析N皇后问题的解结构的基础上,优化了利用回溯法求解N皇后问题的解空间树,并改进了互不攻击的条件,大大地减少了比较次数和求解的复杂度,通过理论分析和实验证明了改进算法的可行性。  相似文献   

10.
迄今为止,已有多种基于不同理论的八皇后问题算法.本文提出一种类似筛法的新算法:在棋盘某一格放上一个皇后的同时划去经过这一格的纵、横、及正负45度线上的所有格位,或者说筛去这些格位;后来的皇后只能放在未被占据或划去的格位上;若所有的皇后都能放入一个格位,则得到了一个布局或一个解.依据这种思路容易制定一个N皇后问题的简洁算法.实验结果表明,筛法算法的效率大大高于经典的回溯法.  相似文献   

11.
对于八皇后问题,曾有许多人采用不同的程序设计语言和不同的算法加以解决,本文采用函数式程序设计语言Scheme的递归算法来解决八皇后的问题。  相似文献   

12.
八皇后问题是计算机科学中一个较经典的题目.本文提出用回溯法来解决八皇后问题,并给出了逻辑结构清晰、可读性强的递归算法,用C语言加以实现,得到了八皇后问题的12个真正不同的解.  相似文献   

13.
N皇后问题是一个比较传统的组合搜寻问题,也是人工智能领域的一个经典的搜寻实例。给出了对N皇后问题求全部解的基于启发式的和以空间换时间的快速算法思路及其实现,将之同一般的回溯算法进行了时间耗费的比较,证明了算法是较优的算法;并讨论了算法的时间和空间复杂性。在个人电脑上,求16皇后全部解只需12.2秒。  相似文献   

14.
N皇后问题是NP问题,以随机算法结合回溯求解该问题,能获得很好性能。算法性能与随机皇后数量的关系曲线呈U型。随机皇后数量须在宽度不大于20的特定范围内才能获得较好性能。100以内随n变大,最佳随机皇后数量从n-10到n-17缓慢变化。最佳随机皇后数量使算法能在常规时间内求解n>100的情况,远大于单纯回溯法求解规模30。由于回溯开销,提高随机算法性能的做法不能有效降低总用时。算法用时随n值递增的速度不断趋缓。  相似文献   

15.
在利用枚举求解著名的高斯8皇后问题基础上,分别应用回溯与递归设计求解一般n皇后问题,从而拓广了8皇后问题。  相似文献   

16.
N皇后问题是NP难题,一般求解的方法是回溯法。当问题规模较小时用回溯法能有效求解,但当问题规模较大时其求解时间消耗非常巨大。使用禁忌搜索算法来求解N皇后问题,用N皇后的冲突数为禁忌搜索算法的目标评价函数,通过实验得出结论:(1)使用禁忌搜索方法比使用回溯法更快速;(2)使用禁忌搜索方法更适合求解大规模棋盘的N皇后问题。同时提出了下一步需要完善和改进的地方。  相似文献   

17.
李志伟  曹阳  张凯 《福建电脑》2012,28(2):115-116
八皇后问题是一个古老而著名的问题,是回溯法的典型算法。对于八皇后问题的实现,如果结合动态的图形演示,则可以使算法的描述更形象、更生动,还可以辅助教师进行教学演示,可以产生良好的教学效果。  相似文献   

18.
该文对经典的汉诺塔问题进行了详细的分析,并用C语言实现。通过问题的具体实现,使学习者了解问题的全过程,推广到一般。  相似文献   

19.
8皇后问题是计算机算法设计领域里的经典问题。利用回溯算法和概率算法相结合的办法求解8皇后问题,通过实验分析第一次成功搜索到皇后位置的概率,以实验得出的数据为依据对现存的观点提出了质疑,并对实验数据进行了分析,肯定了本文数据的合理性。  相似文献   

20.
递归问题的非递归实现方法的应用研究   总被引:1,自引:0,他引:1  
使用非递归方式实现递归问题的算法程序,不仅可以节省存储空间,而且可以极大地提高算法程序的执行效率.本文将递归问题分成简单递归问题和复杂递归问题;简单递归问题的非递归实现采用递推技术加以求解,复杂递归问题则根据问题求解的特点采用两类非递归实现算法,使用栈加以实现.  相似文献   

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

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