花了一个月的时间在一个oj网站只刷了这些题,从此入门了绝大多数算法

如果你想入门算法,那么我这篇文章也许可以帮到你。
oj网站有这么多,当然还有其他的。我当初是在hdu上面刷的,不要问我为什么,问就是当时我也是一个新手,懵懵懂懂就刷起来了。点这里可以进入这个网站https://vjudge.net/

花了一个月的时间在一个oj网站只刷了这些题,从此入门了绝大多数算法_第1张图片
我只在hdu上刷其他的没刷过。让我建议的话也是建议你刷hdu,差不多真的。

先给大家看一下我oj网站上的记录,这是杭电刷题网站,我不是杭电的,我是一个非常非常普通的本科生。链接在这http://acm.hdu.edu.cn/

花了一个月的时间在一个oj网站只刷了这些题,从此入门了绝大多数算法_第2张图片

很水的数据提交错误(WA)的次数太多,但我确确实实是凭借它比大多数人都快速的入门了算法。这里题目不多而且很多是水题,刷水题也有不少好处能让你在学算法题的路上没那么枯燥。 大概有哪些算法呢?这里列出一些我当时做的题(有些不在上面)。题目都是非常非常基础的题目属于入门级别的基本上没有什么变形,可以说相当于模板了。

花了一个月的时间在一个oj网站只刷了这些题,从此入门了绝大多数算法_第3张图片

接下来分享一下当时我是怎么刷这些题的(下面的一些数字要是看着比较烦的话可以不用太关注),我没看任何人的推荐路线去刷这些题(那时候我也不知道还有刷题路线这些东西啊,纯新手对一切一无所知)。登陆进去hdu一般情况下是在第11页开始的(现在好像又从第一页开始了,从哪里开始不要紧),也就是题号是2000,当时懵懵懂懂从2000一直刷到了2058。越到后面感觉有些题目难度就上来了(当然这是对我来说的)。有些题即使是看了很多的题解我还是不会,无奈只能跳过。
一路刷到2058题后,我发现题号是从1000开始的,前面还有好多题没有刷就跳去第一页刷题。所以后面我就从1000开始刷了。不过这次我学聪明了,我没有全部都刷。我只刷一些比较多人刷的题目,这里强烈推荐提交量超过30000的记住是提交量不是通过量。刷这些提交量通过三万的理由如下,这些提交量三万以上的题目基本上道道是算法精品,是非常基础的算法题,可以当作模板。我一路从1000刷到了2000左右(后面就没怎么刷了)。基本上所有的30000通过量以上的题目都给刷了一遍。刷完感觉自己好像变强了,最主要的是自己的思维逻辑提升上来了_
其实刷20000提交量以上也是可以的,那些应该也是一些算法题,有实力的可以这样子做。
如果你问我没有基础去刷这些题会不会困难,额确实是比较难,不过难也就难一个月左右吧。我刷hdu大概刷了一个月(期间痛苦并快乐着),就刷完上面所列的那些题目了。刷这些题的时候我才刚刚开始知道算法大概是个什么东西。我的基础只有大一刷的一些基础C语言题目,期间思维的转变很关键。开始基本上很多题目都是找百度的。每道题目看了好多个人的题解,大多数时候看的一脸懵逼,不过还是慢慢坚持下来并且适应了。
如果你问我一个月够了吗的话。一个月是真的够了,只要你吧一天的主任务放在刷题上真的可以入门这些非常有用的算法,从此飞黄腾达(其实是掉进了坑哈哈,不过为了钱一切都值得)。如果你再肝一点半个月估计也可以搞定。
这里再分享一下我看题解的一些小技巧。开始刷到算法题(那时候并不知道这些题是算法题)是真的痛不欲生,百度题解一脸懵逼,看了好多题解还是不太懂这道题,不过看多一点题解就是我要分享给你的小技巧。刚学的算法题,随便找一些自己认为比较好的(推荐代码简洁的),然后就去认真的看,看不懂没关系一遍很难看懂的(对未知感到恐惧很正常,但心态放平不要畏难真的很重要,这不是鸡汤,不少人应该亲生经历过),可以不用继续看他的题解,去看其他人的题解,认真看个几个人的题解,慢慢的你就会对这个算法有一个大概的了解,看着看着你就会豁然开朗,感觉看的题解差不多的时候,就从中挑一个自己认为比较简洁的代码去看(记得多问几个为什么),一定要每一个细节都搞明白,为什么这里是这样子,那里是那样子。多动手在纸上模拟(这样子不容易开小差)。
曾国藩说过这样一句话“大处着眼,小处着手;群居守口,独居守心”。我的刷题方法似乎在一定程度上吻合了“大处着眼,小处着手”这八字真言哈哈。这八个字放在哪其实都是可以的。不赞一波吗,喜欢的可以关注一下我的公众号玩编程地码农啊。
如果你问我现在开始学的话晚了吗?你能看到我这篇文章,那就说明不晚,至少你正在找一个让自己变优秀的理由。我没有理由给你,但我用我的实际行动告诉你,只要你坚持一个月,你一定会变得更优秀。相信你学完这些算法会找到让自己变优秀的理由(哪怕是为了钱也好)。
如果你不喜欢刷题,想快速入门算法我觉得是不太可能的,学算法一个比较好的办法就是持之以恒的刷题。
这些题量多吗?真心不多,坚持一个月,即使是你没有任何的算法基础,只要你会一门语言,就ok啦。当时我是大一第一学期学了C语言,寒假边学C++边刷hdu的。
这篇文章也是一时心血来潮,想着把自己的经历让大家看见,希望大家能少走点弯路。
最后再谈一下我学了这些算法之后的一些成效,这些算法学完之后不久,我就陆陆续续去学习其他数据结构与算法了,例如什么红黑树啊,B树啊,跳表啊之类的。新的数据结构与算法难度变大了,但是我花的时间却不多,很多知识都能够不费太多精力就看懂,这可能是我刷题之后思维的提升和能力的提升的一种表现。相信我花一个月去刷刷题目,刷完之后你会有意向不大的收获。
逼迫一下自己,一切都是从这里开始。
如果觉得有收获,不妨花个几秒钟点歌赞,欢迎关注我的公众号玩编程地码农,目前专注写数据结构于算法相关知识。

你可能感兴趣的:(花了一个月的时间在一个oj网站只刷了这些题,从此入门了绝大多数算法)