第一图书网

数据结构与算法分析

[美]Mark Allen Weiss 人民邮电出版社
出版时间:

2007年  

出版社:

人民邮电出版社  

作者:

[美]Mark Allen Weiss  

页数:

435  

字数:

787000  

译者:

张怀勇  

Tag标签:

无  

内容概要

本书是数据结构和算法分析的经典教材,书中使用主流的程序设计语言C++作为具体的实现语言。书的内容包括表、栈、队列、树、散列表、优先队列、排序、不相交集算法、图论算法、算法分析、算法设计、摊还分析、查找树算法、k-d树和配对堆等。本书适合作为计算机相关专业本科生的数据结构课程和研究生算法分析课程的教材。本科生的数据结构课程可以使用本书第1章~第9章,多学时课程还可以讲解第10章;研究生算法分析课程可以使用第6章~第12章。

作者简介

Mark Allen Weiss,1987年在普林斯顿大学获得计算机科学博士学位,师从著名算法大师Robert Sedgewick,现任美国佛罗里达国际大学计算与信息科学学院教授。他曾经担任全美AP(Advanced Placement)考试计算机学科委员会的主席(2000-2004)。他的主要研究方向是数据结构,算法

书籍目录

第1章 引论  1.1 本书讨论的内容  1.2 数学知识复习   1.2.1 指数   1.2.2 对数   1.2.3 级数   1.2.4 模运算   1.2.5 证明方法  1.3 递归的简单介绍  1.4 C++类   1.4.1 基本class语法   1.4.2 特别的构造函数语法与访问函数   1.4.3 接口与实现的分离   1.4.4 vector和string  1.5 C++细节   1.5.1 指针   1.5.2 参数传递   1.5.3 返回值传递   1.5.4 引用变量   1.5.5 三大函数:析构函数、复制构造函数和operator=   1.5.6 C风格的数组和字符串  1.6 模板   1.6.1 函数模板   1.6.2 类模板   1.6.3 Object、Comparable和例子   1.6.4 函数对象   1.6.5 类模板的分离编译  1.7 使用矩阵   1.7.1 数据成员、构造函数和基本访问函数   1.7.2 operator[]   1.7.3 析构函数、复制赋值和复制构造函数  小结  练习  参考文献 第2章 算法分析  2.1 数学基础  2.2 模型  2.3 要分析的问题  2.4 运行时间计算   2.4.1 一个简单的例子   2.4.2 一般法则   2.4.3 最大子序列和问题的解   2.4.4 运行时间中的对数   2.4.5 检验你的分析   2.4.6 分析结果的准确性   小结  练习  参考文献 第3章 表、栈和队列  3.1 抽象数据类型(ADT)  3.2 表ADT   3.2.1 表的简单数组实现   3.2.2 简单链表  3.3 STL中的向量和表   3.3.1 迭代器   3.3.2 示例:对表使用erase   3.3.3 const_iterator  3.4 向量的实现  3.5 表的实现  3.6 栈ADT   3.6.1 栈模型   3.6.2 栈的实现   3.6.3 应用  3.7 队列ADT   3.7.1 队列模型   3.7.2 队列的数组实现   3.7.3 队列的应用   小结  练习 第4章 树  4.1 预备知识   4.1.1 树的实现   4.1.2 树的遍历及应用  4.2 二叉树   4.2.1 实现   4.2.2 一个例子——表达式树  4.3 查找树ADT——二叉查找树   4.3.1 contains   4.3.2 findMin和findMax   4.3.3 insert   4.3.4 remove   4.3.5 析构函数和复制赋值操作符   4.3.6 平均情况分析  4.4 AVL树   4.4.1 单旋转   4.4.2 双旋转  4.5 伸展树   4.5.1 一个简单的想法(不能直接使用)   4.5.2 伸展  4.6 树的遍历  4.7 B树  4.8 标准库中的set和map   4.8.1 set   4.8.2 map   4.8.3 set和map的实现   4.8.4 使用几个map的例子   小结  练习  参考文献 第5章 散列  5.1 基本思想  5.2 散列函数  5.3 分离链接法  5.4 不使用链表的散列表   5.4.1 线性探测   5.4.2 平方探测   5.4.3 双散列  5.5 再散列  5.6 标准库中的散列表  5.7 可扩散列   小结  练习  参考文献 第6章 优先队列(堆)  6.1 模型  6.2 一些简单的实现  6.3 二叉堆   6.3.1 结构性质   6.3.2 堆序性质   6.3.3 基本的堆操作   6.3.4 堆的其他操作  6.4 优先队列的应用   6.4.1 选择问题   6.4.2 事件模拟  6.5 d堆  6.6 左式堆   6.6.1 左式堆性质   6.6.2 左式堆操作  6.7 斜堆  6.8 二项队列   6.8.1 二项队列结构   6.8.2 二项队列操作   6.8.3 二项队列的实现  6.9 标准库中的优先队列  小结   练习  参考文献 第7章 排序  7.1 预备知识  7.2 插入排序   7.2.1 算法   7.2.2 插入排序的STL实现   7.2.3 插入排序的分析  7.3 一些简单排序算法的下界  7.4 谢尔排序  7.5 堆排序  7.6 归并排序  7.7 快速排序   7.7.1 选取枢纽元   7.7.2 分割策略   7.7.3 小数组   7.7.4 实际的快速排序例程   7.7.5 快速排序的分析   7.7.6 选择问题的线性期望时间算法  7.8 间接排序   7.8.1 vector<Comparable*>不运行   7.8.2 智能指针类   7.8.3 重载operator<   7.8.4 使用“*”解引用指针   7.8.5 重载类型转换操作符   7.8.6 随处可见的隐式类型转换   7.8.7 双向隐式类型转换会导致歧义   7.8.8 指针减法是合法的  7.9 排序算法的一般下界  7.10 桶排序  7.11 外部排序   7.11.1 为什么需要新算法   7.11.2 外部排序模型   7.11.3 简单算法   7.11.4 多路合并   7.11.5 多相合并   7.11.6 替换选择  小结  练习  参考文献 第8章 不相交集类  8.1 等价关系   8.2 动态等价性问题  8.3 基本数据结构  8.4 灵巧求并算法  8.5 路径压缩  8.6 按秩求并和路径压缩的最坏情形  8.7 一个应用  小结  练习  参考文献 第9章 图论算法  9.1 若干定义  9.2 拓扑排序  9.3 最短路径算法   9.3.1 无权最短路径   9.3.2 Dijkstra算法   9.3.3 具有负边值的图   9.3.4 无环图   9.3.5 所有顶点对的最短路径   9.3.6 最短路径举例  9.4 网络流问题  9.5 最小生成树   9.5.1 Prim算法   9.5.2 Kruskal算法  9.6 深度优先搜索的应用   9.6.1 无向图   9.6.2 双连通性   9.6.3 欧拉回路   9.6.4 有向图   9.6.5 查找强分支  9.7 NP完全性介绍   9.7.1 难与易   9.7.2 NP类   9.7.3 NP完全问题   小结  练习  参考文献 第10章 算法设计技巧  10.1 贪心算法   10.1.1 一个简单的调度问题   10.1.2 赫夫曼编码   10.1.3 近似装箱问题  10.2 分治算法   10.2.1 分治算法的运行时间   10.2.2 最近点问题   10.2.3 选择问题   10.2.4 一些算术问题的理论改进  10.3 动态规划   10.3.1 用表代替递归   10.3.2 矩阵乘法的顺序安排   10.3.3 最优二叉查找树   10.3.4 所有点对最短路径  10.4 随机化算法   10.4.1 随机数生成器   10.4.2 跳跃表   10.4.3 素性测试  10.5 回溯算法   10.5.1 公路收费点重建问题   10.5.2 博弈  小结  练习  参考文献 第11章 摊还分析  11.1 一个无关的智力问题  11.2 二项队列  11.3 斜堆  11.4 斐波那契堆   11.4.1 切除左式堆中的结点   11.4.2 二项队列的懒惰合并   11.4.3 斐波那契堆操作   11.4.4 时间界的证明  11.5 伸展树  小结  练习  参考文献 第12章 高级数据结构及其实现  12.1 自顶向下伸展树  12.2 红黑树   12.2.1 自底向上插入   12.2.2 自顶向下红黑树   12.2.3 自顶向下删除  12.3 确定性跳跃表  12.4 AA树  12.5 treap树  12.6 k-d树  12.7 配对堆  小结  练习  参考文献 附录 类模板的分离编译 索引


