很多家长问:孩子想冲CSP-J,算法该怎么学?先学什么?再学什么?
今天,我给出完整的算法学习路线图,按阶段划分,附每个阶段的目标和推荐题单,让孩子不走弯路。
算法学习要循序渐进,贪多嚼不烂。每个阶段吃透再进入下一阶段。
学习内容:变量、数据类型、输入输出、顺序结构、选择结构、循环结构、数组、字符串、函数。
学习目标:能独立完成简单编程题,如判断闰年、水仙花数、简单排序。
推荐题单:洛谷【入门1】顺序结构、【入门2】分支结构、【入门3】循环结构,共50题。
学习内容:vector、string、stack、queue、deque、priority_queue、set、map、algorithm(sort、reverse、unique等)。
学习目标:熟练使用STL解决问题,代码量减少一半。
推荐题单:洛谷【STL】专题,共30题。
学习内容:枚举、模拟、高精度、排序(sort)、贪心算法、二分查找、递归、递推。
学习目标:能解决普及组前2题难度的问题。
推荐题单:洛谷【算法1-1】模拟与高精度、【算法1-2】排序、【算法1-3】暴力枚举、【算法1-4】贪心,共80题。
学习内容:深度优先搜索(DFS)、广度优先搜索(BFS)、回溯、剪枝优化。
学习目标:能解决迷宫类、排列组合类问题。
推荐题单:洛谷【算法1-5】搜索,共40题。
学习内容:背包问题(01背包、完全背包、多重背包)、线性DP(LIS、LCS)、区间DP、树形DP入门。
学习目标:能解决普及组动态规划问题。
推荐题单:洛谷【动态规划】专题,共60题。
学习内容:图的存储(邻接矩阵、邻接表)、最短路(Dijkstra、Floyd)、最小生成树(Kruskal、Prim)、拓扑排序。
学习目标:能解决普及组图论问题。
推荐题单:洛谷【图论】专题,共40题。
| 阶段 | 时间 | 每天时间 | 总题量 |
|---|---|---|---|
| 语法基础 | 1-2个月 | 45分钟 | 50题 |
| STL入门 | 1个月 | 30分钟 | 30题 |
| 基础算法 | 2-3个月 | 60分钟 | 80题 |
| 搜索算法 | 2个月 | 60分钟 | 40题 |
| 动态规划 | 2-3个月 | 60分钟 | 60题 |
| 图论基础 | 2个月 | 60分钟 | 40题 |
算法学习没有捷径,但有路线图。
按这个路线走,一年左右就能达到CSP-J一等奖水平。
📞 想获取完整题单和资料?可添加薛老师微信免费领取。