Week 1Introduction to complexity of algorithms, asymptotic notations
从算法复杂度与 asymptotic notations 入门,建立分析算法效率的统一语言和比较框架。(数据来源:University of Adelaide 2025 Course Outline)
complexityasymptotic notationBig Oalgorithm analysis
💡 学习提示
• 帮我理解 asymptotic notations 的区别和用途
• 给我几道适合练习 Big O 判断的题
Week 2Integer arithmetic
讨论整数运算在算法中的成本与实现特性,为后续乘法与数值相关算法做准备。(数据来源:University of Adelaide 2025 Course Outline)
integer arithmeticnumber operationscost modelalgorithms
💡 学习提示
• Week 2 的 integer arithmetic 在算法分析里为什么重要?
• 帮我整理整数运算相关的复杂度考点
Week 3Recursive and Karatsuba multiplication
通过递归乘法与 Karatsuba 方法理解分治思路,观察复杂度优化如何改变大规模输入下的性能。(数据来源:University of Adelaide 2025 Course Outline)
recursionKaratsubadivide and conquermultiplication
💡 学习提示
• 解释 Karatsuba multiplication 为什么比普通乘法更快
• 帮我把递归乘法的思路画成递归树
Week 4Skip-lists
学习 skip-lists 作为随机化数据结构的核心思想,并比较其与平衡树的适用场景。(数据来源:University of Adelaide 2025 Course Outline)
skip-listsrandomised data structuressearchlevels
💡 学习提示
• 帮我理解 skip-list 的查找和插入机制
• 比较 skip-list 和 balanced tree 的优缺点
Week 5Hashing and hash tables
掌握 hashing 与 hash tables 的查找、冲突处理和平均复杂度分析,理解其在大数据场景中的价值。(数据来源:University of Adelaide 2025 Course Outline)
hashinghash tablescollisionslookup
💡 学习提示
• 解释 hash collision 的处理方式
• 帮我整理 hash table 的平均与最坏复杂度
Week 6Graphs and their representations
进入 graph representation,比较 adjacency list、matrix 等结构,并为图搜索算法打基础。(数据来源:University of Adelaide 2025 Course Outline)
graphsrepresentationsadjacency listadjacency matrix
💡 学习提示
• 帮我比较不同 graph representation 的空间和时间代价
• 给我一份图表示法的速查表
Week 7Breadth-first-search and depth-first-search
系统掌握 BFS 与 DFS 的遍历逻辑、复杂度和典型应用,是图算法部分的关键周。(数据来源:University of Adelaide 2025 Course Outline)
BFSDFSgraph traversalreachability
💡 学习提示
• 帮我比较 BFS 和 DFS 的典型应用
• 解释 BFS/DFS 的时间复杂度是怎么来的
Week 8Strongly connected components
在有向图上理解 strongly connected components,并把 DFS 推广到更复杂的结构分析问题中。(数据来源:University of Adelaide 2025 Course Outline)
strongly connected componentsdirected graphsDFSgraph structure
💡 学习提示
• 什么是 strongly connected components?
• 帮我用一个简单有向图解释 SCC 的求法
Week 9Shortest path problem
聚焦 shortest path problem,比较不同路径算法的假设前提、数据结构与时间复杂度。(数据来源:University of Adelaide 2025 Course Outline)
shortest pathgraphsweighted edgespath algorithms
💡 学习提示
• 最短路径问题有哪些常见算法路线?
• 帮我比较不同 shortest path 算法的适用前提
Week 10Dynamic programming
引入 dynamic programming,训练从重叠子问题与最优子结构出发重构算法设计方式。(数据来源:University of Adelaide 2025 Course Outline)
dynamic programmingoptimal substructurememoizationtabulation
💡 学习提示
• 帮我判断一道题是否适合 dynamic programming
• 解释 memoization 和 tabulation 的区别
Week 11Minimum spanning trees
学习 minimum spanning trees 的建模与算法,理解图优化问题里的全局最优与局部选择关系。(数据来源:University of Adelaide 2025 Course Outline)
minimum spanning treesgraphsgreedyoptimisation
💡 学习提示
• 解释 minimum spanning tree 的实际应用
• 帮我比较 MST 和 shortest path problem 的区别
Week 12Complexity classes: P versus NP
以 P versus NP 收束整门课,把具体算法分析提升到计算复杂性层面,为期末考试做概念整合。(数据来源:University of Adelaide 2025 Course Outline)
P versus NPcomplexity classeshard problemstheory
💡 学习提示
• P vs NP 在这门课里应该掌握到什么程度?
• 帮我把 COMP SCI 7201 的全部主题串成一张复习图