数据结构翻车司机的心得分享~

来源:互联网 发布:去北极穿什么 知乎 编辑:程序博客网 时间:2024/05/08 02:41
不知道写这篇文章是不是有人看,喝了点酒,脑子糊里糊涂,看着这贴吧满屏幕的广告和助攻党,我真想,要是我年轻十岁,也许还会喷一下,也许拎着我40米的砍刀就出来了,可是现在,不知道是老了,还是成熟了,没有了那种冲动,今天,已经连续加了40天的班,很累,可是又不想睡,索性再啰嗦啰嗦,讲到什么算什么,愿意看的就当看个故事,我的一些心得,愿意分享给那些处于迷茫中,想要好好学习的童鞋,希望多少对你们有些帮助,没酒了,不知道这种状态能持续多久,说不定写了一半就关了。。
我08年考上大学,985,211,也许被很多人羡慕,也许被很多人鄙视,曾经我也自认为是一个轿子,可是来到大学后才发现,自己根本不能算作强,有句话说得好,山外有山,特别是当你努力的时候,你所关注的都是那些努力的人,他们比你努力,比你优秀,而你只能恨自己过去不努力,不争气,现在想学习,却有心无力,那种想要制霸高点,蔑视一切的感觉,谁都会有。可是无论你多差,总有比你还颓废的人,无论你多强,总有强者在你前方。
记得我读研那会,研究的方向不被认可,被所谓的论文困扰着,自己很烦。就一个人闷在住的地方, 下午两点起床,就跑去网吧打LOL,晚上6,7点去暴饮暴食一顿,回去继续玩,到一两点才回去,看直播看到5点,睡觉,就这样搞了一两个月,我也觉得挺好,还是那句话,人在颓废的时候,总觉得自己还OK,就像一个怪圈,我那个时候挺满足,甚至有时候还觉得很幸福,人生简简单单,混个毕业,不就得了?好在我那时候是自己在外边租房子住,没有打扰到室友,这也是我现在想想庆幸的地方,因为你总有一天会明白,做人比做事更重要。
所以后来在毕业的时候,为了写论文,连续两三个星期,每天只睡两三个小时,逼得自己想哭,甚至想自杀,可是有什么用呢,恨只能恨自己,太任性,浪费了时间,没有好好搞事,又没有勇气去打破现有的规则,患得患失。那一阵子,头发都白了许多,我只是不停地暗示自己,总会过去的,记得有一天,5点才睡,改论文,早上8点,老师打电话给我,叫我过去一趟,我匆匆做个摩的就过去了,然后告诉我,你这论文太差,没什么东西,你延期毕业吧。
你能想象那是什么滋味吗,还是恨,恨自己。
说这么多只是想说,出来混,总是要还的,你今天的放纵,未来必定要付出10倍的努力去偿还,要么就破罐子破摔,永远不要拥有梦想,要么你从现在就开始,去努力,努力的最好时候,第一是你最后悔的从前,第二就是现在,人生最可怕的就是你的现状配不上你的梦想。
咱就聊聊数据结构的事吧。
真的学不会。
我是大二学的数据结构,那时候刚上大学,一切对我来说都很新鲜,社团组织,dota(那个时候还没LOL),我总觉得人生正值当年,为什么要浪费时间在学习上。所以大一C语言学的就马马虎虎,代码也没有写过多少,那时候一个指针,根本不知道是什么东西,反正糊里糊涂就混过去了。所以当我学数据结构的时候,根本就是在看天书,我除了能知道点数据结构基本思路,比如栈是后入先出的,到写代码那就完全不会了。学到树和图那一块,别说代码,基本原理都看不懂。我记得那时候有上机作业,老师会给出一份代码,剩下的让自己补全,我连编译都通不过,你还让我写代码?所以那时候我的作业基本上也是抄的,那时候有同学在搞ACM(不知道得自己去查),这些题目都是随便写写,我也随便抄抄,我也不羡慕和佩服他们,你要知道,你关注什么,你才在乎什么。所以当我后来搞ACM的时候,那又是一波一波的被嘲讽,不过那都是后话了。
真正对我开始有改变的时候,是大三开学的时候,有两个星期的工程培训,这是个什么概念的,就是把你丢到一个实验室里(机房,而且配置很差的那种),要求每个人挑两个C语言大题目,类似图书管理,简单的word文字排版,跑得快小游戏等等,一个星期验收一道题目。混还是可以混,找点代码改改就行了,不过老师是要问你代码的,你讲不清楚,那就过不了,所以我那个时候就开始认真的搞搞事。凭借一点微弱的基础,一点一点的改。不懂得就问老师,也亏那个时候遇到一个好老师,很耐心的跟我讲。记得刚开始的时候,就是对着电脑发呆。熟练性的打出helloworld,然后对着输出面板发呆。根本不知道从何下手。然而事情有时候就是这样的奇妙,当你开始决定做好一件事的时候,即使发呆也会有收获。我就盯着网上的一个代码去看好像是一个跑得快的程序,看不懂,怎么办,盯着看。就这样我盯着一个代码看了硬是两天,然后我觉得自己忽然好想看懂了点什么,起码我知道->这个符号是指针了。然后我就对着代码去翻书,去想这个指针到底是什么玩意。看了一两天,突然有种大彻大悟的感觉。
printf("hello,world");
继续发呆。
那能怎么办,抄吧,一行一行的抄,抄了两遍。
有时候我都觉得自己了不起,一个星期写的代码,比我整个大一一年写的都多。
这个时候就有点感悟了,当你专注于一个事情的时候,他也会关注你,慢慢走进你的世界,别想了,那个程序最终我没能在一个星期内写出来。学习是这样的,你不能指望一口吃个胖子,不对,不太合理,而是,如果你是个胖子,你不能指望一下子瘦下来,因为减肥是个痛苦的事情,学习也是。除非你不是人,拥有那种常人没有的毅力,能逼自己去做自己不感兴趣的事情。但大多数人不是,但是有时候事情又很奇妙,当你不停地逼自己去做一件事的时候,你慢慢的就对它产生了兴趣,就像你看一个人,刚开始觉得不太顺眼,后来就觉得还行了一样。所以,你得逼自己一把。
多时候,很多过来人都讲不清楚怎么慢慢成为高手的,因为很多东西就是个感悟的问题,计算机对很多刚开始学习的人来说,就是一个陌生的世界,你要做的不是用已有的基础去解释它,而是接受它,适应它,而后慢慢的培养出感觉。这可能就是所谓的觉悟,悟是一个过程,是你不断努力,去了解它,去参悟它的过程,而觉是一个瞬间,突然你不知道怎么得就开窍了,就是量变产生质变的道理,只管去学,它出现的那一刻,你往往是不知不觉的,就像你爱上一个人。
而我可以负责任的告诉你,参透计算机的世界,就是不停的写代码,不会写,就去看,然后去抄。只要代码量上去了,你自然而然就懂了。但说到这,我还得提醒一句,你得稍微用点心,不理解没关系,但是你至少要尝试要去理解,去用心。
我后来自己在暑假的时候,自己逼自己在图书馆坐了两个星期,拿着一本数据结构书,不停地看,用纸去抄代码,回去自己再手打出来,然后编译通过,就OK了。抄几遍就会了。学习语言和数据结构,或未来的算法,最重要的就是抄,刚开始一些理解很多代码是很难的,你要一点一点的抄,先把基础的抄了,编译不报错,再慢慢增加,一步一步去理解每一个步骤是干嘛的,这样才行。
总而言之,你要去逼自己,并告诉自己成功没有捷径,不能急功近利,一点一点积累自己,各个击破,你才能够去学会一样东西,成为高手。你只想着应付,是不可能走得太远得,这一点是绝对可以肯定,天道酬勤,说句不好听的话,我还真不希望一下子就能成为高手,因为当有一天你能成为高手的时候,你付出了,你肯定不希望别人一下子就超过你吧?嗯?
酒醒了,一下子不知道怎么说了,知识是一种领悟一种融会贯通的存在,随着你的学习,你的知识库的加深,你会越来越理解,刚开始觉得难很正常。看书看到不会的,可以先放放,换本书再看,再不会再换,然后再从头从简单的看起,就跟四级词汇abandon一样,但你可不能刚开始就放弃了。然后看着看着就突然理解了,我确实暂时也没有想到特别解释去说明这个问题,不过很多大神都这么说,当你遇到瓶颈的时候,你就去想想觉悟和硬着头皮这几个字。
说了半天,也许根本没有说到什么学习数据结构的方法, 就是瞎扯淡,没错。没有什么捷径,也没有什么方法,当你想学的时候,你自然会找到方法。你想学会和你要学会不是一个概念,如果学习一个东西和呼吸一样重要,就没有你解决不了的问题。
只是你对自己太宽容了,不逼自己一把,你根本不知道自己有多优秀。
多写代码,多写代码,多写代码。
明天还上班,就不写了,如果你觉得这篇文章对你有收获,那就最好了,我有一个学习群:205481014,不过自己很忙,一直没时间去打理,曾经还做过直播讲讲C语言什么的, 如果有时间,我还想搞点事情,我也不是什么大神,总之一起努力吧!有什么想法欢迎与我交流~

1 0