算法设计与分析- 分治策略实验

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验3 分治策略实验

实验内容

1. 二分搜索。分别使用非递归算法和递归算法实现二分搜索。【输入:一个一维整型数组和一个待查询的值;输出:待查询值所在的位置,如果没有找到,则返回-1。】

2. 棋盘覆盖问题。编写一个程序,使用分治法实现棋盘覆盖问题,输入一个包含特殊方格的棋盘矩阵(使用二维整型数组表示),输出覆盖之后的矩阵。

输入格式示例如下:

-1 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

输出格式示例如下:

-1 2 4 4

2 2 1 4

3 1 1 5

3 3 5 5

其中“-1”表示特殊方格。

3. 归并排序。编写一个程序,使用递归和分治策略实现二路归并排序。【输入:一个一维整型数组;输出:排序之后的一维整型数组】

4. 伪币识别问题。一个袋子中装有256枚金币,其中有一枚是伪币,且已知伪币比真的金币要轻。现在给你一架天平,如何快速找出那枚伪币?使用分治策略来对该问题进行求解,设计并实现相应的分治算法。

说明:

(1) 编程语言不限,建议使用Java、C++或者C语言。

(2) 需要将程序源代码复制并粘贴到每道题之后的方框中(部分题需要填写输出结果)。

(3) 在提交实验报告时,先关闭所有文件,再将文件名改为“学号-3.doc”;将实验报告在指定时间之前由学习委员收集整理后统一发送至邮箱weiliu_china@。

相关文档
最新文档