图书介绍
大话数据结构PDF|Epub|txt|kindle电子书版本网盘下载
![大话数据结构](https://www.shukui.net/cover/74/30768203.jpg)
- 程杰著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302255659
- 出版时间:2011
- 标注页数:439页
- 文件大小:79MB
- 文件页数:467页
- 主题词:数据结构
PDF下载
下载说明
大话数据结构PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 数据结构绪论1
1.1开场白2
1.2你数据结构怎么学的?3
1.3数据结构起源4
1.4基本概念和术语5
1.4.1数据5
1.4.2数据元素5
1.4.3数据项6
1.4.4数据对象6
1.4.5数据结构6
1.5逻辑结构与物理结构7
1.5.1逻辑结构7
1.5.2物理结构9
1.6抽象数据类型11
1.6.1数据类型11
1.6.2抽象数据类型12
1.7总结回顾14
1.8结尾语15
第2章 算法17
2.1开场白18
2.2数据结构与算法关系18
2.3两种算法的比较19
2.4算法定义20
2.5算法的特性21
2.5.1输入输出21
2.5.2有穷性21
2.5.3确定性21
2.5.4可行性21
2.6算件设计的要求22
2.6.1正确性22
2.6.2可读性23
2.6.3健壮性23
2.6.4时间效率高和存储量低23
2.7算法效率的度量方法24
2.7.1事后统计方法24
2.7.2事前分析估算方法25
2.8函数的渐近增长27
2.9算法时间复杂度29
2.9.1算法时间复杂度定义29
2.9.2推导大O阶方法30
2.9.3常数阶30
2.9.4线性阶31
2.9.5对数阶32
2.9.6平方阶32
2.10常见的时间复杂度35
2.11最坏情况与平均情况35
2.12算法空间复杂度36
2.13总结回顾37
2. 14结尾语38
第3章 线性表41
3.1开场白42
3.2线性表的定义42
3.3线性表的抽象数据类型45
3.4线性表的顺序存储结构47
3.4.1顺序存储定义47
3.4.2顺序存储方式47
3.4.3数据长度与线性表长度区别48
3.4.4地址计算方法49
3.5顺序存储结构的插入与删除50
3.5.1获得元素操作50
3.5.2插入操作51
3.5.3删除操作52
3.5.4线性表顺序存储结构的优缺点54
3.6线性表的链式存储结构55
3.6.1顺序存储结构不足的解决办法55
3.6.2线性表链式存储结构定义56
3.6.3头指针与头结点的异同58
3.6.4线性表链式存储结构代码描述58
3.7单链表的读取60
3.8单链表的插入与删除61
3.8.1单链表的插入6
3.8.2单链表的删除64
3.9单链表的整表创建66
3.10单链表的整表删除69
3.11单链表结构与顺序存储结构优缺点70
3.12静态链表71
3.12.1静态链表的插入操作73
3.12.2静杰链表的删除操作75
3.12.3静态链表优缺点77
3.13循环链表78
3.14双向链表81
3.15 总结回顾84
3.16结尾语85
第4章 栈与队列87
4.1开场白88
4.2栈的定义89
4.2.1栈的定义89
4.2.2进栈出栈变化形式90
4.3栈的抽象数据类型91
4.4栈的顺序存储结构及实现92
4.4.1栈的顺序存储结构92
4.4.2栈的顺序存储结构——进栈操作93
4.4.3栈的顺序存储结构——出栈操作94
4.5两栈共享空间94
4.6栈的链式存储结构及实现97
4.6.1栈的链式存储结构97
4.6.2栈的链式存储结构——进栈操作98
4.6.3栈的链式存储结构——出栈操作99
4.7栈的作用100
4.8栈的应用——递归100
4.8.1斐波那契数列实现101
4.8.2递归定义103
4.9栈的应用——四则运算表达式求值104
4.9.1后缀(逆波兰)表示法定义104
4.9.2后缀表达式计算结果106
4.9.3中缀表达式转后缀表达式108
4.10队列的定义111
4.11队列的抽象数据类型112
4. 12循环队列112
4.12.1队列顺序存储的不足112
4.12.2循环队列定义114
4.13队列的链式存储结构及实现117
4.13.1队列的链式存储结构——入队操作118
4.13.2队列的链式存储结构——出队操作119
4.14总结回顾120
4.15结尾语121
第5章串123
5.1开场白124
5.2串的定义124
5.3串的比较126
5.4串的抽象数据类型127
5.5串的存储结构129
5.5.1串的顺序存储结构129
5.5.2串的链式存储结构131
5.6朴素的模式匹配算法131
5.7 KMP模式匹配算法135
5.7.1 KMP模式匹配算法原理135
5.7.2 next数组值推导139
5.7.3 KMP模式匹配算法实现141
5.7.4 KMP模式匹配算法改进142
5.7.5 nextval数组值推导144
5.8总结回顾146
5.9结尾语146
第6章树149
6.1开场白150
6.2树的定义150
6.2.1结点分类152
6.2.2结点间关系152
6.2.3树的其他相关概念153
6.3树的抽象数据类型154
6.4树的存储结构155
6.4.1双亲表示法155
6.4.2孩子表示法158
6.4.3孩子兄弟表示法162
6.5二叉树的定义163
6.5.1二叉树特点165
6.5.2特殊二叉树166
6.6二叉树的性质169
6.6.1二叉树性质1169
6.6.2二叉树性质2169
6.6.3一叉树性质3169
6.6.4二叉树性质4170
6.6.5二叉树性质5171
6.7二叉树的存储结构172
6.7.1二叉树顺序存储结构172
6.7.2二叉链表173
6.8遍历二叉树174
6.8.1二叉树遍历原理174
6.8.2二叉树遍历方法175
6.8.3前序遍历算法178
6.8.4中序遍历算法181
6.8.5后序遍历算法184
6.8.6推导遍历结果184
6.9二叉树的建立187
6.10线索二叉树188
6.10.1线索二叉树原理188
6.10.2线索二叉树结构实现191
6.11树、森林与二叉树的转换195
6.11.1树转换为二叉树196
6.11.2森林转换为二叉树197
6.11.3二叉树转换为树197
6.11.4二叉树转换为森林198
6.11.5树与森林的遍历199
6.12赫夫曼树及其应用200
6.12.1赫夫曼树200
6.12.2赫夫曼树定义与原理203
6.12.3赫夫曼编码205
6.13总结回顾208
6.14结尾语209
第7章图211
7.1开场白212
7.2图的定义213
7.2.1各种图定义214
7.2.2图的顶点与边间关系217
7.2.3连通图相关术语219
7.2.4图的定义与术语总结222
7.3图的抽象数据类型222
7.4图的存储结构223
7.4.1邻接矩阵224
7.4.2邻接表228
7.4.3十字链表232
7.4.4邻接多重表234
7.4.5边集数组236
7.5图的遍历237
7.5.1深度优先遍历238
7.5.2广度优先遍历242
7.6最小生成树245
7.6.1普里姆(Pm)算法247
7.6.2克鲁斯卡尔(Kskal )算法251
7.7最短路径257
7.7.1迪杰斯特拉(Dijkstra)算法259
7.7.2弗洛伊德(Floyd )算法265
7.8拓扑排序270
7.8.1拓扑排序介绍271
7.8.2拓扑排序算法272
7.9关键路径277
7.9.1关键路径算法原理279
7.9.2关键路径算法280
7.10总结回顾287
7.11结尾语289
第8章 查找291
8.1开场白292
8.2查找概论293
8.3顺序表查找295
8.3.1顺序表查找算法296
8.3.2顺序表查找优化297
8.4有序表查找298
8.4.1折半查找298
8.4.2插值查找301
8.4.3斐波那契查找302
8.5线性索引查找306
8.5.1稠密索引307
8.5.2分块索引308
8.5.3倒排索引311
8.6二叉排序树313
8.6.1二叉排序树查找操作316
8.6.2二叉排序树插入操作318
8.6.3二叉排序树删除操作320
8.6.4二叉排序树总结327
8.7平衡二叉树(AVL树)328
8.7.1平衡二叉树实现原理330
8.7.2平衡二叉树实现算法334
8.8多路查找树(B树)341
8.8.1 2-3树343
8.8.2 2-3-4树348
8.8.3 B树349
8.8.4 B+树351
8.9散列表查找(哈希表)概述353
8.9.1散列表查找定义354
8.9.2散列表查找步骤355
8.10散列函数的构造方法356
8.10.1直接定址法357
8.10.2数字分析法358
8.10.3平方取中法358
8.10.4折叠法359
8.10.5除留余数法359
8.10.6随机数法360
8.11处理散列冲突的方法360
8.11.1开放定址法361
8.11.2再散列函数法363
8.11.3链地址法363
8.11.4公共溢出区法364
8.12散列表查找实现365
8.12.1散列表查找算法实现365
8.12.2散列表查找性能分析367
8. 13总结回顾368
8.14结尾语369
第9章 排序373
9.1开场白374
9.2排序的基本概念与分类375
9.2.1排序的稳定性376
9.2.2内排序与外排序377
9.2.3排序用到的结构与函数378
9.3冒泡排序378
9.3.1最简单排序实现379
9.3.2冒泡排序算法380
9.3.3冒泡排序优化&382
9.3.4冒泡排序复杂度分析383
9.4简单选择排序384
9.4.1简单选择排序算法384
9.4.2简单选择排序复杂度分析&385
9.5直接插入排序386
9.5.1直接插入排序算法386
9.5.2直接插入排序复杂度分析388
9.6希尔排序389
9.6.1希尔排序原理391
9.6.2希尔排序算法391
9.6.3希尔排序复杂度分析395
9.7堆排序396
9.7.1堆排序算法398
9.7.2堆排序复杂度分析405
9.8归并排序406
9.8.1归并排序算法407
9.8.2归并排序复杂度分析413
9.8.3非递归实现归并排序413
9.9快速排序417
9.9.1快速排序算法417
9.9.2快速排序复杂度分析421
9.9.3快速排序优化422
9.10总结回顾428
9.11结尾语430
关键词索引435
参考文献439