CS 算法系统学习路线¶
📚 学习理念¶
为什么学算法? - 提升代码效率和问题解决能力 - 建立可迁移的算法分析、实现与限时解题能力 - 优化 AI/ML 项目的性能 - 培养计算思维
学习原则 - ✅ 实用优先:先学最常用、性价比高的算法 - ✅ 代码实践:手写代码,不只是理解概念 - ✅ 循序渐进:从基础到高级,打好地基 - ✅ 反复练习:同一算法多次实现,加深理解 - ✅ 联系实际:结合 AI/ML 场景应用
🏆 在线练习入口¶
- Hot100 在线评测( 100 题):
05-在线练习/index.md - 评测标准与复杂度要求:
05-在线练习/01-评测标准与复杂度要求.md - 题目进度看板:
05-在线练习/00-Hot100扩题进度.md - 直达链接:
https://yz520gzy.top/算法/05-在线练习/
🎯 学习路径(共 4 个阶段)¶
阶段一:基础准备( 2-3 周)¶
目标:掌握数据结构和复杂度分析
- 复杂度分析( 2-3 天)
- 时间复杂度: O(1), O(n), O(log n), O(n²)等
- 空间复杂度
- 最好/最坏/平均情况分析
-
配套阅读:
复杂度上限与性能预算 -
基础数据结构( 1-2 周)
- 数组、链表
- 栈、队列
- 哈希表
-
树的基础概念
-
语言基础(持续)
- Python :列表、字典、集合的高效使用
- C++: STL 容器( vector, map, set 等)
练习重点:能快速选择合适的数据结构
阶段二:核心算法( 4-6 周)¶
目标:掌握最常用的算法思想
- 排序算法( 1 周)
- 快速排序(最重要)
- 归并排序
- 堆排序
-
应用场景理解
-
搜索算法( 1-2 周)
- 二分搜索(建议优先掌握)
- 深度优先搜索( DFS )
-
广度优先搜索( BFS )
-
动态规划( 2-3 周)
- 背包问题
- 最长公共子序列
- 爬楼梯问题
- 状态转移思想
练习重点:每类算法至少手写 3 遍
阶段三:进阶算法( 4-6 周)¶
目标:解决复杂问题的工具箱
- 图算法( 2-3 周)
- 图的表示方法
- 最短路径( Dijkstra )
- 最小生成树
-
拓扑排序
-
贪心算法( 1 周)
- 贪心思想
-
经典问题(活动选择、霍夫曼编码)
-
字符串算法( 1-2 周)
- KMP 算法
- 正则表达式基础
练习重点:综合运用多种算法
阶段四:实战强化(持续)¶
目标:算法应用与系统化复盘训练
- LeetCode 分类训练
- 按算法类型刷题
-
每周 2-3 道,重质量不重数量
-
AI/ML 中的算法应用
- 数据预处理中的排序/搜索
- 图神经网络中的图算法
-
动态规划在序列标注中的应用
-
代码优化实践
- 分析现有代码的复杂度
- 用算法优化实际项目
📖 学习资源¶
推荐书籍¶
- 《算法(第 4 版)》 - Sedgewick
-
特点: Java 实现,图解丰富,适合初学者
-
《算法导论》 - CLRS
-
特点:经典教材,理论深入,适合进阶
-
《剑指 Offer 》 - 何海涛
- 特点:问题驱动,中文资料丰富,实用性强
在线资源¶
- LeetCode 中国: https://leetcode.cn/
- VisuAlgo:算法可视化 https://visualgo.net/zh
- GitHub: awesome-algorithms 仓库
视频课程¶
- Coursera : Algorithms (Princeton)
- B 站:尚硅谷、左程云算法课
🛠️ 学习方法¶
每个算法的学习步骤¶
使用 AI 工具的正确姿势¶
- ❌ 不要:直接让 AI 写代码,复制粘贴
- ✅ 应该:
- 先自己尝试实现
- 用 AI 解释你不理解的代码
- 让 AI 给出变式题目
- 用 AI 检查你的代码逻辑
练习建议¶
- 每道题至少写 3 遍:
- 第 1 遍:看题解理解
- 第 2 遍:自己实现
-
第 3 遍:隔几天重新写
-
建立代码模板库:
- 每类算法积累通用模板
- 记录常见错误和陷阱
📊 学习进度跟踪¶
在 学习进度.md 中记录学习进度,包括: - 已学算法列表 - 刷题数量和类型 - 遇到的问题和解决方案
🎓 学习里程碑¶
- 里程碑 1 :能用时间/空间复杂度分析代码
- 里程碑 2 :能手写快速排序和二分搜索
- 里程碑 3 :能用 DFS/BFS 解决树/图问题
- 里程碑 4 :能用动态规划解决经典问题
- 里程碑 5 : LeetCode 刷题 50+,中等题通过率 70%+
- 里程碑 6 :能优化自己 AI 项目的代码性能
🚀 开始学习¶
从 01-基础/ 开始你的算法之旅!记住:
"最好的学习方法就是实践。每天进步一点点,持续坚持。"
加油!💪
最后更新日期: 2026-04-03 适用版本:算法教程 v2026
⚠️ 核验说明(2026-04-03):本页已按算法总入口的用途重新复核。已重点收回“只面向大厂面试”的单一表述,改为兼顾基础学习、题型复盘、限时训练与工程应用;若涉及外部工具、平台题单或第三方资源,请以实际站点与当前环境为准。