首先写一下书评吧,我觉得我对语言的学习有两个阶段的跨越比较重要。第一个阶段是在细读谭浩强的《c语言程序设计》的时候理解了指针的概念,让我跳跃了一大步;第二个阶段是在攻读《数据结构(c语言版)》(严蔚敏)的时候理解了数据抽象的概念是通过结构体,指针来抽象化成链表之类来描述比如对象的一些形态。然后我接触到了C++,这个传说功能很强,但是很难深入的语言,这其中有同学劝我去学习Delphi之类,但我还是舍不得C、C++。因为我发现C++强大的数据抽象功能,所以我决定读一本用C++描述的数据结构,于是便在图书馆里找到了这本书,好在没有畏惧它是英文版的,也庆幸没有畏惧。
可能很多人对英文版的教材很是害怕,其实大可不必,我这次深深体会到了这一点。作为一本计算机类的教材,用英语描述出来更加浅显易懂,里面也没有生涩的单词。基本上大学通过四级,甚至高中生都可以阅读了。关键的部分是阅读这样的原版教材比去理解别人生涩的翻译简单多了,我在一个月的时间里阅读和思考了240页,很多数据结构的概念和算法很容易就可以在脑海里建立。在阅读中文版的时候我普遍觉得技术性的词语太多了,阻遏了我去理解和建立概念的能力,所以推荐大家去阅读英文版的计算机类教材,还有增强英语阅读能力、扩大词汇量的好处。
其中在Preface里提到了这本书的特点:
Our primary focus in this text is to present data structures as an introductory subject,taught in a lower-division course.With this focus in mind,we present the material in a simple,straightforward manner with many examples and figures. We also deemphasize the mathematical aspect of data structures,leaving the formal mathematical proofs of the algorithms for later courses.
大致的意思是说通过很多例子和图标这样很直接、简便的方式向大家提供了理解数据结构的途径,并且尽量忽略了数据结构的数学证明。而且本书一个很大的特点是运用标准的类英语伪代码的形式描述数据结构和算法。阅读此书,虽然只读了5章,我已经忍不住地想写一篇书评推荐给大家了。通过figures(图表)所谓的Visual Approach 我们可以轻松的建立譬如search,link list,stack,queues等等的概念。每一章后面都有Pedagogical End Materials,一些训练,分为Exercises,Problems,Projects认真思考这些问题可以训练自己的实践运用能力。
另外书的后面附录的很多内容也是很有价值的,比如一些C++的基本内容及其程序库、随机数、Program Standards and styles。后面两部分我也是在阅读前5章内容的时候阅读的。
不过至今不爽的是网上没有找到这本书的电子版,里面的程序也没有找到源代码,包括人民邮电出版社也没有提供。这是唯一的遗憾了,不过663页,¥55块人民币已经是超值了。