我不是计算机本科毕业,现在正在试图做着abap方面的工作。所以,也就用业余时间看了Robert Lafore的《java数据结构和算法》第二版。以补习一点编程基础方面的知识。花了大半个月的时间,把此书树之前的部分仔细的读了一遍,而树和哈希表就了解了个大概。最后的图则是草草的看了一遍。但是毕竟花了那么多时间。就把看书之后的心得记录下来。
通读全书,最大的收获不是对算法了解了多少,而是对类的概念有了近一步的认识。由于对编程的兴趣,所以在大学里,就学习了vb。也编了几个小程序。而在此过程中,由于对函数的过分依赖,始终无法了解什么是类,以及是类相对于函数的差别。因为在我眼里,两者作用都是减少重复代码和方便修改的作用。
但是类的作用不仅仅只是减少重复代码和方便修改。类,或者说面向对象的编程是相对于面向过程的一种新的思考方式。类使得编程能够把一个程序员从理清程序的流程,整理变量中解脱出来,而只是去描述自己的程序的运行过程。举个例子来说,对于用程序模拟看书这件事来说,在面向过程的程序里,整个过程需要考虑我在哪里看书,看什么书,并且要写怎么得到书,以什么速度看书。而面向对象里面,程序员只要在程序中实例化看书这个类,然后再给予其一定的参数,程序就会自动的看书。当然,看书这个类并不一定实用,或者根本不存在。但是假设我们要去写看书这个类,则会因为代码更具有针对性,比方说,我不用考虑看书的时候,是否该吃饭等问题,而变得简单。
其次,明白了具体的语言只是我们手中的笔。在我看的对于每个结构或者算法的分析里面,作者都讲的很清晰。而代码只是把这些思路进行了实例化而已。其实对于一个编程员来说,代码或者语言来说,其实只是我们手中的一支支笔而已。
说了那么多,很少涉及对于具体数据结构或者算法的涉及,是因为对于这些,我只是能知其然,而不知其所以然的水平。而看书之后,能够说的也就以上几点而已,