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

  • 购买积分:10 如何计算积分?
  • 作  者:胡学钢
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2008
  • ISBN:7040225476
  • 页数:223 页
图书介绍:数据结构是计算机类相关专业重要的专业基础课程,是提高软件设计水平以及学习后续课程所必需的基础。课程中涉及到软件设计中常见的几种数据结构及其在计算机内存中的表示(即存储)形式和各种操作的实现,以及软件设计中常用的排序和查找运算。本书是针对应用型本科层次计算机类相关专业所编写的,主要内容包括概述、线性表、串、栈、队列、数组、树和二叉树、图、查找、排序和文件等,并配有相关的习题。作者按照实用性、模块化、通俗性的要求组织教材体系和各部分内容,加强了算法和程序设计的分析,从而避免了概念和理论的枯燥的平铺直述,容易激发学生的学习兴趣,具有较好的学习效果。本书也可作为其他相关专业学生学习《数据结构》课程的教材或参考书。与教材配套的《数据结构实验教程》即将出版,主要内容包括实验指导、课程设计指导、典型习题分析讲解、自测试卷及其解析等。

第1章 概论 1

1.1 “数据结构”的研究内容 2

1.1.1 用计算机解决实际问题的过程 2

1.1.2 学习“数据结构”的意义 4

1.2 基本术语 5

1.3 算法描述及分析 6

1.3.1 算法描述语言概述 6

1.3.2 算法分析 8

本章小结 9

习题1 10

第2章 线性表 11

2.1 线性表的定义和运算 12

2.1.1 线性表的定义 12

2.1.2 线性表的运算 12

2.2 线性表的顺序表存储结构 13

2.2.1 顺序存储结构 13

2.2.2 顺序表运算的实现 14

2.2.3 顺序表的应用 17

2.3 链表 20

2.3.1 链表结构 21

2.3.2 链表运算的实现 24

2.3.3 其他形式的链表结构 33

2.4 串 37

2.4.1 串的定义和运算 37

2.4.2 串的存储 38

本章小结 39

习题2 40

第3章 栈、队列和数组 42

3.1 栈 43

3.1.1 栈的定义和运算 43

3.1.2 顺序栈 44

3.1.3 链栈 46

3.1.4 栈的应用实例 46

3.2 队列 51

3.2.1 队列的定义和运算 51

3.2.2 顺序队列与循环队列 52

3.2.3 链队列 55

3.2.4 队列的应用 57

3.3 数组 58

3.3.1 数组的定义和运算 58

3.3.2 数组的顺序存储 59

3.3.3 矩阵的压缩存储 61

3.4 栈的应用——栈和递归 63

3.4.1 递归程序的定义及其基本形式 64

3.4.2 递归调用的内部实现原理 66

3.4.3 递归程序的阅读 70

3.4.4 递归程序的正确性证明和编写 74

3.4.5 递归的模拟 77

本章小结 86

习题3 87

第4章 树 93

4.1 树 94

4.2 二叉树 96

4.2.1 二叉树的基本概念 96

4.2.2 二叉树的性质 97

4.2.3 二叉树的存储结构 99

4.3 二叉树的遍历 101

4.3.1 遍历算法的实现 101

4.3.2 二叉树遍历算法的应用 106

4.4 线索二叉树 108

4.4.1 线索二叉树结构 108

4.4.2 线索二叉树中前驱和后继的求解 109

4.5 树和森林 112

4.5.1 树的存储结构 112

4.5.2 树(森林)与二叉树的转换 116

4.5.3 树(森林)的遍历 118

4.6 哈夫曼树 119

4.6.1 问题描述及求解方法 121

4.6.2 应用实例 123

本章小结 124

习题4 125

第5章 图 129

5.1 基本概念 130

5.2 图的存储结构 132

5.2.1 邻接矩阵表示 132

5.2.2 邻接表表示 133

5.3 图的遍历算法及其应用 134

5.3.1 深度优先搜索遍历算法及其应用 135

5.3.2 广度优先搜索遍历算法及其应用 140

5.4 最小生成树 145

5.4.1 Prim算法 145

5.4.2 Kruskal算法 150

5.5 有向无环图 152

5.5.1 拓扑排序 153

5.5.2 关键路径 156

5.6 最短路径 160

5.6.1 从单个顶点到其余各顶点之间的最短路径 160

5.6.2 各顶点之间的最短路径 165

本章小结 168

习题5 169

第6章 查找 172

6.1 概述 173

6.2 顺序表的查找 174

6.2.1 简单顺序查找 174

6.2.2 有序表的二分查找 175

6.2.3 索引顺序表的查找 178

6.3 树表的查找(二叉排序树的查找) 179

6.3.1 二叉排序树及其查找 180

6.3.2 平衡二叉树 183

6.4 散列表的查找 189

6.4.1 散列表的基本概念 189

6.4.2 散列函数的构造方法 189

6.4.3 处理冲突的方法 190

6.4.4 散列表的查找 193

本章小结 193

习题6 194

第7章 排序 196

7.1 概述 197

7.1.1 排序及其分类 197

7.1.2 排序算法的指标分析 198

7.2 插入排序 198

7.2.1 直接插入排序 198

7.2.2 希尔排序 200

7.3 交换排序 202

7.3.1 冒泡排序 202

7.3.2 快速排序 204

7.4 选择排序 207

7.4.1 直接选择排序 208

7.4.2 堆排序 209

7.5 归并排序 214

7.5.1 归并 214

7.5.2 归并排序 215

本章小结 215

习题7 216

第8章 文件 218

8.1 概述 219

8.2 常见文件组织形式 220

8.2.1 顺序文件 220

8.2.2 索引文件 221

8.2.3 ISAM文件 221

8.2.4 VSAM文件 221

8.2.5 散列文件 222

8.2.6 多关键字文件 222

本章小结 222

习题8 222

参考文献 223