本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
书[0名0]: | 数据结构与算[0法0]分析——C语言描述(原书[0第0]2版)典藏版|8058139 |
图书定价: | 79元 |
图书作者: | [美]马克·艾伦·维斯(Mark Allen Weiss) |
出版社: | [1机1]械工业出版社 |
出版日期: | 2019-03-25 00:00:00 |
ISBN号: | 9787111621959 |
开本: | 16开 |
页数: | 412 |
版次: | 1-1 |
作者简介 |
[美]马克·艾伦·维斯(Mark Allen Weiss)著:【加照片】 马克·艾伦·维斯(Mark Allen Weiss)佛罗里达[0国0]际[0大0][0学0]计算与信息科[0学0][0学0]院教授、副院长,本科教育[1主1]任和研究生教育[1主1]任。他于1987年获得普林斯顿[0大0][0学0]计算[1机1]科[0学0]博士[0学0]位,师从Robert Sedgewick。 他曾[纟巠]担任全美AP(Advanced Placement)考试计算[1机1][0学0]科委员[0会0]的[1主1]席(2000-2004)。他的[1主1]要研究兴趣是数据结构、算[0法0]和教育[0学0]。他编写的关于数据结构与算[0法0]方[mian]的[0知0][0名0]教材还有《Data Structures and Algorithm Analysis : in Java》《Data Structures and Algorithm Analysis : in C++》《Data Structures and Problem Solving : Using Java》《Data Structures and Problem Solving : Using C++》。 |
内容简介 |
本书是[0国0]外数据结构与算[0法0]分析方[mian]的标准教材,介绍了数据结构([0大0]量数据的组织方[0法0])以及算[0法0]分析(算[0法0]运行时间的估算)。本书的编写目标是同时讲授[女子]的程序设计和算[0法0]分析技巧,使读者可以开发出具有[z1u1i]高效率的程序。 本书可作为高级数据结构课程或研究生一年级算[0法0]分析课程的教材,使用本书需具有一些中级程序设计[0知0]识,还需要离散数[0学0]的一些背景[0知0]识。 |
目录 |
出版者的话 译者序 前言 [0第0]1章 引论┊1 1.1 本书讨论的内容┊2 1.2 数[0学0][0知0]识复习┊3 1.2.1 指数┊3 1.2.2 对数┊3 1.2.3 级数┊4 1.2.4 模运算┊5 1.2.5 证明方[0法0]┊5 1.3 递归简论┊7 总结┊10 练习┊10 参考文献┊11 [0第0]2章 算[0法0]分析┊13 2.1 数[0学0]基础┊14 2.2 模型┊16 2.3 要分析的问题┊16 2.4 运行时间计算┊18 2.4.1 一个简单的例子┊18 2.4.2 一般[0法0]则┊19 2.4.3 [z1u1i][0大0]子序列和┊20 2.4.4 运行时间中的对数┊24 2.4.5 检验你的分析┊27 2.4.6 分析结果的准确性┊28 总结┊28 练习┊29 参考文献┊32 [0第0]3章 表、栈和队列┊35 3.1 抽象数据类型┊36 3.2 表ADT┊36 3.2.1 表的简单数组实现┊37 3.2.2 链表┊37 3.2.3 程序设计细节┊38 3.2.4 常见的错误┊42 3.2.5 [0双0]链表┊43 3.2.6 循环链表┊43 3.2.7 例子┊43 3.2.8 链表的游标实现┊47 3.3 栈ADT┊50 3.3.1 栈模型┊50 3.3.2 栈的实现┊51 3.3.3 应用┊56 3.4 队列ADT┊62 3.4.1 队列模型┊62 3.4.2 队列的数组实现┊62 3.4.3 队列的应用┊65 总结┊66 练习┊66 [0第0]4章 树┊71 4.1 预备[0知0]识┊72 4.1.1 树的实现┊73 4.1.2 树的遍历及应用┊74 4.2 二叉树┊76 4.2.1 实现┊77 4.2.2 表达式树┊77 4.3 查找树ADT——二叉查找树┊80 4.3.1 MakeEmpty┊80 4.3.2 Find┊81 4.3.3 FindMin和FindMax┊81 4.3.4 Insert┊81 4.3.5 Delete┊83 4.3.6 平均情形分析┊84 4.4 AVL树┊86 4.4.1 单旋转┊88 4.4.2 [0双0]旋转┊90 4.5 伸展树┊95 4.5.1 一个简单的想[0法0]┊96 4.5.2 展开┊97 4.6 树的遍历┊102 4.7 B树┊103 总结┊107 练习┊108 参考文献┊113 [0第0]5章 散列┊117 5.1 一般想[0法0]┊118 5.2 散列函数┊118 5.3 分离链接[0法0]┊120 5.4 开放定址[0法0]┊123 5.4.1 线性探测[0法0]┊124 5.4.2 平方探测[0法0]┊125 5.4.3 [0双0]散列┊129 5.5 再散列┊130 5.6 可扩散列┊132 总结┊133 练习┊134 参考文献┊137 [0第0]6章 [0优0]先队列(堆)┊139 6.1 模型┊140 6.2 一些简单的实现┊141 6.3 二叉堆┊141 6.3.1 结构性质┊141 6.3.2 堆序性质┊142 6.3.3 基本的堆操作┊143 6.3.4 其他的堆操作┊146 6.4 [0优0]先队列的应用┊149 6.4.1 选择问题┊149 6.4.2 事[亻牛]模拟┊150 6.5 d-堆┊151 6.6 左式堆┊152 6.6.1 左式堆的性质┊152 6.6.2 左式堆的操作┊153 6.7 斜堆┊158 6.8 二项队列┊159 6.8.1 二项队列结构┊159 6.8.2 二项队列操作┊160 6.8.3 二项队列的实现┊162 总结┊165 练习┊166 参考文献┊169 [0第0]7章 排序┊173 7.1 预备[0知0]识┊174 7.2 插入排序┊174 7.2.1 算[0法0]┊174 7.2.2 插入排序的分析┊175 7.3 一些简单排序算[0法0]的下界┊175 7.4 希尔排序┊176 7.5 堆排序┊179 7.6 归并排序┊182 7.7 快速排序┊186 7.7.1 选取枢纽元┊187 7.7.2 分割策略┊188 7.7.3 小数组┊190 7.7.4 实际的快速排序例程┊190 7.7.5 快速排序的分析┊192 7.7.6 选择的线性期望时间算[0法0]┊194 7.8 [0大0]型结构的排序┊195 7.9 排序的一般下界┊196 7.10 桶式排序┊198 7.11 外部排序┊198 7.11.1 为什么需要[亲斤]的算[0法0]┊198 7.11.2 外部排序模型┊199 7.11.3 简单算[0法0]┊199 7.11.4 多路合并┊200 7.11.5 多相合并┊201 7.11.6 替换选择┊202 总结┊203 练习┊204 参考文献┊207 [0第0]8章 不相交集ADT┊209 8.1 等价关系┊210 8.2 动态等价性问题┊210 8.3 基本数据结构┊212 8.4 灵巧求并算[0法0]┊214 8.5 路径压缩┊216 8.6 按秩求并和路径压缩的[z1u1i]坏情形┊217 8.7 一个应用┊221 总结┊222 练习┊222 参考文献┊223 [0第0]9章 图论算[0法0]┊225 9.1 若干定义┊226 9.2 拓扑排序┊228 9.3 [z1u1i]短路径算[0法0]┊230 9.3.1 无[0权0][z1u1i]短路径┊232 9.3.2 Dijkstra算[0法0]┊235 9.3.3 具有负边值的图┊240 9.3.4 无圈图┊241 9.3.5 所有点对[z1u1i]短路径┊243 9.4 网络流问题┊243 9.5 [z1u1i]小生成树┊247 9.5.1 Prim算[0法0]┊248 9.5.2 Kruskal算[0法0]┊250 9.6 深度[0优0]先搜索的应用┊251 9.6.1 无向图┊252 9.6.2 [0双0]连通性┊253 9.6.3 欧拉回路┊256 9.6.4 有向图┊259 9.6.5 查找强分支┊260 9.7 NP-完全性介绍┊262 9.7.1 难与易┊262 9.7.2 NP类┊263 9.7.3 NP-完全问题┊264 总结┊266 练习┊266 参考文献┊270 [0第0]10章 算[0法0]设计技巧┊273 10.1 贪婪算[0法0]┊274 10.1.1 一个简单的调度问题┊274 10.1.2 Huffman编码┊276 10.1.3 近似装箱问题┊280 10.2 分治算[0法0]┊286 10.2.1 分治算[0法0]的运行时间┊287 10.2.2 [z1u1i]近点问题┊289 10.2.3 选择问题┊291 10.2.4 一些运算问题的理论改进┊294 10.3 动态规划┊297 10.3.1 用一个表代替递归┊298 10.3.2 矩阵乘[0法0]的顺序安排┊300 10.3.3 [z1u1i][0优0]二叉查找树┊301 10.3.4 所有点对[z1u1i]短路径┊304 10.4 随[1机1]化算[0法0]┊306 10.4.1 随[1机1]数发生器┊307 10.4.2 跳跃表┊310 10.4.3 素性测试┊312 10.5 回溯算[0法0]┊314 10.5.1 收费公路重建问题┊314 10.5.2 博弈┊318 总结┊323 练习┊323 参考文献┊329 [0第0]11章 摊还分析┊333 11.1 一个无关的智力问题┊334 11.2 二项队列┊335 11.3 斜堆┊339 11.4 斐波那契堆┊341 11.4.1 切除左式堆中的节点┊341 11.4.2 二项队列的懒惰合并┊343 11.4.3 斐波那契堆操作┊346 11.4.4 时间界的证明┊346 11.5 伸展树┊348 总结┊351 练习┊351 参考文献┊353 [0第0]12章 高级数据结构及其实现┊355 12.1 自[0顶0]向下伸展树┊356 12.2 红黑树┊361 12.2.1 自底向上插入┊362 12.2.2 自[0顶0]向下红黑树┊363 12.2.3 自[0顶0]向下删除┊367 12.3 确定性跳跃表┊368 12.4 AA树┊373 12.5 treap树┊378 12.6 k-d树┊379 12.7 配对堆┊383 总结┊387 练习┊387 参考文献┊389 索引┊391 |