图书介绍
数据结构与算法PDF|Epub|txt|kindle电子书版本网盘下载
![数据结构与算法](https://www.shukui.net/cover/72/33805061.jpg)
- 汪沁,奚李峰,邓芳等著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302281337
- 出版时间:2012
- 标注页数:275页
- 文件大小:15MB
- 文件页数:288页
- 主题词:数据结构-高等学校-教材;算法分析-高等学校-教材
PDF下载
下载说明
数据结构与算法PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 绪论1
1.1数据结构的概念2
1.1.1引言2
1.1.2数据结构有关概念与术语4
1.2抽象数据类型6
1.3算法描述与分析7
1.3.1什么是算法7
1.3.2算法分析技术初步9
1.4基本的算法策略12
1.4.1穷举法12
1.4.2递推法与迭代法13
1.4.3分治法15
1.4.4贪婪算法16
1.4.5动态规划17
1.5案例分析19
1.6小结20
讨论小课堂121
习题122
第2章 线性表24
2.1线性表的定义及其运算24
2.1.1线性表的定义24
2.1.2线性表的基本操作25
2.2线性表的顺序存储结构及实现26
2.2.1顺序存储结构26
2.2.2线性表在向量中基本运算的实现27
2.3线性表的链表存储结构32
2.3.1单链表32
2.3.2线性链表基本运算的实现35
2.4循环链表和双向链表41
2.4.1循环链表41
2.4.2双向链表42
2.4.3顺序存储结构与链表存储结构的综合分析与比较43
2.5单链表的应用44
2.5.1多项式相加的链表存储结构44
2.5.2多项式相加的算法实现45
2.6小结46
讨论小课堂247
习题247
第3章 栈和队列49
3.1栈49
3.1.1栈的定义49
3.1.2栈的基本操作50
3.2栈的顺序存储结构及实现51
3.2.1栈的顺序存储结构51
3.2.2顺序栈的定义52
3.3栈的链表存储结构及实现54
3.4栈的应用56
3.4.1表达式的计算56
3.4.2子程序的嵌套调用58
3.4.3递归调用59
3.5队列60
3.5.1队列的定义及运算60
3.5.2队列的抽象数据类型描述61
3.6队列的顺序存储结构及实现61
3.7队列的链表存储结构及实现64
3.8队列的应用67
3.9算法实例——Hanoi塔问题68
3.10小结70
讨论小课堂370
习题371
第4章串72
4.1串的基本概念72
4.1.1串的定义72
4.1.2串的基本操作73
4.2串的存储与基本操作的实现74
4.2.1定长顺序串74
4.2.2堆串75
4.2.3块链串75
4.2.4串操作的实现76
4.3串的模式匹配80
4.3.1朴素模式匹配算法80
4.3.2模式匹配的KMP算法81
4.4串的应用举例:文本编辑85
4.5小结86
讨论小课堂487
习题487
第5章 数组和广义表88
5.1数组88
5.1.1数组的基本概念88
5.1.2二维数组89
5.1.3数组的顺序存储方式89
5.2矩阵的压缩存储90
5.2.1特殊矩阵91
5.2.2稀疏矩阵93
5.3广义表98
5.3.1广义表的定义98
5.3.2广义表的存储结构99
5.4案例分析101
5.4.1概述和方法101
5.4.2算法和程序103
5.5小结105
讨论小课堂5106
习题5106
第6章 树与二叉树108
6.1树、二叉树的概念及术语108
6.1.1树的定义108
6.1.2树的基本操作110
6.1.3树的表示方式110
6.1.4树的存储结构111
6.2二叉树112
6.2.1二叉树的定义112
6.2.2二叉树的重要性质112
6.2.3二叉树的存储结构114
6.3二叉树的遍历115
6.3.1先序遍历116
6.3.2中序遍历117
6.3.3后序遍历117
6.3.4按层遍历118
6.3.5非递归遍历算法118
6.3.6二叉树的建立121
6.3.7二叉树遍历的应用举例122
6.4二叉树与树、森林的转换123
6.4.1树与二叉树的转换124
6.4.2森林与二叉树的转换124
6.5树的遍历126
6.5.1一般树的遍历126
6.5.2森林的遍历127
6.6二叉树的应用128
6.6.1哈夫曼树128
6.6.2哈夫曼树的构造128
6.6.3哈夫曼树的实现算法129
6.6.4哈夫曼编码131
6.7小结131
讨论小课堂6132
习题6132
第7章图134
7.1图的基本概念134
7.1.1图的定义134
7.1.2图的术语136
7.1.3图的基本操作137
7.2图的存储结构138
7.2.1图的邻接矩阵138
7.2.2邻接矩阵表示法的C语言类型描述139
7.2.3邻接矩阵表示下的基本操作的实现140
7.2.4图的邻接链表141
7.2.5图的邻接表表示法的C语言类型描述143
7.2.6邻接表表示下基本操作的实现144
7.3图的遍历与图的连通性146
7.3.1图的深度优先遍历146
7.3.2图的广度优先遍历148
7.3.3非连通图和连通分量150
7.4图的最小生成树150
7.4.1最小生成树的基本概念150
7.4.2普里姆(Prim)算法151
7.4.3克鲁斯卡尔(Kruskal)算法153
7.5最短路径154
7.5.1从某顶点到其余各顶点的最短路径155
7.5.2每对顶点之间的最短路径157
7.6拓扑排序与关键路径159
7.6.1拓扑排序160
7.6.2关键路径163
7.7图的应用168
7.7.1图在路由器寻径中的应用168
7.7.2图在物流信息系统中的应用169
7.8小结169
讨论小课堂7170
习题7170
第8章 查找172
8.1查找的基本概念172
8.2静态查找表173
8.2.1顺序表的查找173
8.2.2有序表的折半查找174
8.2.3索引顺序表查找177
8.3动态查找表178
8.3.1二叉排序树178
8.3.2平衡二叉树184
8.4案例分析191
8.4.1直方图问题191
8.4.2箱子装载问题192
8.5小结194
讨论小课堂8194
习题8195
第9章 排序196
9.1排序的基本概念196
9.2插入排序197
9.2.1直接插入排序197
9.2.2折半插入排序198
9.2.3希尔排序198
9.3交换排序200
9.3.1冒泡排序200
9.3.2快速排序201
9.4选择排序204
9.4.1简单选择排序204
9.4.2堆排序205
9.5归并排序208
9.6基数排序210
9.7小结213
讨论小课堂9214
习题9215
第10章 索引结构与散列217
10.1静态索引结构217
10.1.1索引表217
10.1.2索引表查找217
10.2动态索引结构(B一树和B+树)219
10.2.1 B一树的定义220
10.2.2 B一树的运算221
10.2.3 B+树223
10.3键树及Trie树224
10.3.1键树的定义224
10.3.2双链树225
10.3.3 Trie树226
10.4散列表及其查找227
10.4.1哈希表与哈希函数227
10.4.2构造哈希函数的常用方法228
10.4.3解决冲突的主要方法230
10.4.4哈希查找的性能分析234
10.5小结234
讨论小课堂10235
习题10235
附录 上机实验指导238
第1部分 上机实验要求及规范238
第2部分 实验部分239
实验1复数ADT及其实现239
实验2线性表241
实验3栈和队列248
实验4串253
实验5数组255
实验6树与二叉树257
实验7图261
实验8查找265
实验9排序267
实验10哈希查找272
参考文献275