🐸 青蛙编程网

算法导论

算法导论:让程序又对又快——查找、排序、递归、动态规划的内功心法。Python 基础学完后,这是拉开差距的一块拼图,全 6 章已上线。

章节规划

章节 内容 核心知识点 状态
1. 算法是什么 步骤与大 O 直觉 算法定义、时间复杂度 O(1)/O(n)/O(n²)、大 O 直觉 ✅ 已上线
2. 查找 线性查找与二分查找 in 运算符、二分查找逻辑、有序前提 ✅ 已上线
3. 排序 冒泡排序与内置 sorted 冒泡排序原理、sorted()、list.sort() ✅ 已上线
4. 递归 自己调用自己 递归定义、递归终止条件、递归 vs 循环 ✅ 已上线
5. 贪心与动态规划 贪心策略与 lru_cache 贪心局部最优、递归+缓存、functools.lru_cache ✅ 已上线
6. 综合练习 经典题三连 三道经典算法题,用所学全部解一遍 ✅ 已上线

适合谁看

  • 已学完 Python 基础,学过列表与字典更佳
  • 想理解"代码怎么写才快",而不仅仅是"能跑"
  • 为面试刷题、ACM 竞赛、或写高性能程序打基础

算法导论的核心思想

概念 一句话 为什么重要
时间复杂度 随数据增大,运行时间怎么增长 决定算法能否处理大数据量
二分查找 有序数据里"折半猜" 从 O(n) 降到 O(log n),快得多
递归 函数自己调用自己 树形问题、分治问题的自然表达
动态规划 把大问题拆成小子问题,结果缓存 避免重复计算,让指数级算法变多项式级

记忆口诀

大 O 看增长,二分要有序,冒泡简单但慢,递归有出口,缓存防重算。

动手建议

  1. 每章代码都建议本地运行一遍,用 time 模块测一下不同算法在同一数据上的耗时差异
  2. 完成《经典题三连》后,去 LeetCode / 力扣上找同类型题目练手
  3. 算法导论是"内功心法",不急于求快,理解原理比背代码更重要

前置:Python 基础,学过列表与字典更佳 🐸