- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《算法分析与设计》实验教学大纲.doc
《算法分析与设计》实验教学大纲
课程编号:
课程名称:算法分析与设计
英文名称:Algorithm Analysis and Design
适应专业:软件工程
执 笔 人:实验教材(指导书):王晓东,计算机算法设计与分析,电子工业出版社,2007
主要参考书目:
张铭、刘晓丹译 电子工业出版社出版的《数据结构与算法分析》
徐士良主编 清华大学出版社出版的《计算机常用算法》第二版
卢开澄主编 清华大学出版社出版的《计算机指导引论-设计与分析》
????????????????????????????
一、实验学时
总学时:48? 总学分:3? 实验学时:10
?二、实验课的任务、性质与目的
本课程的主要目的是研究计算机领域及其它有关领域中的主要算法设计方法及一些常用算法,使学生掌握算法设计的常用方法,以便运用这些方法来设计解决一些常用的或较为复杂的实际问题的算法,并力争做到快捷、有效,从而提高程序设计的质量。同时,还要使学生学会分析算法、估计算法的复杂性,以便理解并科学评估有一个算法的好坏。它属于技术基础课,是进行软件设计的核心内容,是一门实践性很强的课程。学生应具有C或C++、数据结构的基础知识。
三、实验内容
(1)分治策略算法(4学时)
实验内容:用分治法实现快速排序、归并分类算法;编写程序实现循环赛日程表。设有n=2k个运动员要进行网球循环赛。现要设计一个满足以下要求的比赛日程表:(1)每个选手必须与其它n-1个选手各赛一次(2)每个选手一天只能赛一场(3)循环赛进行n-1天。
实验要求:掌握递归算法实现的过程;了解快速排序算法的思想,掌握用算法设计思想解题的思路。
(2)贪心算法(2学时)
实验内容:编写一个简单的程序,实现单源最短路径问题;编写一段程序,实现找零;编写程序实现多机调度问题。
实验要求:掌握贪心算法的基本设计思路,并用其解决实际问题。
(3)动态规划算法(2学时)
实验内容:编写一个简单的程序,解决0-1背包问题;编程解决合唱队形安排。
实验要求:掌握动态规划算法设计的基本策略。
(4)回溯算法(2学时)
实验内容:用回溯法解8皇后问题;批处理作业调度。
实验要求:掌握回溯法的算法框架和算法的基本思想。?
四、实验要求
(1)学生在完成预习报告、熟悉实验内容后才能进入实验室进行上机实验。实验1人一组,由学生独立操作完成实验。
(2)学生分析问题,熟悉解决问题的算法描述。要求记录上机实验过程,且得到指导教师认可后,学生方可离开实验室。
(3)实验完成后提交实验报告。
(4)实验过程由指导老师监督,听从老师安排和督导。
?五、实验项目的设置与内容提要??序号 实验项目名称 内容
提要 1 分治策略算法 用分治策略解决排序等问题。 2 贪心算法 必做 掌握贪心算法的基本设计思路,并用其解决实际问题。 3 动态规划算法 掌握动态规划算法设计的基本策略。 4 回溯算法 掌握回溯算法的基本思想。 ?六、考核方式
(1)每次任务完成后由指导老师逐个的检查实验内容、结果并评分,占实验成绩60%。
(2)上机考勤评分,占实验成绩10%。
(3)实验报告占实验成绩30%。
实验一 排序问题求解
实验目的
1)以排序(分类)问题为例,掌握分治法的基本设计策略。
2)熟练掌握一般插入排序算法的实现;
3)熟练掌握快速排序算法的实现;
4) 理解常见的算法经验分析方法;
实验环境
计算机、C语言程序设计环境
实验学时
学时,必做实验。
实验内容与步骤
生成实验数据.
要求:编写一个函数datagenetare,生成2000个在区间[1,10000]上的随机整数,并将这些数输出到外部文件data.txt中。这些数作为后面算法的实验数据。
实现直接插入排序算法.
要求:实现insertionsort算法。
算法的输入是data.txt;
输出记录为文件:resultsIS.txt;同时记录运行时间为TimeIS。
直接插入算法思想:
Procedure insertionsort(A,n)
A(0)=-(
for j=2 to n do
item=A(j); i=j-1
while itemA(i) do
A(i+1)=A(i); i=i-1
repeat
A(i+1)=item
repeat
End insertionsort
实现快速排序算法.
要求:实现QuickSort 算法。
算法的输入是data.txt;
输出记录为文件:resultsQS.txt;同时记录运行时间为TimeQS。
快速排序算法思想:
Procedure QuickSort(p,q)
integer p,q;global n,A(1:n)
if p q th
文档评论(0)