职称:中级
单位:黄冈师范学院
部门:计算机学院
主讲教师:周芬
教师团队:共3位
| 学校: | 黄冈师范学院 |
| 开课院系: | 计算机学院 |
| 专业大类: | 计算机 |
| 开课专业: | 软件工程 |
| 课程英文名称: | Analysis and Design of Algorithms |
| 课程编号: | 2143101305 |
| 学分: | 3 |
| 课时: | 48 |
一、课程背景
《算法设计与分析》是软件工程、计算机科学与技术的一门专业必修课。开设本课程的目的是培养学生分析问题和解决问题的能力,使学生掌握算法设计的基本技巧和方法,熟悉算法分析的基本技术,并能熟练运用一些常用算法,解决一些综合问题,为学生进一步学习后续课程奠定良好的基础。
二、主要内容
教学内容划分为五部分。第一部分,简要概述算法及其设计和分析的基本概念,课程结构。第二部分介绍算法定理分析的基础,包括算法复杂性分析的概念,渐近函数及其基本求解方法,以及主定理,学习反证法、数学归纳法等算法正确性证明方法。第三部分介绍经典的5类算法(策略):分治与递归、贪心算法、动态规划法、回溯法、分支限界法;每类算法的学习模式:通过1-2个例子引入算法,学习该类算法的设计技术和思路,如何证明算法的性质,再通过2-3个例子学习算法的设计、分析和应用;最后,对比分析经典算法。第四部分,首先了解NPC的概念和证明方式,然后介绍解决NPC问题的近似算法,最后学习4种类型的概率算法及性质。第五部分介绍两个目前应用广泛的领域算法,第一个是字符串模式识别算法,第二类是线性规划。
课程目标:
《算法设计与分析》是计算机科学与技术的一门专业必修课。开设本课程的目的是培养学生分析问题和解决问题的能力,使学生掌握算法设计的基本技巧和方法,熟悉算法分析的基本技术,并能熟练运用一些常用算法,解决一些综合问题,为学生进一步学习后续课程奠定良好的基础。通过本课程的理论教学和实验训练,达到以下课程目标:
1、课程内容与思政教育深度融合,将榜样精神、工匠精神和社会主义核心价值观和职业道德融入教学,突出知识传授与价值引导的有机统一。培养学生具有良好的思想品德、较强的社会责任感和健康的身心素质,树立科学的世界观和正确的人生观、世界观,践行社会主义核心价值观;
2、理解算法的基本概念,掌握时间复杂度和空间复杂度等基本算法分析理论,具备算法分析的初步能力,能够科学地评估有关算法和处理方法的效率。
3、通过对常用的、有代表性的算法的分析研究,使学生掌握算法设计的基本技术。在非数值计算的层面上,具备把实际问题抽象描述为数学模型的能力,同时能针对不同的问题对象设计有效的算法。
4、鼓励学生运用算法知识解决科学研究及实际应用中遇到的问题,培养学生的独立科研的能力和理论联系实践的能力。培养学生追求科学真理,了解中国的发展状况,能够运用唯物辩证法的观点分析问题。
5、通过课程实验中的综合项目训练,培养学生自主学习能力,以及团队合作精神和沟通能力。通过研讨报告,培养学生表达能力和自我评价能力。
教与学方式包括课堂上教师的理论讲解、案例分析和专题研讨,学生学习包括课堂听课、讨论、讲演,课后阅读教材、学习MOOC、完成作业、论文查找与阅读、准备演讲材料、编程实践、使用软件工具等。不同类型的学生,教学方式的比例不同。加强方法论的学习和训练,着力培养学生知识获取能力、学术鉴别能力、独立研究能力和解决实际问题能力。
课程评定方式:
采用过程式判定方式,包括:章节练习、课程作业、单元测试、期终考试等。章节练习、单元测试、考试类型包括主观题(算法设计、分析、证明、应用和编码实现)和客观题(单选、多选、填空、是非)。
1. 王晓东:算法设计与分析(第4版),清华大学出版社,2018
2. 迈克尔 T. 古德里奇(Michael T. Goodrich) 罗伯特·塔马契亚(Roberto Tamassia) : 算法设计与应用,机械工业出版社,2017
3. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest,Clifford Stein:Introduction to Algorithms, 3rd edition, MIT Press, 2009
4. 阿霍,霍普克劳夫特,乌尔曼: 计算机算法的设计与分析,机械工业出版社,2007
5. 李春葆:算法设计与分析(第2版),清华大学出版社,2018
| 课程章节 | | 文件类型 | | 修改时间 | | 大小 | | 备注 | |
| 1.1 PPT |
文档
.pptx
|
2024-09-03 | 10.59MB | ||
| 1.4 算法分析方法 |
文档
.pdf
|
2024-09-03 | 820.75KB | ||
| 1.5 算法设计工具STL核心知识点 |
文档
.docx
|
2024-09-03 | 5.72MB | ||
| 1.6 微视频-算法时间复杂度分析 |
视频
.wmv
|
2024-09-03 | 18.81MB | ||
| 1.7 C++ STL容器知识汇总 |
文档
.pdf
|
2024-09-03 | 1.16MB | ||
| 1.8 练习题 |
作业
.work
|
2024-09-03 | -- | ||
| 2.1 什么是递归 |
文档
.pptx
|
2024-09-03 | 1.25MB | ||
| 2.2 练习题 |
作业
.work
|
2024-09-03 | -- | ||
| 3.1 分治法概述 |
文档
.pdf
|
2024-09-03 | 1.28MB | ||
| 3.2.1 棋盘覆盖问题 |
文档
.pdf
|
2024-09-03 | 689.27KB | ||
| 3.2.2 最大子段和问题 |
文档
.pdf
|
2024-09-03 | 857.48KB | ||
| 3.2.3 高精度乘法 |
文档
.pdf
|
2024-09-03 | 838.37KB | ||
| 3.4 练习题 |
作业
.work
|
2024-09-03 | -- | ||
| 3.5 编程题 |
附件
.${file.extension}
|
2024-09-03 | -- | ||
| 4.1 蛮力法概述 |
文档
.pptx
|
2024-09-03 | 1.38MB | ||
| 4.4 作业题 |
作业
.work
|
2024-09-03 | -- | ||
| 5.1 回溯法概述 |
文档
.pdf
|
2024-09-03 | 1.31MB | ||
| 5.2 0/1背包问题 |
文档
.pdf
|
2024-09-03 | 1.63MB | ||
| 5.3 n皇后问题 |
文档
.pdf
|
2024-09-03 | 969.08KB | ||
| 5.5 作业题 |
作业
.work
|
2024-09-03 | -- | ||
| 5.6 编程题 |
附件
.${file.extension}
|
2024-09-03 | -- | ||
| 6.1 贪心法概述 |
文档
.pptx
|
2024-09-03 | 2.11MB | ||
| 6.2 求解背包问题 |
文档
.pptx
|
2024-09-03 | 2.08MB | ||
| 6.3 求解活动安排问题 |
文档
.pptx
|
2024-09-03 | 1.36MB | ||
| 6.4 TSP旅行商问题 |
文档
.pptx
|
2024-09-03 | 1.56MB | ||
| 6.5 快乐司机C源码 |
文档
.pdf
|
2024-11-19 | 117.31KB | ||
| 6.6 快乐司机C++源码 |
文档
.pdf
|
2024-11-19 | 51.66KB | ||
| 6.7 作业题 |
作业
.work
|
2024-09-03 | -- | ||
| 6.8 编程题 |
附件
.${file.extension}
|
2024-09-03 | -- | ||
| 7.1 分枝限界概述 |
文档
.pptx
|
2024-09-03 | 2.86MB | ||
| 8.1 动态规划概述 |
文档
.pptx
|
2024-11-27 | 3.99MB | ||
| 8.5 练习题 |
作业
.work
|
2024-09-03 | -- | ||
| 9.1 字节《算法中文手册》 |
文档
.pdf
|
2024-09-03 | 103.43MB | ||
| 9.2 未分类作业 |
作业
.work
|
2024-09-03 | -- | ||
| 9.3 未分类作业2 |
作业
.work
|
2024-09-03 | -- | ||
| 9.4 未分类作业3 |
文档
.docx
|
2024-12-19 | 51.15KB |