算法设计--王茂林.docx

算法设计--王茂林

实验一 递归与分治 姓 名:王 茂 林 班 级:信 息 1411 学 号:2014125104指导老师:潘 老 师实验目的:理解递归与分治算法设计思想和方法。实验课时:4学时实验原理:一个规模为n的复杂问题的求解:可以划分成若干个规模较小n的子问题进行求解,再将子问题的解合并成原问题的解,这便是分治的思想。若划分成的每一个子问题都与原问题的性质相同,可用相同的求解方法;当子问题规模划分一定小时,子问题的解已知,则逆求原问题的解,这是递归的思想。实验题目:1、汉诺塔(hanoi)问题。设有 A、B、 C 共 3 根塔座, 在塔座 A 上堆叠 n个金盘, 每个盘大小不同, 只允许小盘在大盘之上,最底层的盘最大,如下图 所示。现在要求将 A 上的盘全都移到 C 上,在移的过程中要遵循以下原则:每次只能移动 一个盘;圆盘可以插在 A、B 和 C 任一个塔座上;在任何时刻,大盘不能放在小盘的上面。hanoi问题递归求解思想:我们把一个规模为n的hanoi问题:1到n号盘按照移动规则从A上借助B移到C上表示为H(A,B,C,n);原问题划分成如下三个子问题:(1)将1到n-1号盘按照移动规则从A上借助C移到B上H(A,C,B,n-1);(2)将n号盘从A上直接移到C上;(3)将1到n-1号盘按照移动规则从B上借助A移到C上H(B,A,C,n-1);经过三个子问题求解,原问题的也即求解完成。ha

文档评论(0)

1亿VIP精品文档

相关文档