编辑推荐

《数据结构与算法分析:C++描述(第3版)》秉承Weiss著作一贯的严谨风格,同时又突出了实践。书中充分应用了现代C++语言特性,透彻地讲述了数据结构的原理和应用,不仅使学生具备算法分析能力,能够开发高效的程序,而且让学生掌握良好的程序设计技巧。Mark Allerl Weiss教授撰写的数据结构与算法分析方面的著作曾被评为20世纪最佳的30部计算机著作之一,已经成为公认的经典之作,被全球数百所大学采用为教材,广受好评。

图书封面

图书标签Tags

广告

下载页面


数据结构与算法分析 PDF格式下载



听同学介绍买的,与c语言版的数据结构相比,这本书更侧重算法分析,里面有很多内容用到c++的特性。


算法详细,代码完整,可直接应用.不仅对编程有用,对日常的思维都好有帮助.(译名有些不准,应为《数据结构及其算法分析C++描述》)


此书内容之详实,语言之简洁,各个问题由浅入深,步步直进,适于各个水平的读者,对于从C++起步,想学数据结构及算法分析的朋友,我觉得此书最好,最强大!


真正的用C++描述了数据结构和算法。不可或缺的一本好书。


算法与数据结构的基础书籍


数据结构,和算法的进阶书籍.


