如果你想入门算法,那么我这篇文章也许可以帮到你。

oj网站有这么多,当然还有其他的。我当初是在hdu上面刷的,不要问我为什么,问就是当时我也是一个新手,懵懵懂懂就刷起来了。点这里可以进入这个网站https://vjudge.net/



我只在hdu上刷其他的没刷过。让我建议的话也是建议你刷hdu,差不多真的。

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

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

接下来分享一下当时我是怎么刷这些题的(下面的一些数字要是看着比较烦的话可以不用太关注),我没看任何人的推荐路线去刷这些题(那时候我也不知道还有刷题路线这些东西啊,纯新手对一切一无所知)。登陆进去hdu一般情况下是在第11页开始的(现在好像又从第一页开始了,从哪里开始不要紧),也就是题号是2000,当时懵懵懂懂从2000一直刷到了2058。越到后面感觉有些题目难度就上来了(当然这是对我来说的)。有些题即使是看了很多的题解我还是不会,无奈只能跳过。

一路刷到2058题后,我发现题号是从1000开始的,前面还有好多题没有刷就跳去第一页刷题。所以后面我就从1000开始刷了。不过这次我学聪明了,我没有全部都刷。我只刷一些比较多人刷的题目,这里强烈推荐提交量超过30000的记住是提交量不是通过量。刷这些提交量通过三万的理由如下,这些提交量三万以上的题目基本上道道是算法精品,是非常基础的算法题,可以当作模板。我一路从1000刷到了2000左右(后面就没怎么刷了)。基本上所有的30000通过量以上的题目都给刷了一遍。刷完感觉自己好像变强了,最主要的是自己的思维逻辑提升上来了_

其实刷20000提交量以上也是可以的,那些应该也是一些算法题,有实力的可以这样子做。

如果你问我没有基础去刷这些题会不会困难,额确实是比较难,不过难也就难一个月左右吧。我刷hdu大概刷了一个月(期间痛苦并快乐着),就刷完上面所列的那些题目了。刷这些题的时候我才刚刚开始知道算法大概是个什么东西。我的基础只有大一刷的一些基础C语言题目,期间思维的转变很关键。开始基本上很多题目都是找百度的。每道题目看了好多个人的题解,大多数时候看的一脸懵逼,不过还是慢慢坚持下来并且适应了。

如果你问我一个月够了吗的话。一个月是真的够了,只要你吧一天的主任务放在刷题上真的可以入门这些非常有用的算法,从此飞黄腾达(其实是掉进了坑哈哈,不过为了钱一切都值得)。如果你再肝一点半个月估计也可以搞定。

这里再分享一下我看题解的一些小技巧。开始刷到算法题(那时候并不知道这些题是算法题)是真的痛不欲生,百度题解一脸懵逼,看了好多题解还是不太懂这道题,不过看多一点题解就是我要分享给你的小技巧。刚学的算法题,随便找一些自己认为比较好的(推荐代码简洁的),然后就去认真的看,看不懂没关系一遍很难看懂的(对未知感到恐惧很正常,但心态放平不要畏难真的很重要,这不是鸡汤,不少人应该亲生经历过),可以不用继续看他的题解,去看其他人的题解,认真看个几个人的题解,慢慢的你就会对这个算法有一个大概的了解,看着看着你就会豁然开朗,感觉看的题解差不多的时候,就从中挑一个自己认为比较简洁的代码去看(记得多问几个为什么),一定要每一个细节都搞明白,为什么这里是这样子,那里是那样子。多动手在纸上模拟(这样子不容易开小差)。

曾国藩说过这样一句话“大处着眼,小处着手;群居守口,独居守心”。我的刷题方法似乎在一定程度上吻合了“大处着眼,小处着手”这八字真言哈哈。这八个字放在哪其实都是可以的。不赞一波吗,喜欢的可以关注一下我的公众号玩编程地码农啊。

如果你问我现在开始学的话晚了吗?你能看到我这篇文章,那就说明不晚,至少你正在找一个让自己变优秀的理由。我没有理由给你,但我用我的实际行动告诉你,只要你坚持一个月,你一定会变得更优秀。相信你学完这些算法会找到让自己变优秀的理由(哪怕是为了钱也好)。

如果你不喜欢刷题,想快速入门算法我觉得是不太可能的,学算法一个比较好的办法就是持之以恒的刷题。

这些题量多吗?真心不多,坚持一个月,即使是你没有任何的算法基础,只要你会一门语言,就ok啦。当时我是大一第一学期学了C语言,寒假边学C++边刷hdu的。

这篇文章也是一时心血来潮,想着把自己的经历让大家看见,希望大家能少走点弯路。

最后再谈一下我学了这些算法之后的一些成效,这些算法学完之后不久,我就陆陆续续去学习其他数据结构与算法了,例如什么红黑树啊,B树啊,跳表啊之类的。新的数据结构与算法难度变大了,但是我花的时间却不多,很多知识都能够不费太多精力就看懂,这可能是我刷题之后思维的提升和能力的提升的一种表现。相信我花一个月去刷刷题目,刷完之后你会有意向不大的收获。

