用 Python 从复杂度、数据结构一路学到动态规划和图算法,建立可复用的算法解题框架。
Part 1
用时间复杂度和空间复杂度评估算法成本
理解连续存储、指针连接和增删查改成本
掌握后进先出、先进先出和单调结构
用映射快速定位,用堆维护动态最值
Part 2
比较冒泡、插入、归并、快速排序与稳定性
在有序空间和答案空间里缩小范围
把问题拆成子问题,用搜索树枚举选择
用状态、转移和初始化解决重叠子问题
用 BFS、DFS 和最短路处理关系网络