Skip to content

jia6-6/algorithm-roadmap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 

Repository files navigation

算法自学进阶路线

👤 作者背景

  • 学历:民办二本,计科
  • 基础:大一上学期才接触算法,无竞赛培训资源
  • 成绩:自学算法半年,获17届蓝桥杯国二、AHCPC省二(单人扛队)
  • 目标:帮助和我条件相似的同学少走弯路

🎯 适合谁?

  • 大一想打蓝桥杯,但学校不教/老师不讲的
  • 自学算法找不到方向,刷了很多题但感觉没体系
  • 时间有限,需要一份"可直接执行"的紧凑计划
  • 和我一样基础薄弱、资源有限,但需要证明自己

🗺️ 路线总览

一轮:搭框架

不求深挖,只求识别类型、套用模板、理解原理。先建立完整算法世界观。

阶段 核心亮点 一句话目标
C语言+模拟 30分钟原则、边界条件处理、printf调试 把"人脑思路"精准翻译成代码逻辑
转战C++ 只学竞赛最小子集,不碰面向对象/模板/智能指针 STL效率翻倍,cin/cout优化必写
效率工具包 双指针、二分、哈希、前缀和、滑动窗口 认全工具箱,看懂复杂度速查表,学会"看数据范围猜算法"
链表指针 力扣原生ListNode接口,虚拟头节点处理边界 锻炼指针思维,同时服务数据结构课程
树+DFS+回溯 递归思维总决战:纸上画递归树、迭代+递归双掌握 DFS是万能钥匙,先写暴破版再优化,根治递归恐惧
图论+贪心 知识串联:并查集→Kruskal→Prim→Dijkstra 模板化恢复信心,建立"每次选当前最优"的贪心直觉
动态规划 防挫败设计:从DFS暴破→加memo→递推,三步走建立DP骨架 理解状态定义与转移方程,不碰高难变种,保住信心

二轮:填细节

真题驱动,从"会模板"到"会识别问题、主动选择工具"。

板块 核心亮点
真题初探 ABC分类法:A类知识盲区→留给扩展,B类学过没想到→重点记录,C类能写暴力→先骗分再学正解
小算法查漏补缺 二分边界闭眼写(左闭右开/左闭右闭)、sort自定义排序、二维前缀和公式推导
高精度 1天搞定加减乘除模板,看到超出long long立刻想到字符串模拟
DFS爆搜强化 5分钟定搜索框架,N皇后含剪枝闭眼默写,30分钟没思路立刻切暴力骗分
图论巩固 每个模板10分钟内默写,能说清每句代码含义,Prim和Dijkstra代码结构对比着学
贪心进阶 四类题型(排序/区间/优先级/构造),刻意用贪心写01背包并看到它失败——这是进入DP的最强动机
DP重兵突破 独立推导线性DP状态定义,三种背包(01/完全/分组)默写无误,记忆化搜索与递推互转
扩展提升 树状数组(理解lowbit对称性)、树形DP(独立集/最小点覆盖/最小支配集)、分层图最短路、区间DP、反悔贪心

📄 详细题单、时间预估、检验标准、配套题目 → 见下方

📥 路线PDF下载

一轮基础版

一轮基础版:点击在线预览PDF

二轮强化版

二轮强化版:点击在线预览PDF


🧠 设计决策与避坑注释(必看!)

如果你在阅读路线时觉得某些地方“不合理”或“权重偏颇”,大概率是因为以下设计考量:

1. 为什么链表模块权重偏大?

(答) 本路线不仅服务竞赛,也兼顾大学生数据结构课业。指针实现链表是期末笔试/机考的高频考点,此处多花时间,是为了让你在竞赛和学业之间少一次“临时抱佛脚”。

2. 为什么一轮都以力扣为主?

(答) 个人觉得力扣的只写主要代码的特点更能让人专注到算法中,以及力扣的题目大部分都比较简单而且经典更适合算法入门。

3. 为什么二叉树阶段推荐力扣(TreeNode*)而非洛谷(数组模拟)?

(答) 数组模拟会掩盖递归的返回值传递过程。力扣的指针版强行逼你思考“这个递归到底要返回什么”,是练递归内功的最佳道场。等递归通了,二轮再看数组模拟,一天就会。

4. 为什么动态规划(DP)一轮只做引入,二轮才重兵投入?

(答) 本人当初在DP上硬刷到怀疑人生,每道题都靠题解,怀疑人生差点放弃算法学习。所以这里一轮只建立“DFS→记忆化→递推”的认知,对DP只做初步的了解,保住你的信心。二轮再火力全开,那时候你已经有地图了。

5. 为什么反悔贪心/分层图篇幅较短?

(答) 分层图本质是“最短路+DP状态”,底子好了一天就能通;反悔贪心实战频率不高,且核心就一句“先选再踢”。学透思想即可,不必沉溺。


⚠️ 免责声明

本路线基于个人真实学习经验总结,非标准教材,也非唯一正确路径。
文件中的题目仅作参考,自己觉得刷完达不到标准的地方自行找更多的题目练习。 算法学习因人而异,请根据自身情况调整节奏。 我当初踩过的坑,或许能帮你绕过去。

🤖 关于AI工具的坦诚说明

本路线的核心逻辑、阶段划分、题型筛选、难度把控、避坑注释,均为本人基于半年自学的亲身经历手动撰写。

在成文过程中,我使用AI工具(如ChatGPT/Claude)进行了以下辅助:

  1. 语法与错别字修正(让语句更通顺);
  2. 排版优化(Markdown/表格格式化);
  3. 逻辑漏洞排查(帮我指出哪些地方跳步太快,哪些地方兼顾不到)。
  4. 部分题目有AI帮忙补充挑选的 都源于我个人在键盘前崩溃又爬起的真实经历。

About

零基础算法自学路线

Topics

Resources

License

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors