《数据结构基础 第5版》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:郭芳,曹桂琴编著
  • 出 版 社:大连:大连理工大学出版社
  • 出版年份:2004
  • ISBN:9787561109663
  • 页数:203 页
图书介绍:“数据结构”是计算机学科的核心课程,这门课程主要研究如何合理地组织数据;怎样在计算机中有效地表示数据和处理数据。通过对这门课程的学习可增强选择合适的数据结构与编写高效的程序的能力,因而这门课程还被不同层次的非计算机类专业学生作为选修课和辅修专业的学生必修课。书中第一章综述了数据结构的基本概念及算法分析初步;第二章至第七章分别讨论了线性表、栈、队列、数组、广义表、树、二叉树、图、串和集合等常用的数据结构,包括数据的逻辑结构、存储结构及有关运算;第八章和第九章讨论了在数据处理中常用的查找和排序的各种方法和算法;第十章介绍了常用的文件组织方法;第十一章简单介绍了常用算法设计方法。《高等学校计算机基础课程教材:数据结构基础(第5版)》的选材注重于实际应用,略去一些理论推导和证明;采用通俗易懂的语言描述各种数据结构的定义;采用类C语言来描述数据结构和算法,尽量考虑C语言的特点。其中的算法只要稍加修改就可变成能上机执行的C语言程序,这样不仅使算法清晰,而且还能给学生提供数据结构在计算机中的表示方法及运算的具体实现方法。读者只需掌握C语言程序设计方法就可以学习《高等学校计算机基础课程教材:数据结构基

第一章 绪论 1

1.1基本概念和术语 1

1.2算法的描述和分析 3

习题 6

第二章 线性表 8

2.1线性表的定义和运算 8

2.1.1线性表的定义 8

2.1.2线性表的运算 8

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

2.2.1顺序表 9

2.2.2插入 10

2.2.3删除 11

2.2.4查找 11

2.2.5插入、删除运算的时间分析 11

2.3线性表的链式存储结构 12

2.3.1线性链表 12

2.3.2单链表的基本运算 15

2.3.3链表的其他运算示例 18

2.4栈 22

2.4.1栈的定义和运算 22

2.4.2顺序栈和主要运算的实现 22

2.4.3链栈 25

2.5栈与递归 26

2.6队列 29

2.6.1队列的定义 29

2.6.2队列的顺序存储结构 30

2.6.3链队 32

2.7循环链表和双向链表 33

2.7.1循环链表 33

2.7.2双向链表 35

2.8一元多项式相加 37

习题 39

第三章 数组和广义表 43

3.1数组 43

3.1.1数组的定义和运算 43

3.1.2数组的顺序存储结构 43

3.1.3特殊矩阵 44

3.2稀疏矩阵 46

3.2.1三元组表示 46

3.2.2十字链表 49

3.3广义表 51

3.3.1广义表定义 51

3.3.2广义表的存储结构 52

3.3.3 m元多项式的表示 53

习题 55

第四章 树和二叉树 58

4.1树的定义和术语 58

4.2二叉树 59

4.2.1二叉树的定义和性质 59

4.2.2几种特殊形态的二叉树 60

4.2.3二叉树的存储结构 61

4.2.4树与二叉树的转换 62

4.2.5森林与二叉树转换 63

4.3遍历二叉树 64

4.3.1遍历二叉树的定义及递归算法 64

4.3.2遍历二叉树的非递归算法 67

4.3.3由结点先序序列和中序序列构造对应的二叉树 69

4.4线索二叉树 70

4.5树的存储结构和遍历 73

4.5.1树的存储结构 73

4.5.2树的遍历 76

4.6哈夫曼树 78

习题 82

第五章 图 87

5.1图的概念及术语 87

5.2图的存储结构 89

5.2.1邻接矩阵 89

5.2.2邻接表 90

5.2.3邻接多重表 92

5.3图的遍历 93

5.3.1深度优先搜索 93

5.3.2广度优先搜索 94

5.4最小生成树 96

5.4.1普里姆算法 97

5.4.2克鲁斯卡尔算法 100

5.5最短路径 102

5.5.1求从一个顶点到其他各顶点的最短路径 102

5.5.2求每一对顶点之间的最短路径 104

5.6拓扑排序 105

5.7关键路径 108

习题 111

第六章 串 115

6.1串的基本概念和存储结构 115

6.1.1串的顺序存储结构 115

6.1.2串的链式存储结构 116

6.2串的基本运算 116

6.3模式匹配 118

习题 122

第七章 集合 124

7.1集合的概念及主要运算 124

7.2集合的存储表示 125

7.2.1字位串存储表示 125

7.2.2链式存储表示 126

7.2.3顺序存储表示 128

7.2.4散列存储表示 129

7.3典型的集合结构 129

7.3.1字典 129

7.3.2优先队列 130

习题 131

第八章 查找 132

8.1线性表查找 132

8.1.1顺序查找 132

8.1.2二分法查找 133

8.1.3分块查找 135

8.2散列表和查找 136

8.2.1散列函数 136

8.2.2冲突的处理 138

8.2.3性能分析 142

8.3二叉排序树 143

8.3.1二叉排序树的定义和运算 143

8.3.2最佳二叉排序树 147

8.3.3平衡二叉排序树 148

习题 151

第九章 排序 155

9.1插入排序 155

9.1.1直接插入排序 155

9.1.2二分法插入排序 157

9.1.3希尔排序 158

9.2选择排序 159

9.2.1直接选择排序 159

9.2.2堆排序 160

9.3交换排序 164

9.3.1起泡排序 164

9.3.2快速排序 165

9.4基数排序 167

9.5归并排序 170

9.6内部排序方法的选择和使用 171

9.7外部排序 172

9.7.1外部排序的基本过程 173

9.7.2 k路平衡归并与败者树 174

9.7.3初始归并段的生成 175

9.7.4最佳归并树 176

习题 178

第十章 文件 182

10.1顺序文件 182

10.2索引文件 183

10.2.1索引顺序文件 183

10.2.2索引无序文件 183

10.2.3 B-树 183

10.2.4 B+树 187

10.3散列文件 189

10.4倒排文件 190

习题 191

第十一章 常用算法设计方法 194

11.1递推法 194

11.2分治法 194

11.3回溯法 197

11.4贪心法 200

11.5动态规划法 201

习题 202

参考文献 203