对数据结构的学习断断续续持续了有三个月之久,随着《数据结构与算法经典问题分析》Java语言描述 一书的结束,数据结构的学习也暂告一段落。这并不意味着停止学习算法,后面我将会继续学习并不断提高自己表述能力。
数据结构学习绝非一蹴而就,就拿我这本书来说,其中有太多的知识我被我忽略,大有捡了籽麻丢西瓜的感觉。后期我会不断充电学习,把自己的内功修炼到家,不然到了社会上会被批死。
简单总结:
1.尽信书不如无书;
学习过程中要保持思想独立,跟着作者分析问题时,要多想想为什么。比如书中的代码实现有些和作者的思路不一致,甚至具体代码的实现就不对;所以就要暂时跳出作者思路来认真考虑。
2.你是程序员不是打字机
这是马士兵老师的一句话,我一直记着。有时候我们埋头苦学,天真的以为照着书多敲代码就可以掌握知识点;其实并不然,在学习中往往出现照着书上敲代码,但敲完了并不知道那是干嘛的情况。这就是一些初学者很大的误区。所以当我们拿到代码时,可以先跟着作者思路走一遍,上手敲代码之前最好先在草稿纸上把代码一行行分析一遍,看看是不是作者的思路。往往书上的代码不会很长,而且里面会有一些编程技巧值得学习。最后再按照思路来编程,这时候你会发现一些前面两个步骤中没注意的问题。这些对我们的思维方式都有很大帮助。
3.当你看不懂时就跳过去
有时候不是你看不懂,而是还没有到看懂的时候。往往使我们的思考方式还没有达到一定的境界,所以无法理解作者的用意,这个时候就可以暂时放放,有机会就在回头看看。这本书上不能理解的换一本书可能就好理解了,所以别指望这在一本书上学完、学会、学通整个数据结构与算法。多看看其他书籍也是好的。
4.讨论是一种学习的动力
在学习数据结构中时常会和实验室的同学交流,讨论。问我问题最多的是康总,我很感谢她,她问的问题很基础很考察能力;每次解决问题后都会有收获,希望以后能多多讨论,共同进步。
印度有句古语:想走得快就一个人走,想走得远就一起走。
下面是一些数据结构的资料,方便以后学习:
《大话数据结构》:http://www.cnblogs.com/cj723/category/282222.html
五大常用算法:分治、动态规划、贪心、回溯和分支界定:http://blog.csdn.net/yapian8/article/details/28240973?utm_source=tuicool&utm_medium=referral
技术面试宝典:很全面的算法和数据结构知识(含代码实现):http://blog.jobbole.com/110835/?utm_source=blog.jobbole.com&utm_medium=relatedPosts