《算法设计与分析》教学大纲

更新时间:2023-03-09 03:16:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《算法设计与分析》教学大纲

一、课程概述

算法设计是计算机科学的一门分支学科,是软件技术的一个重要方向。算法设计既是软件设计的关键,也是培养学生成为未来软件工程师所不可或缺的一门专业知识。

算法设计与分析课程将高级语言程序设计、数据结构和计算方法等内容紧密地结合在一起,全面培养学生分析问题、解决问题的能力。这门学科的重点是在培养和培训学生学会经典算法方面的知识与应用,因此它对学生的专业发展具有极其重要的意义。

算法设计与分析的先修课程是高级语言程序设计、数据结构、高等数据、组合数学。

二、课程目标

1. 知道《算法设计与分析》这门学科的性质、地位和独立价值。知道这门学科的研究

范围、分析框架、研究方法、学科进展和未来方向。

2. 理解这门学科的主要概念,尤其是算法的时间复杂度和空间复杂度。 3. 初步学会运用数学的方法推导和证明算法的时间复杂度和空间复杂度。

4. 掌握常用的经典算法,培养学生在软件设计时对算法设计的重视,并能够把所学的

知识应用到具体的软件设计实践中去。

三、课程内容和要求

这门学科的知识与技能要求分为知道、理解、掌握、学会四个层次。这四个层次的一般涵义表述如下:

知道———是指对这门学科和教学现象的认知。

理解———是指对这门学科涉及到的概念、原理、策略与技术的说明和解释,能提示所涉及到的教学现象演变过程的特征、形成原因以及教学要素之间的相互关系。

掌握———是指运用已理解的教学概念和原理说明、解释、类推同类教学事件和现象。 学会———是指能模仿或在教师指导下独立地完成某些教学知识和技能的操作任务,或能识别操作中的一般差错。

教学内容和要求表中的“√”号表示教学知识和技能的教学要求层次。

本标准中打“*”号的内容可作为自学,教师可根据实际情况确定要求或不布置要求。

教学内容及教学要求表

教学内容 1 算法概述 1.1 算法与程序 1.2 算法复杂性分析 2 递归与策略 2.1 递归的概念 2.2 分治法的基本思想 2.3 二分搜索技术 2.4 大整数的乘法 2.5 Strassen矩阵乘法 2.6 棋盘覆盖 2.7 合并排序 2.8 快速排序 2.9 线性时间选择 2.10 最接近点对问题 2.11 循环赛日程表 3 动态规划 3.1 矩阵连乘问题 3.2 动态规划算法的基本要素 3.3 最长公共子序列 3.4 最大子段和 3.5 凸多边形最优三角剖分 3.6 多边形游戏 3.7 图像压缩 3.8 电路布线 3.9 流水作业调度 3.10 0-1背包问题 3.11 最优二叉搜索树 知道 √ 理解 √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ 掌握 学会 教学内容 3.12 动态规划加速原理 知道 √ 理解 掌握 学会 4 贪心算法 4.1 活动安排问题 4.2 贪心算法的基本要素 4.3 最优装载 4.4 哈夫曼编码 单源最短路径 最小生成树 多机调度问题 贪心算法的理论基础 5 回溯法 5.1 回溯法的算法框架 5.2 装载问题 5.3 批处理作业调度 5.4 符号三角形问题 5.5 n后问题 5.6 0-1背包问题 5.7 最大团问题 5.8 图的m着色问题 5.9 旅行售货员问题 5.10 圆排列问题 5.11 电路板排列问题 5.12 连续邮资问题 5.13 回溯法的效率分析 √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ 教学内容 6 分支限界法 6.1 分支限界法的基本思想 6.2 单源最短路径问题 6.3 装载问题 6.4 布线问题 6.5 0-1背包问题 6.6 最大团问题 6.7 旅行售货员问题 6.8 电路板排列问题 6.9 批处理作业调度 7 线性规划与网络流 7.1 线性规划问题和单纯形算法 7.2 最大网络流问题 7.3 最小费用问题 知道 √ 理解 √ √ √ √ √ √ √ √ 掌握 学会 √ √ √ 四、课程实施