马上要毕业找工作了,朋友推荐了基本程序语言类的书,其中由linux程序设计第四版、数据结构预算法分析C++描述和JAVA核心技术几本书,朋友说这几本书对找工作很有帮助,正在学习中。


书中介绍很多STL的东西,并分析和证明了算法。有点难


个人认为优于算法导论中文版(英文版除外),OI及计算机专业学生必读!


算法解释的很详细 内容很充实 对程序设计有很大的帮助


这本书比我们在校所学的算法开发系列书的质量好很多我已经开始学习了,受益颇多


真的很快,从定书到拿到书,只用了3天。这本是学习算法中非常经典的一本书,在长春的各大书店都没有卖的。由于急着用,准备面试就在网上订购,没想到这么快。


老师规定的课本,学习算法可以买这本书,如果你有能力最好买英文版的


讲得比较深入,适合算法研究


本书内容很充实,结合算法导论内容,很全面。


c++的实现算法,很有用。。。


对于学算法有很大的帮助。


挺好,可以学到很多实用的算法


书质量不错。刚收到,浏览了一下线性表和树,作为一个在校大学生,说实话,明显不适合初学者。要是能再有一本国类的基础数据结构的书籍配合着学习,就很好了。书中部分名词翻译明显不合理。


内容深浅适当,适合做辅助书用,用C++语言实现,一定程度上弥补了C版数据结构书籍的不足。


接触过许多数据结构方面的书籍,但是这本是最好的!不过,要注意的是,这本书的难度很大,而且要具备很强的C++基础。不过,最喜欢的是章节后面的习题,量多且难度不小,值得挑战!书收到手后,有一股很厚实的塑料味,不好闻!不过,搁在一边,过一段时间就好啦!至于翻译,能接受!不过不喜欢显示代码的那种字体!


这本书是数据结构的经典教材,内容安排很好,不过翻译者的水平太差了,一读就知道是翻译的,特别别扭,好像不像中国人说话写作的逻辑!


书还不错,写的比较实用,具体阐述了数据结构再C++上的应用,不过最好是有C++基础的看,不然看懂代码会有很大困难,不过书还是不错,值得一看!


一本很不错的书,讲的数据结构原理比较透彻,书也不是很厚,不容易有抵触情绪!!


买完之后找到自己大学时候的数据结构教材,老师推荐殷人昆的C++数据结构教材


数据结构c++版经典教材,值得一读。印刷纸张都不错。


很好的数据结构书


讲数据结构的书,不错,值得看


买回后这么长时间,只顾看了还没评价,就我个人感觉,这本书可以算是通俗易懂的了,数据结构入门本人推荐这本书.


学习数据结构很值得参考的一本书。


这是一本很好的数据结构的入门读物,大家可以看看


C预研会过时,但是数据结构不过时


初学数据结构 必备 强烈推荐


真的是一本自学数据结构的好书,最好中英文两个版本一起看


刚拿到手,本来对数据结构很怕的我,开始能颇有兴致的看起来,虽然不是很懂,但是还挺好


可以看看,不过,还是多看看C的数据结构的话,这个应该更加的容易吧。只是自己的看法。


东西很好,是正品 全书的结构很系统,非常适合自学


内容绝对的经典,深入浅出,图表详细。而且在作者的网站上有很多有用的资料,包括文档、幻灯片等等。可这是我买过的装订质量最差的影印版原文教材了,书侧面的胶太脆弱了根本没粘牢,我这刚看了没到100页,在大约30页左右的地方胶断了,附近的好几页纸看着也马上要脱落了,郁闷。现在看这本书要非常小心,还得用手托着前100页,都不敢平放在桌子上了……


