1. 程序 = 数据结构 + 算法
2. 进修:刚末尾看时必然会有些不清楚,因为你是刚学完 C 语言,对 C 语言还不太闇练。你进修数据布局时找一本经典的数据布局书,看完一个数据布局后用 C 语言将其完成。末尾时的完成必然会有艰辛,那么请 谷歌 下会有很多优良的数据布局源码的。你可以摹拟这些优良的源码写。请记住必定要么尾时本身完成,当被卡住了就看一下源码,看看本身被卡在了甚么处所,惹起寄望以便下次本身会写。当你把书上的数据布局源码写了一遍以后,你曾超越了你绝大年夜大年夜局部的同窗。
3. 应用: 这时候你就需要对这些数据布局加以应用,你可以在 谷歌 上搜刮“某个数据布局 + ACM”,你就会看到一些标题问题,这些标题问题都是数据布局的应用,乃至有这些数据布局的变形。每种数据布局做5题旁边。期间你还会碰着法度典型另外一首要的方面算法,有不会的就 谷歌。 期间可以学到的数据布局和算法做小软件玩儿,例如缩短软件,五子棋之类的。
4. 深切: 当你完成了第三步你曾是你们学校的小高手了。这时候看你的偏向假定这时候发现本身爱好 ACM 的话就去弄 ACM,假定不感兴味,就找本身感兴味的技能进修一下,做几个完全的项目,例如写个编译器,或许完成一个简单的编程措辞。
总结:不管选择哪条路子只需遵循这些做了,你毕业后必然会成为抢手货。
题外话:1.一个工程问题首先抽象成理论问题,然后利用数学方法进行推演解决,获得了理论知识。然后一套理论知识形成一本书或者一门课。学一门课首先或者最终一定要搞清它解决的是什么样的工程问题,才算是学懂了。
换句话说,你要知道当初那个人是遇到了多么苦逼的问题,才提出一个这么牛逼的解决办法。
2.学一门课,最重要的是理解,遇到实际问题要知道用什么方法去解决。
打个比方就是为知识在大脑内存里建立索引,将知识存在外存,比如书本,百度之类,用到了再去复习一下读进内存。(不排除有内存够大的同学都记在脑子里)
比如当要你用关系数据库去存储树结构的时候,当给你链表让你拼写返回json数据的时候,当你要搜索一个矩阵中的连通区域的时候,最最起码要做到的是,知道自己现在需要一本数据结构的书,再好点要知道用哪一个章节的哪个模型。
学霸可能已经动手写出来了,但作为学渣翻翻书再写出来,也不会很丢人吧。
而且,下次你就可能就用不到翻书了。
3.不要让死气沉沉的概念、定义,约束了自己的想象力。一开始定义这个定义的人,沉淀了自己的思想,做出了精准的描述,为的是更好的与别人交流这个东西,而不是用来约束别人的思想。
4.当然,自己的专业知识、专业技能,最终还是要沉淀下来,毕竟还要靠它吃饭。最后还是赶快听楼上几位大牛的忠告,脚踏实地的去码代码吧...
领取专属 10元无门槛券
私享最新 技术干货