算法设计技巧与分析课后习题答案沙特
【篇一:高级算法设计实验指导书2009(李淑琴)】
=txt>一、适用专业
计算机科学与技术专业研究生
二、实验目的与任务
算法分析与设计是计算机科学与技术专业本科学生第八学期专业选修课程。实验课的目的是通过对一些常见而有代表性算法的上机实践,使学生理解和掌握算法设计的主要方法,培养学生对算法复杂性进行正确分析的能力,从而为独立地设计算法和对给定算法进行复杂性分析奠定坚实的基础。
三、实验内容安排
实验一 数据的排序算法比较
(一)、实验目的
1. 通过上机实践,进一步理解、掌握几种著名的数据排序算法;
2. 对排序算法的时间复杂性学会比较、分析。
(二)、实验内容及要求
(1) 从已学过的内部排序算法中至少选择4种算法,比较这四种算法的关键字
移动次数以及比较次数。
(2) 待排序数据用随机数产生程序产生。
(3) 数据表的长度不小于100000,并且至少用五组不同的输入数据作比较。
(4) 最后对结果作出简单分析,包括对各组数据得出结果波动大小的解释。
(三)、实验步骤
1.
2.
3.
4.
5. 对于以上题目要认真分析和理解题意,设计出算法; 详细写出正确的高级语言源程序; 上机录入并调试程序; 请指导教师审查程序和运行结果并评定成绩; 撰写并上交实验报告。
(四)、实验报告内容
1. 班级、学号、姓名、实验日期;
2. 实验题目;
3. 对于实验题目的理解与说明;
4. 程序功能与框架;
5. 设计说明(存储结构、特别构思等);
6. 调试报告(调试过程中遇到的问题及如何解决此问题,程序设计的得失,对于
改进程序的设想、经验、体会等);
7. 对算法进行比较分析;
8. 附录:源程序清单(加必要的注释)、测试数据及运行结果。
(五)、 实验成绩考核方法
实验成绩由实验结果、问题回答以及实验报告综合评定。
实验二 递归与分治策略
(一)、实验目的
通过编程实现递归与分治策略的有关算法,理解递归与分治策略算法的原理,掌握递归与分治策略基本思想与应用技巧。
(二)、实验内容及要求
实验内容
给定平面上的至少n个点(n〉=20),出其中的一对点,使得在n个点组成的所有点对中,该点对间的距离最小。
实验要求
1. 参照教材中给出的最接近点对问题算法的部分程序代码。完善程序,实现该算
法。
2. 结果显示出具体的距离最小的两个点坐标以及最小距离值。
(三)、实验步骤
1.对于以上题目要认真分析和理解题意,设计出算法;
2.详细写出正确的高级语言源程序;
3.上机录入并调试程序;
4.请指导教师审查程序和运行结果并评定成绩;
5.撰写并上交实验报告。
(四)、实验报告内容
1. 班级、学号、姓名、实验日期;
2. 实验题目;
3. 对于实验题目的理解与说明;
4. 程序功能与框架;
5. 设计说明(存储结构、特别构思等);
6. 调试报告(调试过程中遇到的问题及如何解决此问题,程序设计的得失,对于改进程序的设想、经验、体会等);
7. 对算法的时间复杂性进行分析;
8. 附录:源程序清单(加必要的注释)、测试数据及运行结果。
(五)、实验成绩考核方法
实验成绩由实验结果、问题回答以及实验报告综合评定。
实验三 动态规划
(一)、实验目的
通过编程实现动态规划的有关算法,理解动态规划的原理,掌握动态规划基本思想与应用技巧。
(二)、实验题目与要求:
实验题目: 若城市路径示意图如下图所示,
图中,每条边上的数字是这段道路的长度。条件:从a地出发,只允许向右或向上走。试寻一条从a地到b地的最短路径和长度。
实验要求:
1. 理解动态规划算法的原理,认真阅读题目。完善程序,实现该算法;
2. 结果具体显示出最短路径和最短距离长度。
(三)、实验步骤
1.
2.
3.
4.
5. 对于以上题目要认真分析和理解题意,设计出算法; 详细写出正确的高级语言源程序; 上机录入并调试程序; 请指导教师审查程序和运行结果并评定成绩; 撰写并上交实验报告。
(四)、实验报告内容
1. 班级、学号、姓名、实验日期;
2. 实验题目;
3. 对于实验题目的理解与说明;
4. 程序功能与框架;
5. 设计说明(存储结构、特别构思等);
6. 调试报告(调试过程中遇到的问题及如何解决此问题,程序设计的得失,对于改进程序的设想、经验、体会等);
7. 对算法的时间复杂性进行分析;
8. 附录:源程序清单(加必要的注释)、测试数据及运行结果。
(五)、实验成绩考核方法
实验成绩由实验结果、问题回答以及实验报告综合评定。
c语言程序设计教材答案 实验四 分支界限算法
(一)、实验目的
通过编程实现有关的分支界限算法,理解分支界限算法的原理,掌握分支界限算法基本思想与应用技巧。
(二)、实验题目与要求
实验题目:
旅行商问题。给出一个城市的集合和一个定义在每一对城市间的耗费函数,出耗费最小的旅行。
实验要求:
1.
2. 理解分支界限算法的原理,编写程序实现相应算法。 明确显示出运行结果;
(三)、实验步骤
1.
2.
3.
4.
5. 对于以上题目要认真分析和理解题意,设计出算法; 详细写出正确的高级语言源程序; 上机录入并调试程序; 请指导教师审查程序和运行结果并评定成绩; 撰写并上交实验报告。
(四)、实验报告内容
1.
2.
3.
4.
5.
6. 班级、学号、姓名、实验日期; 实验题目; 对于实验题目的理解与说明; 程序功能与框架; 设计说明(存储结构、特别构思等); 调试报告(调试过程中遇到的问题及如何解决此问题,程序设计的得失,对于
改进程序的设想、经验、体会等);
7. 对算法的时间复杂性进行分析;
8. 附录:源程序清单(加必要的注释)、测试数据及运行结果。
(五)、实验成绩考核方法
实验成绩由实验结果、问题回答以及实验报告综合评定。
四、主要参考书
1. 算法设计技巧与分析 [沙特]m.h.alsuwaiyel著 吴伟 方世昌等译电子工
2. 3. 4. 5. 6. 7. 业出版社 算法设计与分析郑宗汉 郑晓明清华大学出版社 数据结构习题集严蔚敏 吴伟民 米宁清华大学出版社 计算机算法基础余祥宣等 华中理工大学出版社 计算机算法:设计与分析引论 [美]s.巴斯著 朱洪等译 复旦大学出版社 算法分析与设计 王晓东 清华大学出版社 算法设计和分析 朱洪等 上海科技文献出版社
【篇二:2012c语言程序课程设计备选题目】
:(1)较重要c语言程序设计教科书中的例题或习题;(2)与计算机学科相关的后续课程,如数据结构、离散数学、组合数学、计算方法等课程教科书中的例题或习题中,不需要相关后续课程的专门知识就可以很好解答的题目;其它有影响计算机程序设计类书籍或文章中的例题;(3)各级各类计算机程序设计竞赛(例如acm大赛)、程序员考试、求职面试的训练题和考试题等。欢迎老师和同学们提供更好的题目。
2题目内容涉及的知识点不超过大学一年级的知识水平,主要目标是训练学生将实际问题转化为计算机可以处理的形式并编写程序给出解答的能力。去掉了较复杂事务管理如图书管理、学生成绩管理之类的题目,这类事务管理方面题目希望在后续课程如c++面向对象程序设计、数据库应用及各专业的课程设计中进行。 3 题目有多种完全不同的解答,给出的提示主要供指导教师参考。
题目1:文件存取练习:要求实现如下功能:
(1)定义函数rand1000(), 随机生成1000个均不相同的正整数,并写入到文本文件“file1.dat” 中,各数之间用空格来分隔。(2)编写一个函数input(int a[],int n),将上述数据读入到数组a中。(3)编写一个函数digitcount(int a[],int n,int b[10]), 统计数组a的每个元素保存的整数中,每位数字出现的次数,并分别保存在b[0]到b[9]中。(4)编写函数maxprime(int *p,int n), 出其中最大的素数,如果不存在素数函数结果为0。(5) 对于这些整数排序之后,分别输出相邻两数之差最大和之差最小的两个数,如果有多组满足条件要输出所有的。(6)定义函数myinput(int a[],int n),用fgetc函数从文件“file1.dat”上逐个读入字符,并将其转换成独立的正整数,并依次存入数组a中。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论