大小:9.85M
更新时间:23-08-28
系统:Pc
数据结构与算法分析c语言描述(原书第二版)是一本是国外数据结构与算法分析方在的标准教材,由美国佛罗里达国际大学计算机学院教授MarkAllenWeiss编著。本书介绍了数据结构(大量数据的组织方法)以及算法分析(算法运行时间的估算),讨论数据结构和算法分析。数据结构主要研究组织大量数据的方法,而算法分析则是对算法运行时间的评估。全书详细的介绍了当前流行的论题和新的数据结构,如斐波那契堆、斜堆、二项队列、跳跃表和伸展树;专门讨论摊还分析,考查书中介绍的一些数据结构;另外新开辟一章讨论数据结构以及它们的实现,其中括红黑树、自顶向下伸展树。treap树、k-d树、配对堆以及其他相关内容,适用数据结构课程或研究生一年级算法分析课程的教材。
《数据结构与算法分析c语言描述(原书第二版)》中详细介绍了当前流行的论题和新的变化,讨论了算法设计技巧,并在研究算法的性能、效率以及对运行时间分析的基础上考查了一些高级数据结构,从历史的角度和近年的进展对数据结构的活跃领域进行了简要的概括。由于本书选材新颖,方法实用,题例丰富,取舍得当。全书的目的是培养学生良好的程序设计技巧和熟练的算法分析能力,使得他们能够开发出高效率的程序。从服务于实践又锻炼学生实际能力出发,书中提供了大部算法的C程序和伪码例程,但并不是全部。一些程序可从互联网上获得。本书非常适合高级数据结构课程或研究生一年级算法分析课程的教材,使用本书需具有一些中级程序设计知识,还需要离散数学的一些背景知识。
前言
第1章 引论┊1
1.1 本书讨论的内容┊2
1.2 数学知识复习┊3
1.2.1 指数┊3
1.2.2 对数┊3
1.2.3 级数┊4
1.2.4 模运算┊5
1.2.5 证明方法┊5
1.3 递归简论┊7
总结┊10
练习┊10
参考文献┊11
第2章 算法分析┊13
2.1 数学基础┊14
2.2 模型┊16
2.3 要分析的问题┊16
2.4 运行时间计算┊18
2.4.1 一个简单的例子┊18
2.4.2 一般法则┊19
2.4.3 最大子序列和┊20
2.4.4 运行时间中的对数┊24
2.4.5 检验你的分析┊27
2.4.6 分析结果的准确性┊28
总结┊28
练习┊29
参考文献┊32
第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 双链表┊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
第4章 树┊71
4.1 预备知识┊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 双旋转┊90
4.5 伸展树┊95
4.5.1 一个简单的想法┊96
4.5.2 展开┊97
4.6 树的遍历┊102
4.7 B树┊103
总结┊107
练习┊108
参考文献┊113
第5章 散列┊117
5.1 一般想法┊118
5.2 散列函数┊118
5.3 分离链接法┊120
5.4 开放定址法┊123
5.4.1 线性探测法┊124
5.4.2 平方探测法┊125
5.4.3 双散列┊129
5.5 再散列┊130
5.6 可扩散列┊132
总结┊133
练习┊134
参考文献┊137
第6章 优先队列(堆)┊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 优先队列的应用┊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
第7章 排序┊173
7.1 预备知识┊174
7.2 插入排序┊174
7.2.1 算法┊174
7.2.2 插入排序的分析┊175
7.3 一些简单排序算法的下界┊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 选择的线性期望时间算法┊194
7.8 大型结构的排序┊195
7.9 排序的一般下界┊196
7.10 桶式排序┊198
7.11 外部排序┊198
7.11.1 为什么需要新的算法┊198
7.11.2 外部排序模型┊199
7.11.3 简单算法┊199
7.11.4 多路合并┊200
7.11.5 多相合并┊201
7.11.6 替换选择┊202
总结┊203
练习┊204
参考文献┊207
第8章 不相交集ADT┊209
8.1 等价关系┊210
8.2 动态等价性问题┊210
8.3 基本数据结构┊212
8.4 灵巧求并算法┊214
8.5 路径压缩┊216
8.6 按秩求并和路径压缩的最坏情形┊217
8.7 一个应用┊221
总结┊222
练习┊222
参考文献┊223
第9章 图论算法┊225
9.1 若干定义┊226
9.2 拓扑排序┊228
9.3 最短路径算法┊230
9.3.1 无权最短路径┊232
9.3.2 Dijkstra算法┊235
9.3.3 具有负边值的图┊240
9.3.4 无圈图┊241
9.3.5 所有点对最短路径┊243
9.4 网络流问题┊243
9.5 最小生成树┊247
9.5.1 Prim算法┊248
9.5.2 Kruskal算法┊250
9.6 深度优先搜索的应用┊251
9.6.1 无向图┊252
9.6.2 双连通性┊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
第10章 算法设计技巧┊273
10.1 贪婪算法┊274
10.1.1 一个简单的调度问题┊274
10.1.2 Huffman编码┊276
10.1.3 近似装箱问题┊280
10.2 分治算法┊286
10.2.1 分治算法的运行时间┊287
10.2.2 最近点问题┊289
10.2.3 选择问题┊291
10.2.4 一些运算问题的理论改进┊294
10.3 动态规划┊297
10.3.1 用一个表代替递归┊298
10.3.2 矩阵乘法的顺序安排┊300
10.3.3 最优二叉查找树┊301
10.3.4 所有点对最短路径┊304
10.4 随机化算法┊306
10.4.1 随机数发生器┊307
10.4.2 跳跃表┊310
10.4.3 素性测试┊312
10.5 回溯算法┊314
10.5.1 收费公路重建问题┊314
10.5.2 博弈┊318
总结┊323
练习┊323
参考文献┊329
第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
第12章 高级数据结构及其实现┊355
12.1 自顶向下伸展树┊356
12.2 红黑树┊361
12.2.1 自底向上插入┊362
12.2.2 自顶向下红黑树┊363
12.2.3 自顶向下删除┊367
12.3 确定性跳跃表┊368
12.4 AA树┊373
12.5 treap树┊378
12.6 k-d树┊379
12.7 配对堆┊383
总结┊387
练习┊387
参考文献┊389
索引┊391
1、下载并解压,得出pdf文件
2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读
应用信息
同类热门
类似软件
数据结构基础c语言版(第2版)27.47M695人在用 数据结构基础c语言版(第2版)是一本在各大高校广泛使用的教材,专门用于讲解数据结构的基本概念和操作。这本书由殷人昆创作,朱仲涛翻译,自出版以来就备受推崇,与第一版相比,第二版的篇幅得到了显著扩大,内容也进行了全面的更新和完善。 新版的数
查看
大话数据结构溢彩加强版pdf40.92M1811人在用 《大话数据结构》是一本非常适合自学的数据结构书籍,由程杰作者精心编写,与一般的教材不同,这本书主要根据教育部关于计算机专业数据结构课程大纲的要求进行了略微的增减,以更好地适应读者的需求。 在书中,作者以一个计算机教师教学为场景,生动地讲
查看
写给大家看的c语言书(第2版)41.09M354人在用 写给大家看的c语言书(第2版)是一部别开生面、与众不同的C语言经典入门著作,由美国计算机编程专家佩里编著。本书内容丰富,将C语言的基础知识、必备的实战技能和宝贵编程经验尽数道来。没有云山雾罩,没有前因后果的行话,没有艰深而且不必要的内部技术细节,没
查看
C/C++软件工程师就业求职手册49.34M345人在用 C/C++软件工程师就业求职手册是一本C和C++语言的工程师就业求职指南,由胡凌云编著。本书涵盖C/C++面试中出现的各个知识点,包括C语言编程基础、C++面向对象、算法、数据结构、STL等。所有知识点都结合例题进行说明,每道例题都取材于各大公司的
查看
c++程序设计语言(第4部分:标准库)68.02M1409人在用 c++程序设计语言(第4部分:标准库)是C++之父Bjarne Stroustrup编写的全新作品,也是通常用户所说的c++程序设计语言第四版,是无可替代的C++领域经典的参考书,详细的介绍C++11的各项新特性、功能等。全书知识结构完整,对C++
查看
c++程序设计语言(第1-3部分)(原书第4版)157.95M1602人在用 c++程序设计语言(第1-3部分)(原书第4版)是C++领域的一本经典的参考书,由C++语言之父Bjarne Stroustrup编著,全书知识结构完整,对C++语言介绍非常全面,作者按照基本功能、抽象机制、标准库的递进层次组织全书,由浅入深地把C
查看热门标签
网友评论0人参与,0条评论
最新排行
科慧尔计算机三级网络技术题库软件17.46Mv10.0.9 科慧尔计算机三级网络技术题库软件是按照最新《全国计算机等级考试三级网络技术考试大纲》研发的一款全国计算机等级考试软件,拥有考试大纲和模拟考试2大栏目,包括最新大纲、历年真题,全真模拟和详尽解析等功能,可以帮助广大考生更好的掌握计算机三级网络技术,从
查看
PP论文检测查重助手16.76Mv5.6 PP论文检测查重助手是一款专业的论文检测重查程序,这款软件以把一个句子改造成四个句子,供你选择,而且同时也提供整篇修改,速度更快,效率更高,非常方便实用。另外,PP论文检测查重助手也可以及时的修改论文重复的地方,避免在学校正式查重中被淘汰,其您还可
查看
百乐财务金额小键盘打字练习官方版2.44Mv5.2 百乐财务金额小键盘打字练习官方版是一款非常好用的数字小键盘指法练习软件,该软件使用了使用小键盘配合多种常用单据的练习方法,充分训练大脑对数字的敏感和反应能力,提高各手指的协调性和灵活性,能够有效的帮助你练习小键盘打字速度和准确度,以达到在长时间输入
查看
赶考状元教师端电脑版41.58Mv1.0.4 赶考状元教师端电脑版是专为平台教师打造的一款在线直播讲课的软件,在这里,老师可以上传完善个人资料,让学生和家长更加了解和信任您,也可以在线观看教师讲课相关培训资料,轻松掌握上课技巧。自己录制面试视频,一键上传,不受时间,地点限制,让您轻松搞定面试。
查看
易考通在线考试平台客户端80.86Mv1.1.6.59官方版 易考通在线考试平台客户端是专为各大院校网络考试打造的一款在线考试平台,集成无纸化考试、新闻管理、帐户管理、题库管理、试卷管理和成绩统计等功能于一身,能够让广大用户可以随时随地参加考试,在不受时间和地域的限制情况下,让考试更省力。不仅如此,易考通电脑
查看
打字先锋4.6电脑版740K 打字先锋4.6电脑版是一款功能丰富、小巧精致的五笔练习软件,该软件自带五笔输入法,通过它可以帮助用户熟练使用五笔输入法,提高打字效率和速度,而且练习内容丰富,包含多种练习文章,可以让你自由的定义练习内容,自带的及时统计让你能够更加注重练习目的,相信
查看
块数据 大数据时代真正到来的标志51.74Mpdf扫描版 块数据是一本首次创新性提出“块数据”这一概念的大数据图书,由大数据战略重点实验室编著。本书从一个新颖的视角——块数据,来看待大数据及其未来的发展,颇有创意!“条数据”和“块数据”的划分,师法自然,抓住了数据的本质。本书源于贵阳市领导在推进大数据应用
查看
Hadoop海量数据处理:技术详解与项目实战47.54M范东来pdf扫描版Hadoop海量数据处理:技术详解与项目实战是一本Hadoop数据处理技术指导手册,由范东来编著。本书主要介绍Hadoop技术的相关知识,不但详细介绍了Hadoop、MapReduce、HDFS、Hive和Sqoop,还深入探讨了Hadoop的运维和调优
查看