数据结构学习笔记

这两天还没有接到一个面试,感觉一点希望都没有。做笔试时感觉自己数据结构很差,什么都不太懂,回来看有个知乎涛吴,讲的关于数据结构,Java,c++的形象比喻,让我豁然开朗。也让我有了进一步学习的动力

  --这是引用别人的,知乎涛吴

  

  如果说 Java 是自动档轿车,C 就是手动档吉普。数据结构呢?是变速箱的工作原理。
你完全可以不知道变速箱怎样工作,就把自动档的车子从 A 开到 B,而且未必就比懂得的人慢。
写程序这件事,和开车一样,经验可以起到很大作用,但如果你不知道底层是怎么工作的,就永远只能开车,既不会修车,也不能造车。
如果你对这两件事都不感兴趣也就罢了,数据结构懂得用就好。但若你此生在编程领域还有点更高的追求,数据结构是绕不开的课题。   Java 替你做了太多事情,那么多动不动还支持范型的容器类,加上垃圾收集,会让你觉得编程很容易。
但你有没有想过,那些容器类是怎么来的,以及它存在的意义是什么?
最粗浅的,比如 ArrayList 这个类,你想过它的存在是多么大的福利吗——一个可以随机访问、自动增加容量的数组,这种东西 C 是没有的,要自己实现。
但是,具体怎么实现呢?
如果你对这种问题感兴趣,那数据结构是一定要看的。
甚至,面向对象编程范式本身,就是个数据结构问题:怎么才能把数据和操作数据的方法封装到一起,来造出
class / prototype 这种东西? 此外,很重要的一点是,数据结构也是通向各种实用算法的基石,所以学习数据结构都是提升内力的事情

如果我只是要做一个初级的,那我可以不用深究,但我想做的更好,所以学习数据结构还是很有必要的,只用懂得了最基本的原理,才能修车,甚至可以自己造车.

  昨天做了一个笔试题,要实现string类中的subString方法,直接用StringBuffer存了数据,今天一看源码差的有点远(源码以前没注意过)

 

posted @ 2017-10-21 15:34  M_S_N  阅读(367)  评论(0编辑  收藏  举报