1、算法设计与分析教学大纲(新版)课程编号:M081026 课程名称:算法设计与分析 学时数:48英文名称:Design and analysis of algorithm 学 分:3学期类型:秋季第(1)学期 课程类型:学位课 先修课程:数据结构、离散数学、图论、高级语言程序设计、概率与数理统计课程类别:硕士课程拟 稿:卢鹏丽 审 核: 1课程性质及基本要求算法设计与分析是计算机系统结构、软件工程、计算机应用技术硕士统招生的学位课,在第一学期开课,学时为 48 学时。本课程是本科阶段数据结构的后继课程。本课程主要介绍算法的基础知识、算法复杂性分析基础、算法设计的基本方法、以及算法复杂性理论基础。
2、通过本课程的学习,要求学生理解并熟练掌握:算法的定义和复杂性概念,算法设计的基本技术方法,包括归纳法、递归与分治算法、贪心算法、动态规划算法、回溯法等,理解并掌握算法复杂性的分析方法、NP 完全性理论基础等。为将来的研究工作提供必要的算法设计与分析的基础。2. 主要内容第一章 算法分析基本概念:算法的概念,算法正确性,算法效率,算法的评估:掌握算法时间复杂性和空间复杂性的表示方法及 O 的定义基本要求:理解算法与程序的区别;理解算法的正确性;掌握算法时间复杂性和空间复杂性的表示方 O 的定义;了解 , 和 O 的定义第二章 数学预备知识: 鸽巢原理,递推关系基本要求:掌握递推关系的计算,用于后
3、面章节中的算法分析第三章 数据结构:常用数据结构基本要求:掌握常用的数据结构第四章 堆和不相交集数据结构:基本要求:掌握堆的概念,堆的生成、删除、添加元素操作,理解不相交集数据结构第五章 归纳法: 基数排序,整数幂,多项式求值,生成排列基本要求:掌握归纳法的基本设计思想,实现基数排序、整数幂、排列第六章 递归与分治:递归概念,分治法基本思想,二分搜索技术,大整数乘法,矩阵乘法,棋盘覆盖,合并排序,快速排序,线性时间选择等基本要求:掌握分治法的基本思想;理解分治法设计的特点;实现二分搜索算法、合并排序,快速排序,线性时间选择算法;能够用递推关系式求得分治法的时间复杂度第七章 动态规划方法:动态规
4、划的基本要素,数字三角形问题,最长公共子序列,最大子段和,凸多边形最优三角剖分,0-1 背包问题,所有点对间的最短路径(Floyd-Warshall 算法)等基本要求:掌握动态规划的最优性原理,算法设计的基本步骤;实现数字三角形问题,最长公共子序列,最大子段和,凸多边形最优三角剖分,0-1 背包问题,所有点对间的最短路径(Floyd-Warshall 算法)第八章 贪心算法:贪心算法的基本要素,分数背包问题,哈夫曼编码,单源最短路径问题(Dijkstra 算法) ,最小生成树问题(Prim 算法;Kruskal 算法)基本要求: 掌握贪心算法设计的基本步骤,与动态规划的区别;实现分数背包问题,
5、哈夫曼编码,单源最短路径问题(Dijkstra 算法) ,最小生成树问题(Prim 算法;Kruskal 算法)第九章 图的遍历:深度优先、广度优先算法基本要求:理解图的遍历的概念,掌握遍历的方法。实现深度优先、广度优先算法第十三章 回溯法:回溯法的基本思想,装载问题, n 皇后问题基本要求:理解回溯法的基本思想。实现 8 皇后问题。第十章 问题的复杂性: P 类与 NP 类问题。基本要求:了解 P 类与 NP 类问题三课时计划学 时序号课 程 主 要 内 容上课 习题及讨论 小计1 第一章 算法分析基本概念 2 0 22 第二章 数学预备知识 2 2 43 第三章 数据结构 2 0 24 第
6、四章 堆和不相交集数据结构 2 0 25 第五章 归纳法 2 4 66 第六章 分治 4 2 67 第七章 动态规划 6 2 88 第八章 贪心算法 6 2 89 第九章 图的遍历 2 2 410 第十章 NP 完全问题 2 0 211 第十三章 回溯法 2 2 4合计 32 16 48四教学安排及方式研究生教室,板书或多媒体五考核方式课程成绩由平时成绩和笔试成绩组成:平时成绩占 40%。由课程习题完成程度和课程小论文决定。笔试成绩占 60%, 按期末考试的笔试试卷完成情况决定。六、课程教材M. H. Alsuwaiyel,吴伟昶 等译, 算法设计技巧与分析 (中文版) ,电子工业出版社,20
7、04七教学参考书1 T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein, Introduction to Algorithms(the second edition),The MIT Press,20012 M. H. Alsuwaiyel,Algorithms Design Techniques and Analysis,World Scientific Publishing Company,19983 王晓东编著, 计算机算法设计与分析 ,电子工业出版社,2005注:1为主要教学参考书,Introduction to Algorithms(算法导论) 。该书是麻省理工学院算法课的教材。我们下载了麻省理工学院该门课的 PPT,讲课视频,还有每堂课教师讲述的语句,可以配合 PPT 及视频理解讲课内容。麻省理工学院 算法课 开放课程网站地址: