课程编号:04020068 课程名称:算法设计与分析
总学时:54 总学分:3 实验学时:18 实验学分:1
适应专业:计算机科学与技术、软件工程、网络工程等计算机类本科专业
实验指导书:待定.
一、本实验课的任务、性质与目的
算法设计与分析 实验是 算法设计与分析课的 一个实践性教学环节。通过实验使学生加深对基本算法设计方法的理解,增强学生对解决问题的不同算法运行时间不同的感性认识,使学生在算法设计方法和编程技能等方面得到系统的训练,使学生养成设计良好算法的习惯, 为今后从事软件开发和软件理论研究打下良好的实验基础 。
二、实验方式与基本要求
实验方式:上机实验。
基本要求:通过实验,使学生熟悉常用的计算机算法,能够运用所学的基本方法求解一些实际应用问题。上机实验根据实验题目选择合适的数据结构,设计相应的算法并实现,要求所编程序能正确运行并提交实验报告,实验报告的主要内容有:程序的功能;输入的形式和输入值的范围;输出的形式;程序流程图或带注释的源程序;调试过程中所遇到的问题及解决方法;经验与体会。
⑴需求分析:陈述设计的任务,强调程序要做什么,明确规定:①输入的形式和输入值的范围;②输出的形式;③程序所实现的功能;④测试数据:包括正确的输入输出和错误的输入及其输出。
⑵概要设计:说明采用的数据结构、主程序的流程及各程序模块之间的调用关系。
⑶详细设计:提交带注释的源程序或者用伪代码写出每个操作的算法。
⑷调试分析:①调试过程中所遇到的问题及解决方法;②算法的时空分析;③经验与体会。
⑸用户使用说明:说明如何使用程序,详细列出每一步操作步骤。
⑹测试结果:列出对于给定的输入所产生的输出结果。若可能,测试随输入规模的增长所用算法的实际运行时间的变化。
三、实验项目与内容提要
本课程的实验教学环节包括上机实验部分。
上机实验项目:
序 号 |
项目名称 |
内容提要 |
实验 时数 |
实验 类型 |
实验 要求 |
1 |
递归法 |
递归法的框架;递归法求解汉诺塔问题 |
2 |
设计性 |
必做 |
2 |
分治法 |
分治法的框架;分治法求解二分查找问题 |
2 |
设计性 |
必做 |
3 |
动态规划法 |
动态规划法的框架;动态规划法法求解矩阵连乘问题 |
4 |
设计性 |
必做 |
4 |
贪心法 |
贪心法的框架;贪心法求解取款机取款问题 |
2 |
设计性 |
必做 |
5 |
回溯法 |
回溯法的框架;回溯法求解装载问题 |
2 |
设计性 |
必做 |
6 |
分支限界法 |
分支限界法的框架;分支限界法法求解单源最短路径问题 |
4 |
设计性 |
必做 |
7 |
随机化算法 |
搜索有序表 |
2 |
设计性 |
必做 |
实验类型是指:验证性/设计性/综合性实验;实验要求是指:必做性/选做性实验;
四、考核与评分
考核方式:开卷、机试,与实验同步进行,时间90分钟,成绩评定采用计分制(满分100分),上机实验成绩折算为课程总成绩的20%。

