欢迎来到天天文库
浏览记录
ID:23184835
大小:66.50 KB
页数:11页
时间:2018-11-05
《汉诺塔实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、汉诺塔实验报告分治法之汉诺塔实验报告陕西师范大学实验报告课题名称算法分析与设计项目名称分治法汉诺塔问题学院计算机科学学院专业计算机科学与技术指导老师王小明小组人报告时间2013/11/28分治法之汉诺塔问题目录一、设计目的...........................................................................................................................3二、设计内容....................................................
2、.......................................................................31.任务描述.......................................................................................................................3i.汉诺塔问题简介......................................................................................
3、.................3ii.设计任务简介...........................................................................................................32.分治法算法的实现过程...............................................................................................4三、流程图.............................................
4、..................................................................................6四、测试结果...........................................................................................................................7五、总结............................................................................
5、.......................................................7附:程序源代码...............................................................................................................................7一、设计目的1、掌握分治法的思想;2、掌握分治法的典型问题,如汉诺塔问题以及其他问题;3、进一步多级调度的基本思想和算法设计方法;4、提高分析与解决问题的能力。二、设计内容1.任务描述i.汉诺塔问题简介在
6、世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神大梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片,不管在哪根针上,小片必须在大片上面。僧侣们预言,当所有的金片都从大梵天穿好的那根针上移到另外一根针上时,世界就将在一声霹雳中消灭,而梵塔、庙宇和众生也都将同归于尽。ii.设计任务简介其实算法非常简单,当盘子的个数为n时,移动的次数应等于2-1(有兴趣的可以自己证明试试看)。后来一位美国学者发现一种出人意料的简单方法,只要轮流进行两步操
7、作就可以了。首先把三根柱子按顺序排成品字型,把所有的圆盘按从大到小的顺序放在柱子A上,根据圆盘的数量确定柱子的排放顺序:若n为偶数,按顺时针方向依次摆放ABC;若n为奇数,按顺时针方向依次摆放ACB。(1)按顺时针方向把圆盘1从现在的柱子移动到下一根柱子,即当n为偶数时,若圆盘1在柱子A,则把它移动到B;若圆盘1在柱子B,则把它移动到C;若圆盘1在柱子C,则把它移动到A。(2)接着,把另外两根柱子上可以移动的圆盘移动到新的柱子上。即把非空柱子上的圆盘移动到空柱子上,当两根柱子都非
此文档下载收益归作者所有