算法设计技能训练网络1121胡伟

算法设计技能训练网络1121胡伟

ID:26428388

大小:698.00 KB

页数:34页

时间:2018-11-26

算法设计技能训练网络1121胡伟_第1页
算法设计技能训练网络1121胡伟_第2页
算法设计技能训练网络1121胡伟_第3页
算法设计技能训练网络1121胡伟_第4页
算法设计技能训练网络1121胡伟_第5页
资源描述:

《算法设计技能训练网络1121胡伟》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、算法设计技能训练实习报告题目:汉诺威塔系(院):计算机工程学院专业:班级:网络1121学号:姓名:指导教师:学年学期:2013~2014学年第1学期2013年12月6日34算法设计技能训练任务书课题名称设计目的1、通过算法设计技能训练,深入理解算法设计的意义和重要性,更好地掌握算法设计的知识。2、能够针对某一具体问题,设计算法进行解决。3、锻炼实践动手能力,提高解决问题的能力。实验环境硬件:1、PC机,奔腾Ⅳ以上CPU,512MB以上内存,80G以上硬盘;软件:VisualC++编程工具任务要求1)界面友好,函数

2、功能要划分好2)总体设计应画——流程图3)程序要加必要的注释4)要提供程序测试方案5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。工作进度计划序号起止日期工作内容12013.12.2任务下达,查阅文献资料22013.12.2~2013.12.4总体设计、素材搜集、课题详细设计、调试32013.12.5~2013.12.6完善设计、撰写报告42013.12.6答辩指导教师(签章):年月日34摘要汉诺威塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了

3、三根金刚石柱子,在一根柱子上从下往上安大小顺序摞着64片黄金圆盘。上帝命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。所以,设计的目的是运用方法来移动盘子,使原有上小底大的一个柱子上的盘子,每次移动一个,且小盘子要放在大盘子的上面,移动到另一个柱子上,其中只能借助低三根柱子。通过C++语言来编写程序来实现至少5层的调整过程。功能:显示汉诺威塔的调整过程。实施:搭好框架,确定人机对话界面,确定函数个数,实行调整。(1)课题概述(课题的

4、来源,预期目标,面对要解决的问题和需要去解决的问题所用的方法)(2)需求分析(设计的思路,方案,以及功能)(3)设计思路与算法(4)运行结果(5)附录关键词汉诺威塔调整C++益智递归选择数据结构34目录引言51汉诺威塔的概述52需求分析72.1分支结构——if语句72.2分支结构——Switch语句82.4问题概述102.5三层的汉诺威塔演示103算法与代码123.1分析123.2代码与注释143.2.1Hanoi函数关于递归调整的代码:143.2.2自动移动的汉诺威塔函数可以根据输入的层数进行处理154运行结果

5、20总结22附录:23参考文献33指导教师评语3434引言汉诺威塔是一款集娱乐与运算的智力游戏,他不仅可以在闲时帮助我们度过美好的时光,还可以在玩的过程中锻炼我们的思维,开发你的思维。本课题的设计是为了解决n层汉诺威塔调整的解决方案,通过循环,选择,递归等算法来来构造不同的函数,主要的是调整,因此最主要的函数hanoi通过递归的方法来实现每层的调整,同时每层的移动也涉及了数组和if的选择,swith的选择。通过使用者输入汉诺威塔的层数,根据不同层数进行处理。来源:法国数学家爱德华·卢卡斯曾编写过一个印度的古老传说

6、:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片,不管在哪根针上,小片必须在大片上面。僧侣们预言,当所有的金片都从梵天穿好的那根针上移到另外一根针上时,世界就将在一声霹雳中消灭,而梵塔、庙宇和众生也都将同归于尽。[1]不管这个传说的可信度有多大,如果考虑一下把64片金片,由一根针上移到另一根针上,并且始终保持上小下大

7、的顺序。这需要多少次移动呢?这里需要递归的方法。假设有n片,移动次数是f(n).显然f(1)=1,f(2)=3,f(3)=7,且f(k+1)=2*f(k)+1。此后不难证明f(n)=2^n-1。n=64时,假如每秒钟一次,共需多长时间呢?一个平年365天有31536000秒,闰年366天有31622400秒,平均每年31556952秒,计算一下,1.844674407584554049253.855年这表明移完这些金片需要5845亿年以上,而地球存在至今不过45亿年,太阳系的预期寿命据说也就是数百亿年。真的过了5

8、845亿年,不说太阳系和银河系,至少地球上的一切生命,连同梵塔、庙宇等,都早已经灰飞烟灭。1汉诺威塔的概述1.1汉诺威塔及其调整的示意图如图1-1所示为初步设想的效果图34图1-11.2问题内容汉诺塔问题:这是一个古典的数学问题,是一个用递归方法解题的典型例子。问题是这样的:古代有一个梵塔,塔内有三个座A、B、C,开始时A座上有64个盘子,盘子的大小不等,大的在下,小的在

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。