个人介绍
算法设计与分析

主讲教师:卢鹏丽 教授

教师团队:共3

  • 卢鹏丽
  • 张其文
  • 唐建新
学校: 兰州理工大学
开课院系: 计算机与通信学院
专业大类: 计算机
开课专业: 计算机系统结构、软件工程、计算机应用技术、物联网
课程英文名称: Algorithms Design and Analysis
课程编号: M081031
学分: 3
课时: 32
课程介绍
本课程在本科《数据结构》课程的基础上,进一步深入讲授算法设计与分析的基本方法。主要内容有算法及分析概述、数学知识补充、堆和不相交集数据结构、归纳算法、分治算法、动态规划算法、贪心算法、算法复杂性及回溯算法等。通过本课程的学习,使学生掌握基本的算法设计技巧、复杂性分析,能够用有关理论分析及解决实际问题,为将来的研究工作提供必要的算法设计与分析的基础。
Based on the undergraduate study of data structure, this course will further deeply teach the basic theory and analysis methods of computer algorithms. The main contents include: basic concepts in algorithm and analysis, mathematics preliminaries, heaps and disjoint sets data structure, induction, divide and conquer, dynamic programming, greedy algorithm, complexity of problems and backtracking. Through the study of this course, students can master the basic algorithms desisgn techniques and analysis methods, and can solve the real problem by using these techniques and mathods,  which provides the foundation of the algorithm dessign and analysis in future academic research.
教师团队

卢鹏丽

职称:教授

单位:兰州理工大学

部门:计算机与通信学院

张其文

职称:副教授

单位:兰州理工大学

部门:计算机与通信学院

唐建新

职称:讲师

单位:兰州理工大学

部门:计算机与通信学院

教学内容

第一章  算法分析基本概念算法的概念,算法正确性,算法效率,算法的评估:掌握算法时间复杂性和空间复杂性的表示方法及O的定义

基本要求:理解算法与程序的区别;理解算法的正确性;掌握算法时间复杂性和空间复杂性的表示方O的定义;了解Ω,θ和O的定义

 

第二章 数学预备知识 鸽巢原理,递推关系

基本要求:掌握递推关系的计算,用于后面章节中的算法分析

 

第三章 数据结构常用数据结构

基本要求:掌握常用的数据结构

 

第四章 堆和不相交集数据结构

基本要求:掌握堆的概念,堆的生成、删除、添加元素操作,理解不相交集数据结构

 

第五章 归纳法基数排序,整数幂,多项式求值,生成排列

基本要求:掌握归纳法的基本设计思想,实现基数排序、整数幂、排列

 

第六章 递归与分治递归概念,分治法基本思想,二分搜索技术,大整数乘法,矩阵乘法,棋盘覆盖,合并排序,快速排序,线性时间选择等

基本要求:掌握分治法的基本思想;理解分治法设计的特点;实现二分搜索算法、合并排序,快速排序,线性时间选择算法;能够用递推关系式求得分治法的时间复杂度

 

第七章 动态规划方法动态规划的基本要素,数字三角形问题,最长公共子序列,最大子段和,凸多边形最优三角剖分,0-1背包问题,所有点对间的最短路径(Floyd-Warshall算法)等

基本要求:掌握动态规划的最优性原理,算法设计的基本步骤;实现数字三角形问题,最长公共子序列,最大子段和,凸多边形最优三角剖分,0-1背包问题,所有点对间的最短路径(Floyd-Warshall算法)

 

第八章 贪心算法贪心算法的基本要素,分数背包问题,哈夫曼编码,单源最短路径问题(Dijkstra算法),最小生成树问题(Prim算法;Kruskal算法)

基本要求: 掌握贪心算法设计的基本步骤,与动态规划的区别;实现分数背包问题,哈夫曼编码,单源最短路径问题(Dijkstra算法),最小生成树问题(Prim算法;Kruskal算法)

 

第九章 图的遍历:深度优先、广度优先算法

基本要求:理解图的遍历的概念,掌握遍历的方法。实现深度优先、广度优先算法