首先这是一本值得看的程序书,内容不错,适合我们学习。


非常好的一本书,书中的代码很有启示性,个人认为比国内所有的类似出版物在严谨性上高上一个档次,而且内容较全,深入浅出,适合有一定基础的C++学习者


买了一年多了,知道今年年初才有时间看.自学了前面9章,感觉非常好.感慨一下,国外的教材怎么就比国内的好呢?


里面的例子少了一点,理念分析不错。值得一读。


要求的数学较高,而且是建议给研究生的教材,所以比较难!初学者,不适合看!高年级的数学专业的,可以把它作为入门教材!


很不错的书 讲解很透彻 很清晰


学程序的内功


一直在看,很有收获。不过感觉还是买C语言描述要好些!!


国外经典教材


不错的书 是我们的教材


灰常经典的书,希望大家都看看


经典的书,书本质量也很好


本书不错,内容透彻。若有一定的C++基础,看此书十分合适。


本书的讲解条理清晰、逻辑性强,能够很轻松的让初学者从初学到领悟到精通,
至于升华,还是得靠大量的敲代码、写项目。


书不错,但是采用平邮不能送货上门,还要自提。选择快递要加价40%,这也太夸张了吧。当当网能不能与快递合作呢?


一次性买了4本c++的书,看样子有这4本做铺垫基础已经很足够了!


这本书很经典,而且改版后加入了很多STL正是我需要的


3天到货,书的质量很不错,书写的很好,现在正在看,这本书很需要毅力,得好好看。


书不错 希望能够物尽其用。


适合进阶的书,要仔细的看


从学校图书馆借过好几次C语言版,终于还是决定买一本来收藏,里面讲的恰到好处,既不会含混地让人搞不明白,也不会刻意卖弄追求深入。


如果是C语言过来,C++不熟悉还是别看,


这个书个人感觉很好,里面讲的很好,尤其是在递归方面,而且代码都很新,思想非常好


不错的书,虽然看着有点吃力,但坚持下去认真看完对编程能力有很大的提高...


还没看,准备回家慢慢研究,好久没从当当买书了,上次应该是三年前,货到付款,对于我这种不能网上支付的人来说太好了


书刚到,值得研究~


比之国内教材,内容要多些,很有启发性的。


速度快,质量好~书的内容没什么好说的,要买的人都懂~


内容比国内的书要深


RT,没写抬头的发票啊。。。。下次还请注意哦~~书的内容绝对值得一读,质量也不错


书的内容相当好,条理清楚,内容也很充实,习题也很不错。要说问题的话,一个是习题不知道去哪里找答案,另一个是这书的翻译质量一般,看起来有点吃力。


借了图书馆的书,发现难度不大,内容又很全面深入,特意买了本放在手边!


这本书特点就是针对性很强,内容非常专业、全面!


经典啊,好书,质量也挺好


不愧是经典


很经典的好书。


经典书籍的译文,翻译的有小问题,总体来说很不错了,看着受益匪浅~~


很基础的书,还不错


书都很好,需要耐心的读。


一本好书, 推荐大家看看, 好久没看过类似的书了, 再系统读一读还是有不少好处的.


书看起来不错,纸张也挺好的,是正版的。


书还没有来的家看,送货很快,快递师傅给力。大热天的,真心感谢快递师傅。


快递人很好,师傅很给力,不过书里有一股刺鼻的印刷味道


书质量很好,物流也快。很满意。


图书很好,很实用。建议没有编程基础的不要买这种书,看起来费劲。


书很好 就是买重了 买了两本一样的 很悲催


正版书,地道的价格。继续支持当当!!!


给力,觉得在学校用惯了学长买的盗版书。用次正版的真的涕零呀~


书的质量很好 速度也很快 看了一半了


书很好 就是送货慢


外国的书挺不错的,很详细,送货速度也很快


书很不错,虽然狠难懂


很好……很不错的书,自学非常棒……


书挺不错的~


书的纸没粘紧,掉页


书不错,可惜没看。找到软件测试的工作啦


送货速度很快呀~而且服务质量也很好~书的质量也很好~但是我还没开始看咧~嘿嘿


书质量还可以,服务态度不错。


书是很不错的


图书城没有的,当当都有,当当买书真方便。


这书不错啊,比较好读懂,就是课后习题没答案!


为了使你的编程更加有效,选择这本书没错的


相关图书