UniMate AI

COMP9801

高阶算法 (硕士精英)

6 学分难度 中等

深度挑战算法的数学极限,涵盖 NP 难问题的近似与启发式解法。

Syllabus

每周大纲

  1. 1

    算法分析与渐进复杂度

    📖核心知识点:**渐进分析**——O、Ω、Θ 记号的严格定义与应用。递推关系求解——Master Theorem 的三种情况、递归树法、代入法。摊还分析(Amortized Analysis)——聚合法、核算法、势能法。算法正确性证明——循环不变式(Loop Invariant)。⏰本周节奏:数学基础周,需大量练习复杂度分析。🎯考试关联:Master Theorem 与摊还分析是期末必考(约 15 分)。🧪Tutorial/Lab:Master Theorem 练习与递归树绘制。📌作业关联:Assignment 1 涉及复杂度分析与证明。⚠️易错点:Master Theorem 不适用的情况(f(n) 与 n^(log_b(a)) 多项式差距条件);摊还分析中势能函数选择不当。

  2. 2

    高级排序与选择

    📖核心知识点:比较排序下界证明——Ω(n log n)。**线性时间排序**——Counting Sort、Radix Sort、Bucket Sort 的适用条件。**选择算法**——Quickselect 的期望复杂度 O(n)、Median of Medians 保证最坏 O(n)。Randomized Algorithms 的期望分析。⏰本周节奏:深入理解排序的理论极限。🎯考试关联:排序下界证明与选择算法是高频考题。🧪Tutorial/Lab:实现 Median of Medians 并与 Quickselect 对比。📌作业关联:Assignment 1——算法实现与分析。⚠️易错点:Radix Sort 的位数选择影响复杂度;Median of Medians 的分组策略(为什么是 5 而非 3 或 7)。

  3. 3

    高级数据结构

    📖核心知识点:**平衡 BST**——AVL Tree 与 Red-Black Tree 的旋转操作与性质维护。**B-Tree / B+ Tree**——磁盘友好的多路搜索树,数据库索引的基础。Skip List——概率平衡的链表结构。Augmented Data Structure——区间树(Interval Tree)、顺序统计树(Order-Statistic Tree)。⏰本周节奏:数据结构密集周。🎯考试关联:AVL/RB-Tree 操作与 B-Tree 插入删除是期末常考大题。🧪Tutorial/Lab:实现 AVL Tree 并画 B-Tree 插入删除过程。📌作业关联:Assignment 1——高级数据结构实现。⚠️易错点:RB-Tree 删除修复的 Case 分析不完整;B-Tree 的合并/分裂操作边界条件。

  4. 4

    图算法 (1)

    📖核心知识点:图的表示——邻接表 vs 邻接矩阵。**BFS/DFS** 的应用——连通分量、拓扑排序、强连通分量(Tarjan/Kosaraju)。最短路径——**Dijkstra**(非负权)、**Bellman-Ford**(负权检测)、Floyd-Warshall(全源最短路)。⏰本周节奏:图算法是算法课的核心模块。🎯考试关联:最短路径算法的手动模拟是期末必考大题。🧪Tutorial/Lab:手动执行 Dijkstra 并实现。📌作业关联:Assignment 2——图算法。⚠️易错点:Dijkstra 不适用于负权边;Bellman-Ford 的松弛轮次与负环检测。

  5. 5

    图算法 (2)

    📖核心知识点:**最小生成树**——Kruskal(Union-Find 优化)与 Prim(优先队列优化)。网络流——**Ford-Fulkerson** 方法、Edmonds-Karp(BFS 增广路)、最大流-最小割定理。二部图匹配——匈牙利算法、König 定理。⏰本周节奏:网络流是最具挑战的图算法之一。🎯考试关联:网络流手动模拟与最大流-最小割定理是高频大题。🧪Tutorial/Lab:手动执行 Ford-Fulkerson 并验证最大流。📌作业关联:Assignment 2——网络流应用。⚠️易错点:Ford-Fulkerson 的反向边更新遗漏;二部图匹配转化为最大流时的建图错误。

  6. 6

    灵活性周 (Flex Week)

    📖核心知识点:无新内容。复习数据结构、图算法的核心内容。完善 Assignment 1-2。⏰本周节奏:80% 作业完善与调试,20% 复习。🎯考试关联:前 5 周内容约占期末 50%。🧪Tutorial/Lab:答疑。📌作业关联:Assignment 截止。⚠️易错点:算法正确但复杂度不满足要求(TLE)。

  7. 7

    动态规划进阶

    📖核心知识点:**动态规划 (DP)** 的系统方法——状态定义、转移方程、初始条件、计算顺序。经典问题——LCS、LIS、背包系列(0-1、完全、多重)。区间 DP——矩阵链乘法。树形 DP 与状态压缩 DP。DP 优化——空间压缩(滚动数组)、单调队列优化。⏰本周节奏:DP 需要大量刷题练习。🎯考试关联:DP 状态定义与转移方程是期末最难的大题(约 20 分)。🧪Tutorial/Lab:经典 DP 问题练习与变体。📌作业关联:Assignment 3——DP 问题集。⚠️易错点:状态定义不当导致无法推导转移方程;初始条件遗漏或错误。

  8. 8

    贪心与近似算法

    📖核心知识点:**贪心算法**——贪心选择性质与最优子结构的证明方法(交换论证、剪切-粘贴)。经典贪心——活动选择、Huffman 编码、分数背包。**NP-Completeness**——P、NP、NP-Hard、NP-Complete 的定义与关系。**近似算法**——近似比定义、Vertex Cover 2-近似、TSP 近似。⏰本周节奏:从精确算法到近似算法的范式转换。🎯考试关联:NP-Complete 证明(归约)与近似比分析是期末重点。🧪Tutorial/Lab:NP-Complete 归约练习。📌作业关联:Assignment 3。⚠️易错点:贪心正确性证明不严谨;NP-Complete 归约方向搞反(应从已知 NPC 问题归约到目标问题)。

  9. 9

    随机化与在线算法

    📖核心知识点:**随机化算法**——Las Vegas vs Monte Carlo。随机化 Min-Cut(Karger's Algorithm)。概率分析工具——Chernoff Bound、Union Bound。**在线算法**——竞争比(Competitive Ratio)、Ski Rental Problem、Online Paging(LRU 的竞争比分析)。⏰本周节奏:概率分析需要扎实的数学基础。🎯考试关联:竞争比分析与随机化算法是可能的论述/证明题。🧪Tutorial/Lab:分析 Karger 算法的成功概率。📌作业关联:Assignment 3。⚠️易错点:概率分析中独立性假设不成立时结论错误;在线算法的对手模型(Adversary)理解不清。

  10. 10

    综合复习

    📖核心知识点:算法设计全景——分治、贪心、DP、图算法、随机化、近似的适用场景对比。问题建模能力——将实际问题映射到已知算法框架。算法面试中的常见模式与技巧。⏰本周节奏:总复习,建立算法知识体系。🎯考试关联:期末覆盖全部 10 周,证明题 + 设计题 + 分析题。🧪Tutorial/Lab:Past Exam 全真模拟。📌作业关联:所有 Assignment 已提交。⚠️易错点:只会套用算法模板不会变通;证明题缺乏严谨的数学推导。

From Seniors

学长留下的

基础信息谁都查得到,真正值钱的是过来人的经验。

学姐说

比你早一年的学长留下的真实经验 —— ChatGPT 给不了。

这门课还没有学长经验,你可以是第一个 —— 注册后在课内分享。

往年考点 / 踩坑

这门课暂无往年考点记录。

毕业生去向(整体)

下面是匠人学院毕业生整体去过的公司分布(来自脱敏校友证言)。这是全平台的总体去向,不代表选这门课的人一定去这些公司。

统计自 313 份脱敏校友证言

Deloitte

6 位校友

岗位:Graduate Program · Graduate Consulting · Platform Engineer · Web developer · Platform engineer

Zerologix

4 位校友

岗位:Frontend Dev · junior frontend developer · Front-end Developer · Full Stack Developer

Servian

4 位校友

岗位:Full-stack Developer · Data Engineer · Consultant

关于这块数据,我们说实话

雇主墙来自脱敏毕业生证言(testimonials)的整体分布,无法关联到具体学员或其所选课程;仅作为毕业生去向的总体社会证明展示。

我们没有"某位学长选了这门课、后来进了哪家公司"这种可查询的个人去向档案 —— 校友证言是脱敏的,无法关联到具体的人或他选过的课。所以这里只给整体分布,不给个人路径,不编。