《算法设计与分析》课程是计算机科学与技术相关专业的专业基础课。算法在计算机科学中具有核心的地位和作用。本课程是关于算法的方法论,是计算机软件设计的基础。主要讲授算法设计技术与分析技术。通过学习该课程,可以系统掌握算法设计、分析与证明的常用方法,培养算法设计与复杂性分析以及相应的解决问题的综合素质和能力。因此,该课程对于培养高质量计算机人才所必需的基本理论与知识、抽象思维能力、逻辑思维能力以及灵活运用算法解决问题的能力都有极大的帮助。对于未来从事计算机系统结构、系统软件以及应用软件研究与开发的专业人员是非常重要和必不可少的。
本课程自开设以来,通过不断摸索,逐渐形成了自己的特色,主要包括:
1) 不断更新教学内容,及时反映算法设计与分析技术的最新发展。以学习、研究学科前沿课题作为教师队伍建设的主要内容,不断提高教学水平,使教学更具针对性;
2) 运用现代教育技术,将线上自主学习与线下课程教学相结合,为学生提供了良好的多媒体学习环境和丰富的教学资源,实现立体化教学;
3) 将课内与课外学习相结合,课堂上积极开展师生互动,以点带面;课外进行拓展性学习,努力探索研究型教学模式;
4) 重视实践教学环节,以两个综合设计型实验带动课程学习,培养学生理论联系实际、应用知识分析问题与解决问题的能力。
1、系统的掌握计算机领域经典的算法设计方法;
2、培养对算法复杂性进行分析的能力;
3、为独立地设计算法和对算法进行评价奠定坚实的基础,提高分析问题和解决问题的能力。
总评成绩=平时成绩(40%)+期末成绩(60%)
其中:
平时成绩=在线学习(60%)+实验(30%)+考勤(10%)
在线学习:完成作业、观看视频、参与讨论
第一章 算法设计基础
1.1 算法及其特点
1.2 算法描述方法及一般设计过程
“算法设计基础”单元测验
“算法设计基础”算法实现题
第二章 算法分析基础
2.1算法分析的一般方法
2.2递归方程及其求解方法
“算法分析基础”测试题
第三章 分治法
3.1分治法概述
3.2组合问题中的分治法
3.3几何问题中的分治法
阅读材料
“分治法”单元测试
“分治法”算法实现题
第四章 动态规划法
4.1 动态规划法概述(上)
4.1 动态规划法概述(中)
4.1 动态规划法概述(下)
4.2 图问题中的动态规划法
4.3 组合问题中的动态规划法(上)
4.3 组合问题中的动态规划法(下)
阅读材料
“动态规划法”算法实现题
第七章 贪心法
7.1 贪心法概述(上)
7.1 贪心法概述(下)
7.2图问题中的贪心法
7.3 组合问题中的贪心法(上)
7.3 组合问题中的贪心法(下)
阅读材料
“贪心法”算法实现题
第五章 回溯法
5.1 回溯法概述
5.2回溯法的基本思想 -(上)
5.2回溯法的基本思想 -(下)
5.3 回溯法的应用
“回溯法”算法实现题
第六章 分枝限界法
6.1分枝限界法概述 - (上)
6.1分枝限界法概述 - (下)
6.2 分枝限界法的应用 - (上)
6.2 分枝限界法的应用 - (下)
“分枝限界法”算法实现题B
1、高级程序设计语言
2、离散数学
3、数据结构
1、《算法设计与分析(第2版)》. 主编:王红梅. 出版社:清华大学出版社. 出版或修订时间:2014年
2、《算法设计与分析(第4版)》. 主编:王晓东. 出版社:清华大学出版社. 出版或修订时间:2018年
3、《算法导论(第三版)》. 作者:Thomas H. Cormen. 出版社:机械工业出版社. 出版时间:2016.
4、《算法设计与分析(第二版)》.主编:李春葆。出版社:清华大学出版社.出版时间:2018年