第十章 问题的复杂性 P类与NP类问题。

基本要求:了解P类与NP类问题

 

第十一章 回溯法回溯法的基本思想,图的着色问题 n皇后问题

基本要求:理解回溯法的基本思想。实现3-着色问题,8皇后问题。

课时计划


序号

课  程  主  要  内  容

学       时



上课

习题及讨论

小计

1

第一章  算法分析基本概念

2

0

2

2

第二章  数学预备知识

0

2

2

3

第三章  数据结构

1

0

1

4

第四章  堆和不相交集数据结构

1

0

1

5

第五章  归纳法

0

1

1

6

第六章  分治

4

1

5

7

第七章  动态规划

6

1

7

8

第八章 贪心算法

6

1

7

9

第九章  图的遍历

0

1

1

10

第十章  NP 完全问题

2

0

2

11

第十一章 回溯法

2

1

3


合计

24

8

32


参考教材

使用教材:

M. H. Alsuwaiyel,吴伟昶 等译,《算法设计技巧与分析》(中文版),电子工业出版社,2004

 

教学参考书:

[1]T.H. Cormen,C.E. Leiserson, R.L. Rivest,C. Stein, Introduction to Algorithms(the thirdedition),TheMIT Press,2009.

 

[2]M. H. Alsuwaiyel,Algorithms Design Techniques and Analysis,World Scientific Publishing Company,2003.

 

[3] 科尔曼(T.H. Corme)等著,尹建平 等译,算法导论,机械工业出版社,2013.

 

注:[1]为主要教学参考书,Introduction to Algorithms(算法导论),[3]为中文译本。该书是麻省理工学院算法课的教材。我们下载了麻省理工学院该门课的PPT,讲课视频,还有每堂课教师讲述的语句,可以配合PPT及视频理解讲课内容。[2]为使用教材的英文原版。

 

麻省理工学院 算法课 开放课程网站地址:

https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015/


教学资源
课程章节 | 文件类型   | 修改时间 | 大小 | 备注
1.1 概述-课件
文档
.pdf
2022-05-18 100.49KB
1.2 概述-视频
视频
.mp4
2020-08-14 971.26MB
1.3 MIT-概述-课件(1-2)
文档
.pdf
2023-10-28 501.27KB
 
文档
.pdf
2023-10-28 321.08KB
1.4 MIT-概述-视频(1-2)
视频
.mp4
2023-10-28 256.68MB
 
视频
.mp4
2023-10-28 224.88MB
1.5 MIT-概述-文本
文档
.pdf
2022-11-15 128.42KB
 
文档
.pdf
2022-11-15 126.27KB
2.1.1 最大连续子序列和-课件
文档
.pdf
2023-10-28 111.45KB
2.1.2 最大连续子序列和-视频
视频
.mp4
2020-08-14 929.47MB
2.2.1 两个多项式相乘-课件
文档
.pdf
2023-10-28 104.14KB
2.2.2 两个多项式相乘-视频(1-2)
视频
.mp4
2023-10-28 456.06MB
 
视频
.mp4
2023-10-28 419.38MB
2.3 大整数相乘+大矩阵相乘
文档
.ppt
2023-10-28 434.00KB
2.4.1 线性时间选择+快速排序-课件
文档
.pdf
2023-10-28 133.81KB
2.4.2 线性时间选择+快速排序-视频
视频
.mp4
2023-10-28 789.87MB
2.5.1 MIT-分治法1-课件
文档
.pdf
2023-10-28 327.26KB
2.5.2 MIT-分治法1-视频
视频
.mp4
2023-10-28 219.17MB
2.5.3 MIT-分治法1-文本
文档
.pdf
2023-10-28 125.10KB
2.6.1 MIT-分治法2-课件
文档
.pdf
2023-10-28 362.15KB
2.6.2 MIT-分治法2-视频-快排及随机化方法
视频
.mp4
2023-10-28 179.67MB
2.6.3 MIT-分治法2-视频-线性时间排序
视频
.mp4
2023-10-28 170.94MB
2.6.4 MIT-分治法2-视频-顺序统计+中值
视频
.mp4
2023-10-28 146.20MB
2.6.5 MIT-分治法2-文本
文档
.pdf
2023-10-28 110.31KB
2.7 分治法补充+总结
文档
.pdf
2023-10-28 1.21MB
2.8.1 二分查找算法
文档
.pdf
2023-10-28 176.01KB
2.8.2 归并排序
文档
.pdf
2023-10-28 122.58KB
2.8.3 线性时间选择
文档
.pdf
2023-10-28 176.75KB
2.8.4 快速排序
文档
.pdf
2023-10-28 196.68KB
2.8.5 两个多项式相乘
文档
.pdf
2023-10-28 163.96KB
 