逼迫一下自己,一切都是从这里开始。

如果觉得有收获,不妨花个几秒钟点歌赞,欢迎关注我的公众号玩编程地码农,目前专注写数据结构于算法相关知识。

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

  1. 大一寒假我在一个oj网站只刷了这些题从此入门了绝大部分通用算法

    如果你想入门算法,那么我这篇文章也许可以帮到你. 先说点题外话.这是在一个不冷不热的寒假,照理来说寒假应该很冷,但这个寒假是真的舒服.这样舒服的寒假学习似乎是一件不可能的事情,所以我继续我的游戏生涯, ...

  2. 各种OJ网站,刷题必备

    各种OJ网站 落谷 vijos JoyOI CodeVS Comet OJ 北京大学 浙江大学 杭州电子科技大学 信息学奥赛一本通 以上就是本蒟蒻所知的OJ网站 收集和打字应该值一个赞吧

  3. 一个月的时间--java从一无所有到能用框架做点东西出来

    四月20号到六月2号 因为顺利完成了Struts在线考试系统的学习,基本掌握了struts框架的原理和他众多复杂的标签.趁着下一件事情还没到时间,也顾不上写昨天研习的student部分和今天stude ...

  4. (Java) 2014年1月1日减一个月涉及时间与字符的转换

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

  5. php 根据输入的参数,获取上季度最后一个月的时间

    public function getTime( $time ='2017-06-01 00:00:00'){ $month = date('m',strtotime($time)); $season ...

  6. Mysql 查询一个月当前时间一个月之前的数据

    sql: AND date_format(createDTM, MONTH),'%Y-%m-%d')

  7. 花1个月时间准备 面试华为,薪资和定级都谈好了却被拒,HR竟说......

    说在前面,千万不要频繁跳槽. 本来华为很想去的,面试前花了一个月的时间准备,面试过程挺顺利的,也拒绝了其他的所有面试邀请,而我拒绝其他面试邀请的底气,则是之前面试过程中的良好表现,薪资和定级都谈好了. ...

  8. 自学一个月的java了

    不知道这篇博文有不有朋友看到.先自我介绍一下,硕士一年级下学期. 对编程感兴趣,硕士一年级下学期转学计算机专业,目前刚好一个月的时间.接触计算机也是刚好一个月的时间. 学习了java,javaweb. ...

  9. C# 时间计算 今天、昨天、前天、明天 一个月的开始日期与结束日期

    C# 时间计算    今天.昨天.前天.明天   class Program    {        static void Main(string[] args)        {          ...

随机推荐

  1. 入门大数据---Spark整体复习

    一. Spark简介 1.1 前言 Apache Spark是一个基于内存的计算框架,它是Scala语言开发的,而且提供了一站式解决方案,提供了包括内存计算(Spark Core),流式计算(Spar ...

  2. .Net: C#中的委托(Delegate)和事件(Event)

    委托和事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易.它们就像是一道槛儿,过了这个槛的人,觉得真 是太容易了,而没有过去的人每次 ...

  3. QtableWidget用法流程

    QtableWidget用法流程 ​ 作者:流火 日期:2020/5/10 QTableWidget的基本构造函数 QTableWidget 是QTableview的子类.主要去呗是QTableVie ...

  4. 用阿里的 sketch 插件 FusionDesign 来快速设计中后台

    Fusion Design 是阿里推出的新的基于sketch的快速设计方案,很适合快速设计中后台. (1) 到Fusion官方站点 https://fusion.design 注册并创建一个项目. ( ...

  5. jQurey Validation 1.16

    https://jeesite.gitee.io/front/jquery-validation/1.16/demo/index.html

  6. Springboot 2.X的RequestMapping 的映射路径怎么看不到了?

    在使用spring boot 1.X的时候我们可以在console中看到mapping的映射路径 2020-01-12 19:10:19.996 INFO 2711 --- [ main] s.w.s ...

  7. POJ 3263 Tallest Cow 题解

    题目 FJ's \(N (1 ≤ N ≤ 10,000)\) cows conveniently indexed 1..N are standing in a line. Each cow has a ...

  8. 脱壳实践之寻找OEP——两次内存断点法

      0x00 前言 对于加壳程序第一件事就是要找到OEP(oringinal Entry point),由于加壳的缘故,当PE文件载入OD或者其他调试软件时进入的的往往是壳程序的入口地址.所以要进行逆 ...

  9. day52 html进阶

    目录 一.分组与嵌套 二.伪类选择器 三.伪元素选择器 四.选择器优先级 五.css属性相关 1 字体属性 2 文字属性 3 背景图片 4 边框 5 display属性 6 盒子模型 7 浮动 一.分 ...

  10. 用python实现栈/队列/双端队列/链表

    栈是元素的有序集合,添加操作与移除操作都发生在其顶端,先进后出栈操作:创建空栈,增删(顶端),查(顶端元素,元素个数,是否为空)应用:将十进制数转换成任意进制数 class Stack: # 用列表创 ...