首先看书必须看前言,这算是习惯。这本书前言好长,很长,相当长。长的我看不下去了,我觉得怎么会有这么蛋疼的作者?前言写的跟辞海式的,难道说这样显得更有水平一些?不过不得不承认,在裹脚布一般的前言中,他真的把此书的特点表达的出奇的清楚。不过裹脚布才是本质....
所以说前言是个异数,但是亮点在目录。目录采用“图+标题+吐槽”的方式,话说小爷也算是看了二十来年的书了,但是这么有创意的目录,不是说没有,但是要说认真到目录都做得这么精致,还是IT方面的书,那就真的很少见。不管怎么说,在这个是人都出书的时代,能静下心来做出这么用心的东西,不容易的。话说哥们本来就不是个有钱人,能买的起的书实在是少,看了几本书之后,发现书得内容宛如当年JAVA和C#的代码95%以上的重合度般,连自残的心都有。他们那不叫写书,那是赤裸裸的调戏消费者啊。哎!每个只看名字就买书的人,上辈子都是受啊....
数据结构我学了2遍,这是第三遍。万幸,当年我的数据结构的老师是全国有名的一教授,所以我的数据结构不敢说很好,但是说七窍通了六窍还是没问题的(丫的就是一窍不通)。
当年学的时候,讲到一个地方,稍微难一点的,这位教授,就一句话:“这里先记着,以后会明白的”。然后就跳过讲下一个问题去了。我发现很多课程里,普遍存在这种现象,我不知道为啥,当时只是觉得怪怪的,不过后来却发现老师们说的确实也不算错,这种事情确实后面自己就明白了。
直到后来,在一个无意之间,我才明白当时我为什么觉得怪怪的。比如说做主食,诸如饺子,包子,火烧,混沌之类,每次我们做的时候,师傅说有什么不明白的,后面做多了自己就明白了。直到有一天,我们做完饺子,包子,火烧,混沌之后,我们突然发现,原来就是调馅,然后包上不同的面皮,然后不同的做法。我们学了4次调馅的过程。你这是拿我当傻小子坑着解闷玩呢?
而且数据结构这门课,更像是高度抽象出来的,其实跟用什么语言没有太大的关系,那么为什么还要这么纠结于代码?为什么编程就一定要死盯着代码不放?不是说代码不重要,而是说很多时候,其实脱离了代码,一些知识反而更好理解,为什么要为了印证一个说起来蛮简单的代码,弄一段让人云山雾绕的代码?这难道就是传说中的装13?
大爷的,放到我们这行就是,其实老师可以先教我们思想,至于是用C#还是java实现,都是面向对象的语言,我自己琢磨好不好。结果是我们java学一遍,C#学一遍,由于开课的间隔长,而且章节不同步,以至于很长一段时间觉得丫之间虽说有关系,但是关系不大有没有?
这就是我要说的这本书里的东西了,作者很聪明的没在代码上纠结太多,而是用了大量的实例,图和吐槽来直观解释这些东西是什么,能干什么。而不是不断的拿出问题来,一个一个的解,然后试图来证明其中的共性。
知道么?很多时候,我们其实不关心那些所谓的问题的共性,我们只需要知道在什么地方用什么方法最合适,这是前提。这种思想说起来很不符合我们中国人思路,我们的教育是想让我们做全才,既然学就要学懂,要么就是功利主义抬头。但是根据面向对象的原则,我们不需要知道电池的原理,我们只需要知道它能让我们的手电筒亮起来就够了。再一个你要跟孔子说:“哥们你说红烧肉咋做的?”,丫来一句:“君子远庖厨”,就给你顶回来了。圣人还不过如此,何况我一个喷子。
当时看一本Java书得时候,作者说了一句话:“编程不过是一个不断尝试并获得成就感的过程。”可见想慢慢深下去的过程前提是一个知道自己在干什么,并完成的过程。我都不知道在干什么,就是干了百十来个例子,我会对这个东西感兴趣么?
就如同树结构,我们遍历研究完每一个底层的节点,然后抽象出了上一层的节点,这个在项目中无所谓,但是为什么在学习的时候还要这样呢?为什么我不能站在更高的高度上去实现下一层的节点呢?为什么告诉我1个苹果+1个苹果=2个苹果;1个橘子+1个橘子=2个橘子;而不直接告诉我1+1=2呢?
这本书中,大量的吐槽和图,让咱清楚地看到,这个东西是干什么,然后让你在蛋疼的时候,想想这些东西可以用在哪合适。
花开两朵,咱们各表一枝。
这个遍历和抽象的问题先不说。再说当年我的老师,一位知名数据结构的教授,所以我们学的书不是严蔚敏的,而是这位的。话说当时小生还是一一心求上进的好学生,觉得不懂的太多,然后就买了本严蔚敏的书。结果一看,泪流满面。
后来觉得是我看严教授的数据结构得时候的心态不对,于是百度了一下,发现优酷上竟有此人的视频教学课程。当时惊为天人,于是下定决心,闭关1个月,看看这门课到底是啥事。
结果第二天头晕脑胀,第三天就哭天喊地,满地打滚,眼斜口歪。这位大娘,就是拿着一只铅笔一只圆珠笔,在一张打着清华标签的纸上涂涂画画,念着她自己书,一心一意,一字不差,看了这位教授淡定的如入定的和尚念经一般念着课本,看着满屏幕的代码,满屏幕的解释,我整个人顿时就升华了。
先不说第二天我怎么把那个已经被我砸的支离破碎CRT的显示器扔掉的,我只想吐槽搞研究的人都是神级的存在,我现在还对科学家保持一颗敬畏的心。但是我想说科学家跟我们这些凡人之间应该有个缓冲地带。就像虽说都知道猪肉很香,但是说在一头活猪上片下一块大腿来,我个人觉得没几个人有胃口,当然也架不住有口重的,但是我只是个凡人。
不得不承认这本书就在这个方面做的很好。最起码它让我知道我在看什么,而不是一个大量术语堆砌起来的一些东西。我不是读不懂专业文献,我的大学一半的专业课程是用纯英语修的,老外教,老外考,参考文献纯英文(另外吐槽一下国内很多文献的渣翻译)。我为嘛要看你翻译的东西呢?你翻译的还未必有我好呢,而且翻译的过程还是一个信息丢失的过程。
我今天强忍恶心又特意翻了一下严教授的数据结构,结果桌面上的java的API还没关,我发现这两者竟然惊人的相似之处。尼玛啊,老严的东西就是个API啊!!!!有拿API学东西的没?有拿大英词典学英语的没?有拿灯草和尚学古汉语的没?
吐槽不能啊....
而且这本书最变态的地方在于几乎每页都有图。其实图更容易让人理解问题,但是能这么下功夫去做去找这么多图的,作者果然是个狠人啊。
不管怎么说,书是好书,值得一读,更老严的书比,少了很多算法,多了很多思想,希望再接再厉,更创辉煌。
最后还是不得不说,这么浮躁的年头,这么用心的人少了,都支持一下吧。