跳转至

快速开始

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用户

Bash
# 复制模板中的代码到 .py 文件后运行
python your_algorithm.py

C++用户

Bash
# 复制模板中的代码到 .cpp 文件后编译运行
g++ your_algorithm.cpp -o algorithm
./algorithm  # Linux/Mac
# 或
algorithm.exe  # Windows

你会看到各种算法的运行结果!


📖 今天的学习任务

任务1:理解复杂度 (15分钟)

  1. 阅读 01-复杂度分析.md
  2. 重点理解:
  3. 什么是大O表示法
  4. 常见复杂度:O(1), O(n), O(log n), O(n²)
  5. 如何计算代码的复杂度

任务2:看懂代码 (10分钟)

  1. 打开 模板/Python模板.md (或 C++模板.md)
  2. 找到快速排序的代码
  3. 试着理解每一行的作用

任务3:记录进度 (2分钟)

  1. 打开 学习进度.md
  2. 勾选"复杂度分析"的完成项
  3. 写下今天的学习心得

任务4:明天开始 (3分钟)

  1. 阅读完 01-复杂度分析.md
  2. 完成文中的练习题
  3. 准备开始下一个主题:基础数据结构

💡 学习小贴士

每天学习建议

Text Only
工作日:30-60分钟
- 15分钟:阅读学习资料
- 30分钟:手写代码
- 15分钟:完成练习

周末:60-90分钟
- 30分钟:复习本周内容
- 30分钟:LeetCode刷题
- 30分钟:总结笔记

三步学习法

对于每个算法:

  1. 理解 (20分钟)
  2. 阅读概念
  3. 看懂示例
  4. 画出流程图

  5. 实现 (30分钟)

  6. 自己手写代码
  7. 对比参考代码
  8. 理解差距

  9. 练习 (40分钟)

  10. 做2-3道练习题
  11. 总结易错点
  12. 记录笔记

🎯 本周目标

Week 1 目标

  • 完成复杂度分析
  • 完成基础数据结构(数组、链表)
  • 手写3遍链表操作
  • 完成5道LeetCode简单题

检查点

周末问自己: - 我能解释什么是时间复杂度吗? - 我能说出数组和链表的区别吗? - 我能手写一个链表的插入操作吗?

如果答案是"能",恭喜!你进入正轨了!


📚 推荐学习顺序

Text Only
第1周:复杂度分析 + 数组/链表
第2周:栈/队列/哈希表 + 树基础
第3周:快速排序 + 归并排序
第4周:二分搜索 + BFS/DFS
第5-6周:动态规划(5个经典问题)
第7-8周:图算法 + 贪心算法
第9周:字符串算法
第10周:综合练习 + LeetCode刷题

🔧 使用工具

VSCode配置

  1. 安装Python/C++扩展
  2. 安装Code Runner(快速运行代码)
  3. 配置代码片段(快速输入模板)

推荐插件

  • Python:Python, Pylance
  • C++:C/C++, C/C++ Extension Pack
  • 通用:Code Runner, Markdown Preview

测试代码

模板文件为 Markdown 格式,请复制其中的代码片段到对应的源文件中运行:

Bash
# Python示例:复制模板代码到 .py 文件后运行
python your_algorithm.py

# C++示例:复制模板代码到 .cpp 文件后编译运行
g++ your_algorithm.cpp -o algorithm && ./algorithm  # &&前一个成功才执行后一个;||前一个失败才执行

💬 获取帮助

遇到问题?

  1. 先看文档
  2. 学习指南:学习指南.md
  3. 各章节的详细说明

  4. 使用AI工具

  5. 让AI解释概念(不是直接要代码)
  6. 示例:"你能解释一下快速排序的分区过程吗?"

  7. 在线资源

  8. VisuAlgo:可视化算法过程
  9. LeetCode讨论区:看别人的题解

提问技巧

❌ 错误:"帮我写个快速排序" ✅ 正确:"这是我的快速排序代码,哪里有问题?"

❌ 错误:"我不懂动态规划" ✅ 正确:"我理解DP的基本概念,但在背包问题中,状态转移方程我不太理解,能详细解释一下吗?"


📊 进度追踪

如何使用 学习进度.md

  1. 打开文件algorithm/progress.md
  2. 更新进度
    Markdown
    - [x] 完成复杂度分析
    - [x] 完成基础数据结构
    
  3. 记录心得markdown ### 本周心得 今天学习了快速排序,理解了分治思想...text
  4. 制定计划
    Markdown
    ### 下周计划
    - 学习搜索算法
    - 刷5道LeetCode题
    

🎉 开始行动!

立即做这3件事:

  1. 打开 01-基础/01-复杂度分析.md
  2. 阅读 前10分钟的内容
  3. 查看 模板/Python模板.md 中的代码模板

明天做这3件事:

  1. 完成 复杂度分析的练习题
  2. 开始 学习基础数据结构
  3. 记录 学习进度到 学习进度.md

本周做这3件事:

  1. 完成 复杂度分析和基础数据结构
  2. 手写 3遍链表操作
  3. 刷题 5道LeetCode简单题

💪 最后的话

算法学习是一场马拉松,不是短跑。

  • 不要急于求成
  • 每天进步一点点
  • 坚持就是胜利

记住

"最好的学习方法是实践。看懂了不代表会了,会写了不代表理解了。多写、多练、多思考。"


📞 联系方式

如果你在学习过程中遇到问题: 1. 查看 学习指南.md 2. 使用AI工具辅助理解 3. 在LeetCode讨论区提问


现在就开始吧!打开第一个文件,开始你的算法之旅!🚀


创建日期:2025-01-25