首先看书必须看前言,这算是习惯。这本书前言好长,很长,相当长。长的我看不下去了,我觉得怎么会有这么蛋疼的作者?前言写的跟辞海式的,难道说这样显得更有水平一些?不过不得不承认,在裹脚布一般的前言中,他真的把此书的特点表达的出奇的清楚。不过裹脚布才是本质....
所以说前言是个异数,但是亮点在目录。目录采用“图+标题+吐槽”的方式,话说小爷也算是看了二十来年的书了,但是这么有创意的目录,不是说没有,但是要说认真到目录都做得这么精致,还是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学东西的没?有拿大英词典学英语的没?有拿灯草和尚学古汉语的没?
吐槽不能啊....
而且这本书最变态的地方在于几乎每页都有图。其实图更容易让人理解问题,但是能这么下功夫去做去找这么多图的,作者果然是个狠人啊。
不管怎么说,书是好书,值得一读,更老严的书比,少了很多算法,多了很多思想,希望再接再厉,更创辉煌。
最后还是不得不说,这么浮躁的年头,这么用心的人少了,都支持一下吧。
这么浮躁的年头,这么用心的人少了,都支持一下吧。
对“这么浮躁的年头,这么用心的人少了,都支持一下吧。”的回应
《大话数据结构》热门书评
-
这么浮躁的年头,这么用心的人少了,都支持一下吧。
73有用 1无用 稻草龅牙 2011-07-25
首先看书必须看前言,这算是习惯。这本书前言好长,很长,相当长。长的我看不下去了,我觉得怎么会有这么蛋疼的作者?前言写的跟辞海式的,难道说这样显得更有水平一些?不过不得不承认,在裹脚布一般的前言中,他真的把此书的特点表达的出奇的清楚。不过裹脚布才是本质.... &nb...
-
算法好学吗?
40有用 2无用 陈钢 2011-07-11
原文地址:http://gossipcoder.com/?p=739摸着键盘写这篇东西的直接动力是给程杰刚刚出版的大作《大话数据结构》写个书评,外加利用我这微乎其微的影响力做做广告——怎么说程杰同学也送了我一本亲笔签名的繁体版《大话数据结构》。不过,今天早上看到了刘未鹏的新文章,“知其所以然(三):...
-
并不是那么好
16有用 25无用 桂棹兮兰 2011-11-23
这本书代码基本抄的都是严蔚敏的那本所谓的经典,连错误、冗余这样的Bug照抄不误(所以这本书勘误很多很强大)。对于一些地方用了生动易懂的语言来讲解,但是我感觉是,简单的东西没用的话多,反而一些让人不懂的地方却打马虎眼了。不推荐购买,高手可以当小儿书看看罢了。...
-
很好的一本书
5有用 0无用 agp 2011-08-17
我不是科班学计算机的,却也在这个行业做了好几年,但是对基本的这些理论知识,懂得很少。之前作者的《大话设计模式》的写作形式,在设计模式方面让我懂了许多,这次又出版了《数据结构》的大话版,看到消息的同时,就在网上下了订单,今天刚刚收到书,就一口气看了40几页,这个系列书最大的好处就是可以让自己能够坚持看...
-
看着冒火的书
2有用 7无用 Aphasia 2012-08-30
很烂的一本书,还卖的死贵。不要看目录章节很多,其实讲得一点都不深入,该深入的时候就来一句请参考某某书。NND 敢情作者是在抄书呢。就算抄书也不要这么坑爹呀。不该多说地方,废话一大堆。字印刷得很大,空白地方很多,弄一些乱七八糟的图片充数。我算是被作者和出版社吭了,下次绝对不买该作者以及这样滥竽充数的书...