- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
-《算法分析与设计》上机指导书
PAGE
PAGE 18
《算法分析与设计》实验指导书
(适用于计算机科学与技术、软件工程专业)
计算机科学与技术学院
软件教研室
2011-8
目 录 TOC \o 2-2 \u
实验一 算法分析 PAGEREF _Toc155621317 \h 3
实验二 分治策略 4
实验三 堆排序 5
实验四 动态规划 6
实验五 贪心算法 8
实验六 图算法1-基本图算法 10
实验七 图算法2-最小生成树和单源顶点最短路径 12
实验八 图算法3-所有点对最短路径 14
附录一 实验规范 15
实验一 算法分析
一、 实验目的及任务
1、使学生通过插入排序和合并排序的算法实现,理解算法的概念并且通过运行时间比较其时间复杂度。2、体会合并排序的分治方法的三个步骤:分解、递归求解和合并。3、了解渐近记号的意义和初步分析算法复杂性。
二、 实验环境
c++或java或Turbo c
三、 问题描述
Input: A sequence of n numbers a1, a2, . . .,an.
Output: A permutation (reordering) a1’, a2’, . . .,an’ of the input sequence such that a1’?a2’ ? . . . ?an’
四、 编程任务
给定长度为n的一个序列,对其进行插入排序和合并排序
五、 数据输入
随机产生10000以上的数据,放入输入文件input.txt,用来进行排序
六、 结果输出
排序后的结果和两种排序算法的运行时间输出到文件output.txt
七、 实验报告内容
见《算法分析与设计》实验规范。
实验二 分治策略
一、 实验目的及任务
1、掌握递归和分治策略的概念和基本思想,分析并掌握“快速排序”问题的分治算法;2、分治算法思想解决median问题。
二、 实验环境
c++或java或Turbo c
三、 问题描述
(1) Input: A sequence of n numbers a1, a2, . . .,an.
Output: A permutation (reordering) a1’, a2’, . . .,an’ of the input sequence such that a1’?a2’ ? . . . ?an’
(2) Input: A set A of n (distinct) numbers and a number i, with 1 ≤ i ≤ n.
Output: The element x∈ A that is larger than exactly i - 1 other elements of A.
四、 编程任务
给定长度为n的一个序列,对其??行快速排序和求第i小数
五、 数据输入
A=13,19,9,5,12,8,7,4,11,2,6,21
六、 结果输出
将排序结果输出到文件output.txt。如果不存在所要求的第i小数,则输出-1。
七、 实验报告内容
见《算法分析与设计》实验规范。
实验三 堆排序
一、 实验目的及任务
1、了解堆的性质; 2利用堆构成一个优先队列,并实现相关的函数功能; 3为图算法做好准备。
二、 实验环境
c++或java或Turbo c
三、 问题描述
A priority queue is a data structure for maintaining a set S of elements, each with an associated value called a key. A max-priority queue supports the following operations.
. INSERT(S, x) inserts the element x into the set S. This operation could be written as S← S ∪ {x}.
. MAXIMUM(S) returns the element of S with the largest key.
. EXTRACT-MAX(S) removes and returns the element of S with the largest key.
. INCREASE-KEY(S, x, k) increases the value of element xs key to the new value k,
which is assum
文档评论(0)