快速开始¶
5分钟快速上手本学习系统
作者: 誌 日期: 2025-01-25
🎯 你好!¶
欢迎开始你的算法学习之旅!本指南将在5分钟内帮你快速上手。
📁 你现在拥有的资源¶
在 算法/ 文件夹中,你已经有了:
✅ 学习路线图 (README.md) - 4个学习阶段 - 清晰的学习路径 - 进度追踪建议
✅ 基础课程 (部分完成) 1. 复杂度分析 - 算法学习的第一课 2. 基础数据结构 - 数组、链表、栈、队列、哈希表、树 3. 排序算法 - 快速排序、归并排序、堆排序 4. 搜索算法 - 二分搜索、BFS、DFS 5. 动态规划 - 5个经典DP问题
✅ 代码模板 (模板/) - Python模板:Python模板.md - C++模板:C++模板.md
✅ 学习工具 - 进度追踪表:学习进度.md - 学习指南:学习指南.md
🚀 现在就开始!¶
第一步:打开第一个文件 (1分钟)¶
打开 01-基础/01-复杂度分析.md
这是你的第一课:复杂度分析。
第二步:阅读并理解 (3分钟)¶
快速浏览这个文件: 1. 看看"为什么学复杂度分析"部分 2. 浏览常见的时间复杂度:O(1), O(log n), O(n)等 3. 看一个代码示例
第三步:阅读代码模板 (1分钟)¶
打开 模板/Python模板.md(或 模板/C++模板.md),复制其中的代码示例运行:
Python用户:
C++用户:
# 复制模板中的代码到 .cpp 文件后编译运行
g++ your_algorithm.cpp -o algorithm
./algorithm # Linux/Mac
# 或
algorithm.exe # Windows
你会看到各种算法的运行结果!
📖 今天的学习任务¶
任务1:理解复杂度 (15分钟)¶
- 阅读
01-复杂度分析.md - 重点理解:
- 什么是大O表示法
- 常见复杂度:O(1), O(n), O(log n), O(n²)
- 如何计算代码的复杂度
任务2:看懂代码 (10分钟)¶
- 打开
模板/Python模板.md(或C++模板.md) - 找到快速排序的代码
- 试着理解每一行的作用
任务3:记录进度 (2分钟)¶
- 打开
学习进度.md - 勾选"复杂度分析"的完成项
- 写下今天的学习心得
任务4:明天开始 (3分钟)¶
- 阅读完
01-复杂度分析.md - 完成文中的练习题
- 准备开始下一个主题:基础数据结构
💡 学习小贴士¶
每天学习建议¶
工作日:30-60分钟
- 15分钟:阅读学习资料
- 30分钟:手写代码
- 15分钟:完成练习
周末:60-90分钟
- 30分钟:复习本周内容
- 30分钟:LeetCode刷题
- 30分钟:总结笔记
三步学习法¶
对于每个算法:
- 理解 (20分钟)
- 阅读概念
- 看懂示例
-
画出流程图
-
实现 (30分钟)
- 自己手写代码
- 对比参考代码
-
理解差距
-
练习 (40分钟)
- 做2-3道练习题
- 总结易错点
- 记录笔记
🎯 本周目标¶
Week 1 目标¶
- 完成复杂度分析
- 完成基础数据结构(数组、链表)
- 手写3遍链表操作
- 完成5道LeetCode简单题
检查点¶
周末问自己: - 我能解释什么是时间复杂度吗? - 我能说出数组和链表的区别吗? - 我能手写一个链表的插入操作吗?
如果答案是"能",恭喜!你进入正轨了!
📚 推荐学习顺序¶
第1周:复杂度分析 + 数组/链表
第2周:栈/队列/哈希表 + 树基础
第3周:快速排序 + 归并排序
第4周:二分搜索 + BFS/DFS
第5-6周:动态规划(5个经典问题)
第7-8周:图算法 + 贪心算法
第9周:字符串算法
第10周:综合练习 + LeetCode刷题
🔧 使用工具¶
VSCode配置¶
- 安装Python/C++扩展
- 安装Code Runner(快速运行代码)
- 配置代码片段(快速输入模板)
推荐插件¶
- Python:Python, Pylance
- C++:C/C++, C/C++ Extension Pack
- 通用:Code Runner, Markdown Preview
测试代码¶
模板文件为 Markdown 格式,请复制其中的代码片段到对应的源文件中运行:
# Python示例:复制模板代码到 .py 文件后运行
python your_algorithm.py
# C++示例:复制模板代码到 .cpp 文件后编译运行
g++ your_algorithm.cpp -o algorithm && ./algorithm # &&前一个成功才执行后一个;||前一个失败才执行
💬 获取帮助¶
遇到问题?¶
- 先看文档
- 学习指南:
学习指南.md -
各章节的详细说明
-
使用AI工具
- 让AI解释概念(不是直接要代码)
-
示例:"你能解释一下快速排序的分区过程吗?"
-
在线资源
- VisuAlgo:可视化算法过程
- LeetCode讨论区:看别人的题解
提问技巧¶
❌ 错误:"帮我写个快速排序" ✅ 正确:"这是我的快速排序代码,哪里有问题?"
❌ 错误:"我不懂动态规划" ✅ 正确:"我理解DP的基本概念,但在背包问题中,状态转移方程我不太理解,能详细解释一下吗?"
📊 进度追踪¶
如何使用 学习进度.md¶
- 打开文件:
algorithm/progress.md - 更新进度:
- 记录心得:
markdown ### 本周心得 今天学习了快速排序,理解了分治思想...text - 制定计划:
🎉 开始行动!¶
立即做这3件事:¶
- 打开
01-基础/01-复杂度分析.md - 阅读 前10分钟的内容
- 查看
模板/Python模板.md中的代码模板
明天做这3件事:¶
- 完成 复杂度分析的练习题
- 开始 学习基础数据结构
- 记录 学习进度到
学习进度.md
本周做这3件事:¶
- 完成 复杂度分析和基础数据结构
- 手写 3遍链表操作
- 刷题 5道LeetCode简单题
💪 最后的话¶
算法学习是一场马拉松,不是短跑。
- 不要急于求成
- 每天进步一点点
- 坚持就是胜利
记住:
"最好的学习方法是实践。看懂了不代表会了,会写了不代表理解了。多写、多练、多思考。"
📞 联系方式¶
如果你在学习过程中遇到问题: 1. 查看 学习指南.md 2. 使用AI工具辅助理解 3. 在LeetCode讨论区提问
现在就开始吧!打开第一个文件,开始你的算法之旅!🚀
创建日期:2025-01-25