• 数据结构学习笔记


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

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

      

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

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

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

  • 相关阅读:
    [转]Object Tracking using OpenCV (C++/Python)(使用OpenCV进行目标跟踪)
    [转]PIL、Pillow安装使用方法
    [转]痞子衡嵌入式:飞思卡尔Kinetis开发板OpenSDA调试器那些事(上)
    如何选择开源许可证?
    年复一年
    [转]TLD目标跟踪算法
    [转]pycharm中将ui文件转换成py文件
    ps矫正倾斜的扫描件内容
    ORM增删改查
    ORM配置
  • 原文地址:https://www.cnblogs.com/msn-z/p/7704918.html
Copyright © 2020-2023  润新知