数据库系统是计算机专业和通信工程专业的必修课。一般情况下,计算机专业为54课时,函授为36课时。

课时安排及教学方法表

课时建议 教学内容 理论/实验 (44/10) 1 算法概述 1.1 算法与程序 1.2 算法复杂性分析 2 递归与策略 讲述、实2.1 递归的概念 2.2 分治法的基本思想 8/2 验 4/0 讲述 教与学的方法建议 课时建议 教学内容 理论/实验 (44/10) 2.3 二分搜索技术 2.4 大整数的乘法 2.5 Strassen矩阵乘法 2.6 棋盘覆盖 2.7 合并排序 2.8 快速排序 2.9 线性时间选择 2.10 最接近点对问题 2.11 循环赛日程表 3 动态规划 3.1 矩阵连乘问题 3.2 动态规划算法的基本要素 3.3 最长公共子序列 3.4 最大子段和 3.5 凸多边形最优三角剖分 教与学的方法建议 讲述、实3.6 多边形游戏 3.7 图像压缩 3.8 电路布线 3.9 流水作业调度 3.10 0-1背包问题 3.11 最优二叉搜索树 3.12 动态规划加速原理 4 贪心算法 4.1 活动安排问题 6/2 4.2 贪心算法的基本要素 4.3 最优装载 验 讲述、实6/2 验

课时建议 教学内容 理论/实验 (44/10) 4.4 哈夫曼编码 4.5 单源最短路径 4.6 最小生成树 4.7 多机调度问题 4.8 贪心算法的理论基础 5 回溯法 5.1 回溯法的算法框架 5.2 装载问题 5.3 批处理作业调度 5.4 符号三角形问题 5.5 n后问题 5.6 0-1背包问题 8/2 5.7 最大团问题 5.8 图的m着色问题 5.9 旅行售货员问题 5.10 圆排列问题 5.11 电路板排列问题 5.12 连续邮资问题 5.13 回溯法的效率分析 6 分支限界法 6.1 分支限界法的基本思想 6.2 单源最短路径问题 教与学的方法建议 讲述、实验 讲述、实6.3 装载问题 6.4 布线问题 6.5 0-1背包问题 6.6 最大团问题 6/2 验 课时建议 教学内容 理论/实验 (44/10) 6.7 旅行售货员问题 6.8 电路板排列问题 6.9 批处理作业调度 7 线性规划与网络流 7.1 线性规划问题和单纯形算法 6/0 7.2 最大网络流问题 7.3 最小费用问题 教与学的方法建议 讲述 五、教材和参考书目

1. 王晓东. 计算机算法设计与分析(第3版)北京:电子工业出版社,2007 2. 卢开澄 . 计算机算法导引:设计与分析北京:清华大学出版社,1996

3. Bruno R . Preiss 数据结构与算法 . 胡广斌等译 . 北京:电子工业出版社,2000

六、课程评价

1.这门学科的评价依据是本课程标准规定的课程目标、教学内容和要求。 2.考试时间:120分钟。

3.这门学科的评价依据是本课程标准规定的课程目标、教学内容和要求。 考试时间:120分钟。

考试方式、分制与分数解释:采用开卷、笔试的方式,以百分制评分,60分为及格,满分为100分。

建议题型比例:计算题20%;算法的时间复杂度函数12%;根据给定的算法求出问题的解6小题48% 综合分析题20%。 样题与目标定位示例

A. 计算题:(着重考查学生运用数学知识求解递归方程的能力) 例:给定一个递推方程,要求求解后用O、θ、Ω表示。

B.算法的时间复杂度函数:(着重考查学生对简单算法的理解程度) 例: 给定一个具体的算法,要求写出算法的时间复杂度函数。

C.根据给定的算法求出问题的解:(着重考查学生对经典算法的理解程度) 例:用LC分枝-限界法求解带限期作业问题。

D.综合分析题简答题:(着重考查学生对知识的综合理解与掌握程度) 例:画出定长解的0/1背包问题的状态空间树,并列出所有可能的解。

制定该课程标准小组成员: 审核者:

本文来源:https://www.bwwdw.com/article/4wkg.html

Top