数据结构和算法经典书籍

原文地址:数据结构和算法经典书籍作者:夏之吻
数据结构和算法是程序员必练内功,不会随着时代发展而淘汰,学好数据结构,受益终身,一定要看。
●《数据结构算法与应用——C++语言描述》(Data Structures, Algorithms and Applications in C++)第一版,Sartaj Sahni著,国防科技大学汪诗林、孙晓东等译,王广芳审校,机械工业出版社,2005。Sartaj Sahni(萨尔塔?萨尼)在Cronell大学获得硕士和博士学位。曾任教于明尼苏达大学。目前是佛罗里达大学计算机与信息科学工程系主任。Sahni教授在数据结构与算法领域的研究和教学方面享有世界声誉,因此当选为IEEE和ACM两会会士以及欧洲科学院院士,并获得IEEE计算机学会的Taylor L.Booth教育奖和W.Wallace-MCDowell奖,2003年更荣获计算机教育最高荣誉ACM Karl V.Karlstrom杰出教育家奖。本书以数据结构为主,算法为辅,与应用结合比较紧密,编程实例很多,数学公式少。书中代码及输出结果和习题可从网站下载,代码简洁精练,质量极高,完全可以直接使用。中文版翻译质量还可以。本书是山东大学考博指定教材。
本书高清晰带目录中文版PDF电子书下载地址:http://download.csdn.net/source/2996697
本书所有源代码习题下载地址:http://download.csdn.net/source/2996697
本书英文原版PDF电子书下载地址:http://download.csdn.net/source/2997061
http://download.csdn.net/source/2997079

●《计算机算法(C++版)》(Computer Algorithms C++),Ellis Horowitz, Sartaj Sahni, Sanguthevar Rajasekaran著,西安交通大学冯博琴、叶茂、高海昌等译,机械工业出版社,2006。本书主页http://www.cise.ufl.edu/~sahni/cac++/,代码可以从http://www.cise.ufl.edu/~sahni/cac++/plist.htm下载。本书获得亚马逊书店2006年畅销书奖,以算法为主,数据结构为辅,对每种算法的原理都做了详细的解释,适合初学者。书中代码质量不错。翻译质量不错。Ellis Horowitz(霍罗威茨)是南加州大学教授,这三个作者还写了《数据结构(C语言版)》。
本书源代码下载地址:http://download.csdn.net/source/3008993

●《Java数据结构和算法》(Data Structures and Algorithms in Java)第二版,Robert Lafore著,计晓云等译,中国电力出版社,2004。Lafore(拉弗)的书浅显易懂,同样是一部极好的数据结构入门教材。书中描述了很多个经典算法问题。代码和演示程序可以从www.samspublishing.com下载,输入英文书名搜索。
中文版PDF电子书下载地址:http://download.csdn.net/source/2988954
http://download.csdn.net/source/2988966

