《数据结构 C语言版》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:杨开城编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2008
  • ISBN:9787121067556
  • 页数:271 页
图书介绍:本书通过大量的图解和示例,介绍了有关数据结构的基本概念、原理和算法,包括集合、线性表、树和图的数据类型定义、数据对象的基本操作以及这些操作的应用范例。此外,本书还详细解释了数据结构中经典算法的基本思想和算法细节,包括括号匹配检查算法、算术表达式求值算法、迷宫路径求解算法、递归问题的非递归算法、迷宫最短路径的求解算法、字符串模式匹配的KMP算法、线索化二叉树算法、哈夫曼编码算法、图的关节点求解算法、连通网的最小生成树算法、图的最短路径求解算法、有向无环图的拓扑排序和关键路径求解算法。本书的最后两章,重点介绍了常见的查找和排序算法。

第1章 绪论 1

C语言关键库函数 2

键盘输入函数 2

以字符串为源或目的的输入和输出函数 3

文本屏幕定位输出函数 4

内存的分配与释放函数 5

字符串操作函数 7

文件操作函数 8

C语言关键句法 9

数据结构的基本概念和术语 16

数据类型与抽象数据类型 20

算法与算法分析 20

算法 20

算法设计的要求 21

算法的时间复杂度 21

算法的空间复杂度 23

实验指导 23

第2章 线性表基本操作 27

线性表的基本概念 29

顺序表——顺序存储的线性表 29

线性链表——链式存储的线性表 34

单链表 34

双向链表 41

循环链表 43

线性表操作的简单应用 43

静态链表 47

广义表 49

实验指导 49

第3章 栈和队列 51

栈 52

栈的定义 52

顺序栈的实现 52

链式栈的实现 54

栈的应用 55

括号匹配检查 55

算术表达式求值 57

迷宫路径求解 63

递归问题的非递归算法 66

斐波那契序列项求解 66

Ackerman函数求值 68

汉诺塔问题 74

队列 76

队列的定义 76

顺序队列的实现 77

链式队列的实现 80

队列的应用 82

实验指导 85

第4章 字符串与数组 89

字符串 90

字符串的存储 90

字符串的简单模式匹配 91

字符串模式匹配的KMP算法 91

数组与矩阵 94

数组的定义 94

矩阵的压缩存储 94

稀疏矩阵的转置与乘法 99

实验指导 105

第5章 树与二叉树 106

树的基本概念 108

树的定义 108

基本术语 108

二叉树 109

二叉树的定义和基本性质 109

二叉树的存储结构 110

二叉树的建立与销毁 111

二叉树的遍历 116

先序遍历、中序遍历和后序遍历 116

层序遍历 120

遍历算法的应用 122

线索化二叉树 124

哈夫曼树 129

树和森林 135

树的存储结构 135

森林与二叉树的转换 137

树和森林的遍历 138

实验指导 139

第6章图 141

基本概念和术语 142

图的存储结构 144

邻接矩阵 144

邻接表 147

图的遍历 150

深度优先搜索遍历 150

广度优先搜索遍历 153

图的关节点问题 155

连通网的最小生成树问题 159

普里姆(Prim)算法 159

克鲁斯卡尔(Kruskal)算法 162

最短路径问题 165

从某个源点到其他各顶点的最短路径 165

每对顶点之间的最短路径 170

拓扑排序与关键路径问题 172

拓扑排序 172

关键路径 175

实验指导 182

第7章 查找 187

基本概念和术语 187

静态查找表 188

无序顺序表的查找 188

有序顺序表的查找 188

分块查找 192

动态查找表 193

二叉排序树 193

平衡二叉树 198

B-树 208

B+树 222

键树 223

哈希表 224

哈希函数的构造方法 224

处理冲突的方法 225

实验指导 226

第8章 排序 229

排序的基本概念 230

内排序 230

插入排序 230

交换排序 235

选择排序 240

索引排序 245

计数排序 249

归并排序 251

基数排序 252

各种内排序算法的性能比较 257

外排序 258

K路平衡归并 258

置换-选择排序 260

哈夫曼归并树 261

实验指导 262

练一练答案 263

第1章 263

第2章 263

第3章 264

第4章 265

第5章 265

第6章 266

第7章 268

第8章 269