文档
.pdf
2023-10-28 218.58KB
2.8.6 两个大整数相乘
文档
.pdf
2023-10-28 374.63KB
2.8.7 最大连续子序列和(MCS)
文档
.pdf
2023-10-28 206.69KB
3.1.1 0-1背包问题-课件
文档
.pdf
2023-10-28 101.37KB
3.1.2 0-1背包问题-视频(1-2)
视频
.mp4
2023-10-28 640.13MB
 
视频
.mp4
2023-10-28 438.00MB
3.2.1 矩阵链相乘-课件
文档
.pdf
2023-10-28 129.42KB
3.2.2 矩阵链相乘-视频 (1-4)
视频
.mp4
2023-10-28 250.08MB
 
视频
.mp4
2023-10-28 399.56MB
 
视频
.mp4
2023-10-28 384.67MB
 
视频
.mp4
2023-10-28 464.28MB
3.3.1 MIT-最长公共子序列-课件
文档
.pdf
2023-10-28 246.27KB
3.3.2 MIT-最长公共子序列-视频
视频
.mp4
2023-10-28 150.09MB
3.3.3 MIT-最长公共子序列-文本
文档
.pdf
2023-10-28 93.28KB
3.4 DP-凸多边形最优三角剖分
文档
.pdf
2023-10-28 231.22KB
3.5 凸多边形-作业证明
文档
.pdf
2023-10-28 569.81KB
3.6 DP-数字棋盘
文档
.pdf
2023-10-28 103.88KB
3.7 DP-数字三角形
文档
.pdf
2023-10-28 97.93KB
3.8 DP-所有点对间最短路径-Folyd算法
文档
.pdf
2023-10-28 107.47KB
3.9.1 最长公共子序列(LCS)
文档
.pdf
2023-10-28 173.83KB
3.9.2 所有LCS序列
文档
.pdf
2023-10-28 128.44KB
3.9.3 矩阵链相乘
文档
.pdf
2023-10-28 161.95KB
3.9.4 数字棋盘
文档
.pdf
2023-10-28 148.79KB
3.9.5 数字三角形
文档
.pdf
2023-10-28 166.76KB
3.9.6 凸多边形最优三角剖分
文档
.pdf
2023-10-28 160.12KB
3.9.8 所有点对间最短路径
文档
.pdf
2023-10-28 473.11KB
3.9.9 0-1背包问题
文档
.pdf
2023-10-28 167.33KB
3.9.10 矩阵链相乘次数相差100倍
文档
.pdf
2023-10-28 175.60KB
4.1.1 分数背包-课件
文档
.pdf
2023-10-28 88.50KB
4.1.2 分数背包-视频
视频
.mp4
2023-10-28 593.71MB
4.2.1 单源最短距离-课件
文档
.pdf
2023-10-28 122.61KB
4.2.2 单源最短路径-视频
视频
.mp4
2023-10-28 785.89MB
4.3.1 最短路径1-MIT-课件
文档
.pdf
2023-10-28 450.76KB
4.3.2 最短路径1-MIT-视频
视频
.mp4
2020-08-13 180.16MB
4.3.3 最短路径1-MIT-文本
文档
.pdf
2023-10-28 139.90KB
4.3.4 最短路径2-MIT-课件
文档
.pdf
2023-10-28 286.51KB
4.3.5 最短路径2-MIT-视频
视频
.mp4
2020-08-13 164.51MB
4.3.6 最短路径2-MIT-文本
文档
.pdf
2023-10-28 127.99KB
4.3.7 最短路径3-MIT-课件
文档
.pdf
2023-10-28 312.47KB
4.3.8 最短路径3-MIT视频
视频
.mp4
2023-10-28 159.49MB
4.3.9 最短路径3-MIT-文本
文档
.pdf
2023-10-28 125.16KB
4.4.1 Kruscal-课件
文档
.pdf
2023-10-28 54.93KB
4.4.2 Kruscal-视频
视频
.mp4
2023-10-28 421.47MB
4.5.1 Prim-课件
文档
.pdf
2023-10-28 123.78KB
4.5.2 Prim-视频
视频
.mp4
2021-03-31 341.92MB
4.6.1 MIT-最小生成树-课件
文档
.pdf
2023-10-28 404.68KB
4.6.2 MIT-最小生成树-视频
视频
.mp4
2020-08-13 177.50MB
4.6.3 MIT-最小生成树-文本
文档
.pdf
2023-10-28 112.73KB
4.7.1 Huffman-课件
文档
.pdf
2023-10-28 90.13KB
4.7.2 Huffman-视频
视频
.mp4
2023-10-28 474.20MB
4.8.1 单源最短路径(Single Source shortest path)
文档
.pdf
2023-10-28 291.39KB
4.8.2 MST-Kruskal算法
文档
.pdf
2023-10-28 467.50KB
4.8.3 MST-Prim算法
文档
.pdf
2023-10-28 278.54KB
4.8.4 哈夫曼编码
文档
.pdf
2023-10-28 197.04KB
4.8.5 分数背包问题
文档
.pdf
2023-10-28 194.28KB
4.8.6 DFS
文档
.pdf
2023-10-28 202.92KB
4.8.7 BFS
文档
.pdf
2023-10-28 201.31KB
5.1 回溯法-课件
文档
.ppt
2023-10-28 2.44MB
5.2 回溯法-介绍-视频
视频
.mp4
2023-10-28 607.20MB
5.3 回溯法-3着色问题-视频
视频
.mp4
2023-10-28 689.04MB
5.4 回溯法--8皇后问题-视频
视频
.mp4
2023-10-28 669.63MB
5.5 回溯法-总结-视频
视频
.mp4
2023-10-28 494.90MB
5.6.1 3-着色问题
文档
.pdf
2023-10-28 193.74KB
5.6.2 4-皇后问题
文档
.pdf
2023-10-28 211.77KB
5.6.3 8-皇后问题
文档
.pdf
2023-10-28 148.47KB
5.6.4 迷宫问题
文档
.pdf
2023-10-28 178.28KB
5.6.5 子集和数问题
文档
.pdf
2023-10-28 169.13KB
5.6.6 旅行商问题
文档
.pdf
2023-10-28 242.20KB
6.1 NP
文档
.ppt
2023-10-28 463.00KB
7.1 数学知识
文档
.ppt
2023-10-28 560.50KB
8.1 常见的归纳算法
文档
.ppt
2023-10-28 983.00KB
8.2.1 基数排序
文档
.pdf
2023-10-28 176.39KB
8.2.2 生成排列
文档
.pdf
2023-10-28 157.69KB
8.2.3 寻找多数元素
文档
.pdf
2023-10-28 167.58KB
9.1.1 思政-Matlab被禁事件及思考
文档
.pptx
2022-11-15 109.84KB
9.1.2 思政-学生演讲-MATLAB被禁
文档
.pptx
2022-11-15 11.60MB
 
文档
.ppt
2022-11-15 3.29MB
9.2.1 思政-5个案例-匠精神
文档
.pptx
2022-11-15 109.86KB
9.2.2 思政-学生演讲-工匠精神
文档
.pptx
2022-11-15 1.92MB
 
文档
.docx
2022-11-15 13.63KB
 
文档
.pptx
2022-11-15 1.92MB
提示框
提示框
确定要报名此课程吗?
确定取消

京ICP备10040544号-2

京公网安备 11010802021885号