《数据结构》PDF下载

  • 购买积分:9 如何计算积分?
  • 作  者:张世和编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2000
  • ISBN:7302040656
  • 页数:177 页
图书介绍:“数据结构”是计算机程序设计的重要理论基础,是计算机及其应用专业的一门重要基础课程和核心课程。并是计算机软件专业课程的先导。教材内容的构造力求体现“以应用为主体”,强调理论知识的理解和运用,实现专科教学以实践体系为主及以技术应用能力培养为主的目标。本书共分9章。第1章阐述数据、数据结构和算法等基本概念。第2至7章分别讨论了线性表、栈、队列、串、数组、树和二叉树以及图等基本数据结构及其应用,其中,第3章专门总结了链式存储结构的基本概念和应用,为学好后面各类数据结构打好扎实的基础。第8,9章讨论了查找和排序的各种实现方法及实用分析。本教材有以下特点:(1)基础理论知识的阐述由浅入深、通俗易懂。内容组织和编排以应用为主线,略去了一些理论推导和数学证明的过程,淡化算法的设计分析和复杂的时空分析。(2)各章(除1,9章)都配有“应用举例和分析”一节,列举分析了很多实用的例子,以便教学上的举例,帮助学生加深对基础理论知识的理解,培养实际应用的能力。(3)考虑到此课程的先导课程是“C语言程序设计”,书中所有算法和程序的描述都采用可在计算机上调试运行的C语言函数和程序。这样,降低了算法设计的难度,使学

前言页 1

第1章 绪论 1

1.1 引言 1

1.2 基本概念和术语 3

1.3 算法描述 5

1.3.1 算法的重要特性 5

1.3.2 数据结构上的基本操作 5

1.3.3 算法的描述方法 6

1.4 算法分析 7

1.4.1 算法设计的要求 7

1.4.2 算法时间效率的度量分析 7

2.1 线性表的定义及逻辑结构 11

第2章 线性表 11

2.2 线性表的基本操作 12

2.3 线性表的顺序存储结构 12

2.4 基本操作在顺序表上的实现 13

2.4.1 顺序表上元素的插入 13

2.4.2 顺序表上元素的删除 15

2.4.3 顺序表上元素的定位 16

2.5 应用举例及分析 16

第3章 链式存储结构 21

3.1 线性表的链式存储结构 21

3.1.1 单链表上的基本运算 23

3.1.2 循环链表 29

3.1.3 双向链表 29

3.2 线性表的顺序和链式存储结构的比较 31

3.3 应用举例及分析 32

第4章 栈和队列 37

4.1 栈 37

4.1.1 栈的定义及基本操作 37

4.1.2 栈的顺序存储结构 38

4.1.3 栈的链式存储结构 40

4.2 队列 41

4.2.1 队列的定义及基本操作 41

4.2.2 队列的顺序存储结构 42

4.2.3 队列的链式存储结构 46

4.3 应用举例及分析 48

第5章 其他线性数据结构 53

5.1 串 53

5.1.1 串的定义及基本操作 53

5.1.2 串的存储结构 54

5.1.3 串的基本操作的实现 56

5.2 多维数组 58

5.2.1 二维数组定义及基本操作 58

5.2.2 二维数组的向量存储结构 59

5.2.3 稀疏矩阵的压缩存储 60

5.2.4 稀疏矩阵的转置算法 61

5.3 应用举例及分析 63

第6章 树和二叉树 67

6.1 树的定义和基本操作 67

6.1.1 树的定义 67

6.1.2 基本术语 68

6.1.3 树的基本操作 69

6.2 二叉树 69

6.2.1 二叉树的定义和基本操作 70

6.2.2 二叉树的性质 71

6.2.3 二叉树的存储结构 73

6.2.4 遍历二叉树 75

6.3 树和森林 78

6.3.1 树的存储结构 78

6.3.2 树、森林与二叉树的转换 81

6.3.3 树和森林的遍历 83

6.4 哈夫曼树和判定树 84

6.4.1 哈夫曼树的定义及构造方法 84

6.4.2 哈夫曼编码 86

6.4.3 分类与判定 87

6.5 应用举例及分析 89

7.1 图的定义和术语 99

第7章 图 99

7.2 图的存储结构 102

7.2.1 邻接矩阵表示法 102

7.2.2 邻接链表表示法 104

7.3 图的遍历 107

7.3.1 深度优先搜索遍历 107

7.3.2 广度优先搜索遍历 108

7.4 图的应用 110

7.4.1 生成树和最小生成树 110

7.4.2 拓扑排序 113

7.4.3 最短路径 116

7.5 应用举例及分析 118

第8章 查找 125

8.1 基本概念 125

8.2.1 顺序表上顺序查找 126

8.2 静态查找表 126

8.2.2 有序表查找 128

8.2.3 索引顺序表查找 130

8.3 动态查找 131

8.3.1 二叉排序树的生成和插入 132

8.3.2 二叉排序树上的查找 134

8.3.3 二叉排序树的删除 135

8.4 散列表 137

8.4.1 散列表与散列函数 137

8.4.2 散列函数的构造方法 138

8.4.3 解决冲突的主要方法 140

8.4.4 散列表的查找及分析 142

8.5 应用举例及分析 144

9.1 基本概念 152

第9章 内部排序 152

9.2 三种简单排序方法 153

9.2.1 直接插入排序 153

9.2.2 冒泡排序 154

9.2.3 简单选择排序 156

9.3 快速排序 157

9.4 堆排序 160

9.5 归并排序 164

9.6 基数排序 166

9.6.1 多关键字的排序 167

9.6.2 链式基数排序 167

9.7 各种内部排序方法的比较与讨论 169

附录 数据存储类型说明(datastru.h) 171