●《算法设计方法》,吴哲辉、崔焕庆、马炳先、吴振寰著,机械工业出版社,2008。从方法入手进行内容组织,每章集中讲述一种典型的算法能够解决哪些问题,而不是从问题入手。内容精练扼要,公式很少,适合自学。
与其它算法书的比较:1、《算法设计与分析》郑宗汉、郑晓明著,清华大学出版社,集中讲述算法,对数据结构描述较少,代码都是C++,可直接使用。2、王晓东的《计算机算法分析与设计》公式太多,C++代码也有,更适合做考研资料。3、Alsuwaiyel著,吴伟昶等译的《算法设计技巧与分析》也不错,书中只有Pascal的伪代码,可以自行编程验证书中的算法。4、《计算机算法与实践教程》,有很多经典算法例子,有Java代码,适合做题。
●《数据结构与问题求解——Java语言描述》(Data Structures and Problem Solving using Java)第三版,Mark Allen Weiss著,翁惠玉、严骏译,机械工业出版社,2006。此书比《数据结构与算法分析》简单一些,偏重应用。
●《数据结构与算法分析——C语言描述》(Data Structures and Algorithms Analysis in C)第二版,Mark Allen Weiss著,天津师范大学冯舜玺译,机械工业出版社。Weiss教授的数据结构经典教材三部曲之一,其中的C语言描述版本,也就是本书,被称为20世纪最重要的30本计算机教材之一。Mark Allen Weiss(马克?爱伦?韦斯),1987年在普林斯顿大学获得计算机科学博士学位,师从著名算法大师Robert Sedgewick,现任美国佛罗里达国际大学计算与信息科学学院教授。他曾经担任全美AP(Advanced Placement)考试计算机学科委员会的主席(2000-2004)。他的主要研究方向是数据结构,算法和教育学。中文版翻译质量很好。数学公式太多。网上可以下载书中代码,但是没有输出结果,也没有习题答案。
●《数据结构与算法分析——C++描述》(Data Structures and Algorithms Analysis in C++)第三版,Mark Allen Weiss著,张怀勇等译,机械工业出版社。Weiss教授的数据结构经典教材三部曲之一。
●《数据结构与算法分析——Java语言描述》(Data Structures and Algorithms Analysis in Java)第二版,Mark Allen Weiss著,天津师范大学冯舜玺译,机械工业出版社。Weiss教授的数据结构经典教材三部曲之一。
●《数据结构(C语言版)》,严蔚敏、吴伟民著,清华大学出版社。国内久负盛名的经典教材。数据结构的原理,全是伪代码,内容深奥枯燥。
●《数据结构(用面向对象方法和C++描述)》,殷人昆、陶永雷、谢若阳、盛绚华著,清华大学出版社。也是国内经典教材,但是书中代码错误比较多。
●《数据结构——C++语言描述》(Data Structures with C++),William Ford, William Topp著,刘卫东、沈官林译,严蔚敏审,清华大学出版社,1998。本书作者福特、托普是美国太平洋大学计算机教授,由国内数据结构权威严蔚敏教授主审,翻译质量有保证。但是书的内容组织一般,只适合学习基础知识。网上可以下载书中代码,但是没有输出结果,也没有习题答案。
●《C++数据结构原理与经典问题求解》,左飞著,飞思科技产品研发中心监制,电子工业出版社,2008。通俗易懂,内容生动,问题丰富,形象有趣。

理工科大学在读学生学习建议:
算法和数据结构的内容,用最简单的C语言描述会比较清楚,没有必要使用C++和Java的面向对象描述。面向对象编程在这里没啥用处,反而冲淡了学习主题。
初学者,先学习Weiss的《数据结构与算法分析 C语言描述》或者严蔚敏的《数据结构(C语言版)》。对于如何消化掉这本书,我初步给出一个建议:
精读Weiss的《数据结构与算法分析 C语言描述》三遍,能坚持下来,你的收获会很大:
第一遍,通读本书,不要丢掉任何细节,这一遍下来至少不能对书中涉及到的内容存在疑问(如果适当结合课后的习题还是不错的,不过习题不是第一遍的重点);
第二遍,照样通读本书,重点在于解决课后习题,我发现本书的课后习题绝对能让你学会思考并解决问题,提高你的问题解决能力与算法设计能力;
第三遍,复习巩固,注重你的算法设计能力,不能给你一个问题,你去设计十天半个月,训练你的思维力与敏捷力。
然后,再速读C++和Java版的数据结构。

在职软件工程师学习建议:
Weiss(韦斯)的《数据结构与算法分析——C语言描述》和严蔚敏的《数据结构(C语言版)》,数学公式太多,学习难度大,而且作者给出的代码较少,要花费太多时间。在职软件工程师建议学习Sahni(萨尼)的《数据结构算法与应用 C++语言描述》,算法部分可以参考Horowitz(霍罗威茨)的《计算机算法(C++版)》。
本书没那么多公式,与实际应用结合紧密,作者给出了所有的代码,特别是还给出了所有运行输出结果,读者可以先看代码,自行思考运行结果是什么,再与作者的结果对照,无需编译运行,极大节约了学习时间。
书中的代码简洁精练,质量极高,完全可以直接拷贝后使用。
Lafore(拉弗)的《Java数据结构和算法》也不错,对算法的描述浅显易懂,例子很多,缺点是代码不够简练,明显与Sahni的代码有差距。
博客来源:http://topic.csdn.net/u/20110131/09/90376388-1cf0-4661-b7fb-9ce08148b68d.html

你可能感兴趣的:(数据结构与算法)