算法分析与设计
算法分析与设计
1000+ 人选课
更新日期:2025/06/09
开课平台智慧树
开课高校山东财经大学
开课教师李恒武耿蕾蕾林培光高珊珊
学科专业工学计算机类
开课时间2025/01/21 - 2025/07/20
课程周期26 周
开课状态开课中
每周学时-
课程简介
剖析算法精髓 领悟问题百态 一览代码风云
课程大纲

在线教程

章节简介教学计划
算法与问题
登录后可预览视频
稳定匹配问题
李恒武
Hi!什么是算法?
李恒武
大学入学申请问题
李恒武
算法分析
算法分析
李恒武
几个符号
李恒武
复杂度比较
李恒武
分析实例
李恒武
时空均衡
李恒武
枚举算法
枚举
李恒武
集合与排列
李恒武
贪心算法
背包问题
李恒武
基本要素
李恒武
区间问题
李恒武
MST问题
李恒武
哈夫曼编码
李恒武
递推算法
递归与递推
李恒武
正推与倒推
李恒武
递推方程求解
李恒武
分治算法
分治算法
李恒武
分治类型
李恒武
减少子问题个数
李恒武
改进分治的均衡度
李恒武
减少合并的时间
李恒武
动态规划
动态规划
李恒武
数字三角形
李恒武
增加变量
李恒武
区间动归
李恒武
DAG图
李恒武
树图动归(上)
李恒武
树图动归(下)
李恒武
序列比对
李恒武
回溯算法
装载问题
耿蕾蕾
旅行商问题
耿蕾蕾
基本特征
耿蕾蕾
分支限界
0/1背包问题
耿蕾蕾
旅行商问题
耿蕾蕾
基本思想
耿蕾蕾
网络流算法
最大流最小割
李恒武
最大流算法
李恒武
预流推进算法
李恒武
最大流推广
李恒武
最小费用最大流
李恒武
二分匹配
李恒武
二分匹配应用
李恒武
最佳匹配
李恒武
随机算法
随机算法1
李恒武
随机算法2
李恒武
P与NP
P与NP
李恒武
NP完全证明
李恒武
NP完全求解
李恒武
近似算法
绝对近似
李恒武
相对近似(上)
李恒武
相对近似(下)
李恒武
近似方案
李恒武
  • 第一章算法与问题

    介绍算法的概念与性质、问题的求解过程、问题变换的目的和类型。算法与程序、算法与问题的区别和内在联系。

  • 1.1稳定匹配问题

    引入稳定匹配问题,介绍问题的求解过程

  • 1.2Hi!什么是算法?

     介绍算法的概念与性质、算法与程序、算法与问题的区别和内在联系。

  • 1.3大学入学申请问题

    引入大学入学申请问题,介绍问题变换的目的和类型

  • 第二章算法分析

    介绍算法的时间和空间复杂度, 算法复杂度分析和比较的方法,常用算法的复杂度分析,以及时空均衡的概念和处理方法。

  • 2.1算法分析

    引入时间复杂度和空间复杂度的概念,介绍算法分析的方法和阶段,问题的规模和关键操作。

  • 2.2几个符号

    介绍算法渐近复杂性的数学表述和性质,算法的上界、下界、同阶、高阶和低阶的表示。算法的分类和划分标准。

  • 2.3复杂度比较

    算法复杂度比较的方法和实例分析。

  • 2.4分析实例

    实例分析常用算法的复杂度。

  • 2.5时空均衡

    时空均衡的概念和处理方法。

  • 第三章枚举算法

    介绍蛮力和枚举算法和特点,枚举算法的优化方法,排列和组合的生成方法。

  • 3.1枚举

    介绍蛮力与枚举算法和特点,枚举算法的优化方法。

  • 3.2集合与排列

    介绍排列和组合的生成方法。

  • 第四章贪心算法

    介绍贪心算法的基本思想、基本要素和正确性证明方法。贪心算法的常用问题,运用贪心解决实际问题。

  • 4.1背包问题

    介绍部分背包问题,引入贪心算法的基本思想和特点。

  • 4.2基本要素

    介绍贪心算法的基本要素、处理技巧和证明方法。

  • 4.3区间问题

    介绍区间调度、区间划分、区间选点和区间覆盖问题。

  • 4.4MST问题

    介绍MST的特性,MST的常用算法和证明方法。

  • 4.5哈夫曼编码

    介绍哈夫曼编码、生成算法和应用实例。

  • 第五章递推算法

    介绍递推和倒推的基本思想,递归和递推、递归与循环的关系,递推方程的求解方法。递推常用问题,使用递推和倒推设计和分析算法。

  • 5.1递归与递推

    介绍递推的基本思想,递归和递推、递归与循环的关系。消除递归的方法。

  • 5.2正推与倒推

    介绍倒推的基本思想和应用实例,递推和倒推的关系。

  • 5.3递推方程求解

    介绍递推方程的求解方法和实例分析。

  • 第六章分治算法

    介绍分治基本思想和适用条件,改进分治算法的方法,分治算法的常用问题,使用分治方法设计和分析算法。

  • 6.1分治算法

    引入合并排序,介绍分治算法的基本思想、适用条件、基本步骤和设计模式。合并排序算法和改进。

  • 6.2分治类型

    引入实例介绍分治不相似、不独立情况的处理,三分法和减治类型。堆排序和排序算法比较。

  • 6.3减少子问题个数

    引入实例介绍减少子问题个数,降低时间复杂度。

  • 6.4改进分治的均衡度

    引入实例介绍改进分治的均衡度,降低时间复杂度。

  • 6.5减少合并的时间

    引入实例介绍减少合并时间,降低时间复杂度。

  • 第七章动态规划

    介绍动态规划的基本思想、基本步骤、基本要素、复杂度分析。动态规划和分治算法、贪心算法、备忘录方法的联系和区别。递推关系和子问题的联系和区别。动态规划的分类、常用问题和设计与分析方法。

  • 7.1动态规划

    引入兔子序列和赋权区间调度,介绍动态规划的基本思想、基本步骤和基本要素,动态规划和分治、贪心、备忘录方法的联系和区别。

  • 7.2数字三角形

    引入数字三角形问题,介绍正推与反推、递推关系和状态转移方程。

  • 7.3增加变量

    介绍0-1背包、恰好装满、完全背包和多重背包问题的动态规划算法。

  • 7.4区间动归

    引入矩阵连乘介绍区间动归的算法和加括号的方法。

  • 7.5DAG图

    引入实例介绍DAG图的动归算法,拓扑排序算法。

  • 7.6树图动归(上)

    介绍了负权的最短路算法,负环的检测和处理。

  • 7.7树图动归(下)

    介绍任意点间的最短路算法、树状动归和树上最大独立集问题的动归算法。

  • 7.8序列比对

    介绍序列比对和最长公共子序列问题的动归算法。

  • 第八章回溯算法

    介绍回溯算法的思想和性质。递归回溯和迭代回溯。子集树和排列树算法框架。 回溯算法的效率分析。常用回溯算法的设计与分析方法。

  • 8.1装载问题

    引入装载问题,介绍回溯算法的思想和性质。剪枝函数与使用。

  • 8.2旅行商问题

    引入旅行商问题,介绍排列树算法和剪枝函数。

  • 8.3基本特征

    介绍回溯算法的解题步骤,递归回溯和迭代回溯。子集树和排列树算法框架。 回溯算法的效率分析和改进方法。

  • 第九章分支限界

    介绍队列式(FIFO)分支限界法和优先队列式分支限界的基本思想与算法框架,回溯和分支限界的联系和区别,限界函数的改进,运用分支限界法解决实际问题。

  • 9.10/1背包问题

    引入0-1背包问题,介绍队列式分支限界。

  • 9.2旅行商问题

    引入旅行商问题,介绍优先队列式分支限界。

  • 9.3基本思想

    分支限界的基本思想、基本步骤,回溯和分支限界的联系和区别,限界函数的改进。

  • 第十章网络流算法

    介绍最大流最小割、最大流算法、最小费用最大流算法,最大流算法的改进、推广与应用,二分图最大匹配算法、最佳匹配算法与应用。

  • 10.1最大流最小割

    介绍网络、最大流与最小割,最大流最小割定理和算法。

  • 10.2最大流算法

    介绍最大流算法的改进方法,容量缩放和最短路算法。

  • 10.3预流推进算法

    介绍最高标号预流推进算法。

  • 10.4最大流推广

    介绍最大流算法的推广和应用实例。

  • 10.5最小费用最大流

    介绍最小费用最大流算法和应用实例

  • 10.6二分匹配

    介绍二分图的性质、二分测试和二分匹配算法

  • 10.7 二分匹配应用

    介绍二分匹配、独立集、顶点覆盖、路径覆盖的关系、性质与应用实例。

  • 10.8最佳匹配

    介绍最佳匹配的概念和算法、最佳匹配算法的转化。

  • 第十一章随机算法

    介绍随机算法的分类和特点,数值随机算法、舍伍德算法、拉斯维加斯算法和蒙特卡罗算法的设计思想和设计分析。

  • 11.1随机算法1

    介绍伪随机数的生成与应用,随机算法的分类和特点,数值随机算法的设计思想和应用实例。

  • 11.2随机算法2

    介绍蒙特卡罗算法、拉斯维加斯算法、舍伍德算法的设计思想和应用实例。

  • 第十二章P与NP

    介绍P类、NP类和NP完全问题的概念和关系,多项式时间变换与多项式归约,NP完全问题的证明方法。NP完全问题的求解策略。

  • 12.1P与NP

    介绍P类、NP的概念和关系,多项式归约与多项式时间变换,NP问题的性质,NP完全问题的概念和关系。

  • 12.2NP完全证明

    介绍 NP完全问题的证明方法:局部替换、分支设计和限制技术。

  • 12.3NP完全求解

    介绍NP完全问题的性质和求解策略、使用动态规划和分支限界求解小实例。

  • 第十三章近似算法

    介绍绝对近似算法、相对近似算法、多项式时间近似方案、完全多项式时间近似方案的概念、设计与证明方法。

  • 13.1绝对近似

    介绍近似算法分类,近似性能比的概念,绝对近似算法的设计与证明。

  • 13.2相对近似(上)

    介绍相对近似算法的设计与证明方法:贪心、组合技术。

  • 13.3相对近似(下)

    介绍相对近似算法的设计与证明方法:定价法、线性规划和舍入。

  • 13.4近似方案

    介绍多项式时间近似方案、完全多项式时间近似方案的概念和设计方法。

  • 开始学习
  • 第一章  作业测试
    第一章 算法与问题

    1.1 稳定匹配问题

    1.2 Hi!什么是算法?

    1.3 大学入学申请问题

    视频数3
  • 第二章  作业测试
    第二章 算法分析

    2.1 算法分析

    2.2 几个符号

    2.3 复杂度比较

    2.4 分析实例

    2.5 时空均衡

    视频数5
  • 第三章  作业测试
    第三章 枚举算法

    3.1 枚举

    3.2 集合与排列

    视频数2
  • 第四章  作业测试
    第四章 贪心算法

    4.1 背包问题

    4.2 基本要素

    4.3 区间问题

    4.4 MST问题

    4.5 哈夫曼编码

    视频数5
  • 第五章  作业测试
    第五章 递推算法

    5.1 递归与递推

    5.2 正推与倒推

    5.3 递推方程求解

    视频数3
  • 第六章  作业测试
    第六章 分治算法

    6.1 分治算法

    6.2 分治类型

    6.3 减少子问题个数

    6.4 改进分治的均衡度

    6.5 减少合并的时间

    视频数5
  • 第七章  作业测试
    第七章 动态规划

    7.1 动态规划

    7.2 数字三角形

    7.3 增加变量

    7.4 区间动归

    7.5 DAG图

    7.6 树图动归(上)

    7.7 树图动归(下)

    7.8 序列比对

    视频数8
  • 第八章  作业测试
    第八章 回溯算法

    8.1 装载问题

    8.2 旅行商问题

    8.3 基本特征

    视频数3
  • 第九章  作业测试
    第九章 分支限界

    9.1 0/1背包问题

    9.2 旅行商问题

    9.3 基本思想

    视频数3
  • 第十章  作业测试
    第十章 网络流算法

    10.1 最大流最小割

    10.2 最大流算法

    10.3 预流推进算法

    10.4 最大流推广

    10.5 最小费用最大流

    10.6 二分匹配

    10.7 二分匹配应用

    10.8 最佳匹配

    视频数8
  • 第十一章  作业测试
    第十一章 随机算法

    11.1 随机算法1

    11.2 随机算法2

    视频数2
  • 第十二章  作业测试
    第十二章 P与NP

    12.1 P与NP

    12.2 NP完全证明

    12.3 NP完全求解

    视频数3
  • 第十三章  作业测试
    第十三章 近似算法

    13.1 绝对近似

    13.2 相对近似(上)

    13.3 相对近似(下)

    13.4 近似方案

    视频数4
  • 期末考试