零基础捡起算法要几个月,从哪一题开始

有个朋友准备面试,第一周买了三本算法书,第二周开始刷第一章的证明,第三周就停了。

零基础捡起算法要几个月,卡住大多数人的不是难度,是起点选错了。直接从数组和哈希表开始,两个月能把常见中等题做下来;从数学证明开始,几周就会放弃。

前提:先看你为什么捡

如果是为了面试,目标就是「常见题能在规定时间里写对」,不需要系统学完整个算法体系。

如果是为了做工程里的性能优化,那重点完全不同,优先看数据结构和复杂度分析,少碰技巧题。

两种目标别混着补。混着补的结果是两头都没补完,还觉得自己很努力。

第一步:从数组和哈希表开始

这两类结构是绝大多数简单题和中等题的底层。先把「遍历一遍能不能解决」变成习惯,再学别的。

第一题建议挑一道两数之和这类用哈希表一次遍历就能过的题。它的价值不在题目本身,在于让你体会到「换个存储方式,复杂度就降下来了」。

一开始不要碰动态规划。它需要的前置感觉太多,上来就做会严重打击信心。

今天的动作:不要买书,先打开题库按标签筛出「数组」和「哈希表」,今天就做一道,做完写下思路。

第二步:按题型刷,不按题号刷

按题号刷是被动跟着题库走,按题型刷才是主动补短板。同一类题连做五到十道,做完写三行总结:这类题的第一步是什么、常见变体是什么、我上次错在哪。

一周只攻一个题型就够了。两周之后你会有明显感觉:看到题目能先归类,而不是先慌。

本周的动作:只选一个题型,把它刷到能闭着眼睛说出解题第一步,再去开下一个。

如果你现在连写代码的手感都生了,先立一条规矩:看完题目先自己写,写不出来再看题解,看完立刻关掉重写一遍。

第三步:用复盘替代刷题量

刷题量的意义有限,因为忘得也快。有价值的是错题复盘:把每道做错的题记一行——错在边界、错在思路、还是错在写不出来。

这行记录比题目本身重要。面试前你翻的是这几行,不是几百道题。

复盘还有一个附带好处:你会发现自己反复错在同一类地方,那就是你真正要补的点。

零基础捡起算法要几个月,时间怎么分

第一个月做简单题和入门中等题,把数组、字符串、哈希表、双指针、栈和队列过一遍,目标是能自己想出思路。

第二个月做中等题和复盘,加一点二叉树和搜索。到这时候你应该能在面试的规定时间里把常见中等题写出来。

超过两个月还是完全没头绪,先停下来检查方法,而不是继续加时间。多数情况是题型没归类,或者一直在看题解没自己写。

常见卡点

卡点一:只看得懂题解,自己写不出来。这说明你缺的是输出练习,不是理解。解决办法很简单:看完题解关掉页面,从空文件开始写。

卡点二:追求最优解,一道题耗两小时。先写出能过的版本,再看最优解。工程里也一样,能跑起来比一次写对更重要。

卡点三:刷完就忘。不要靠重刷解决,靠复盘记录解决。写下错因比再做十道新题更省时间。

要不要为了面试专门补课,可以先想清楚目标岗位到底考什么,再看自己缺的是算法还是项目表达。具体题型和流程以目标公司的官方招聘说明为准。

常见问题

Q:零基础捡起算法要几个月才够面试用?

按每天稳定投入来算,两个月能覆盖常见中等题。但这是「够用」,不是「精通」,具体还要看目标公司面试的题型偏好,以官方招聘说明为准。

Q:第一题应该从哪里开始?

从数组加哈希表的简单题开始,比如两数之和这类。先建立「用存储换时间」的感觉,再往下学别的结构。

Q:要不要先学完数据结构再刷题?

不用。边刷边补更快,遇到不会的结构再回头查,比先啃完整本书有效得多。

相关阅读


本文作者西米,37 岁程序员,一个人加五个 AI 员工在跑一家公司。踩过的坑和真实账本都写在公众号「西米分享」。

完整代码、踩坑清单与最新进展,都在公众号。

📱 关注公众号「西米分享」