1 2014/2015 学年第一学期《数据结构与算法课程设计》任务书一、课程设计目的数据结构与算法课程设计是 《数据结构与算法》 课程教学必不可缺的一个重要环节,它可加深学生对该课程所学内容的进一步的理解与巩固,是将计算机课程与实际问题相联接的关键步骤
通过课程设计,能够提高学生分析问题、解决问题,从而运用所学知识解决实际问题的能力,因而必须给予足够的重视
2 二、课程设计题目2
1 棋盘覆盖【间题描述】在一个 2k×2k 个方格组成的棋盘中,恰有一个方格与其它方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘
在棋盘覆盖问题中,要用图示的4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖
【基本要求】2 (1)输入 k以及特殊方格所在的行号dr 和特殊方格的列号 dc
(2)要求输出每一步用什么形态L型骨牌覆盖,覆盖后得到的棋盘图形
(3)如果输出的结果只是用矩阵表示则为良好,用图形表示则为优
【测试数据】【实现提示】使用分治策略,把棋盘划分成4个小棋盘,然后用一个 L型骨牌覆盖将这 4个小棋盘变为都具有特殊方格的棋盘
2 Hanoi 塔问题( *)【 问题描述】设a,b,c是三个塔座
开始时,在塔座a上有一叠共 n个圆盘,这些圆盘自下而上,由大到小地叠放在一起,各圆盘从小到大编号为1,2, ⋯,n ,要求将塔座 a上的这一叠圆盘移到塔座 b上,并仍按同样顺序叠置
在移动圆盘时应遵守以下移动规则:规则( 1)每次只能移动一个圆盘;规则( 2)任何时刻都部允许将较大的圆盘压在较小的圆盘之上;规则( 3)在满足移动规则( 1)和( 2)的前提下,可将圆盘移至a,b,c中任一塔座上
【基本要求】(1)设计出 Hannoi塔游戏,供用户玩;(2)提供正确的搬运方法
3 【实现说明】正确的搬运方法使用递归方法实现
【测试数据】