《数据结构与程序构建》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:马春江,付勇智,孟繁军编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302294047
  • 页数:378 页
图书介绍:数据结构是计算机以及相关专业的一门重要的专业理论基础课程。本教材系统地介绍了线性表、栈、队列、串、二维数组、广义表、树、森林、二叉树、图等十大结构,为后续课程操作系统、编译原理、数据库原理等课程奠定了良好的基础。本教材还结合查找和排序两大应用领域深入探讨了各类数据结构和程序设计技巧的综合应用,最后对文件系统进行了初步的介绍。

第1章 数据结构基础 1

1.1面式思维和点式思维 1

1.2数据结构背景 2

1.3数据结构的应用案例 4

1.4数据结构基本概念 6

1.5逻辑结构分类 7

1.6存储结构分类 7

1.7数据结构基本操作 9

1.8算法和算法效率分析基础 10

1.9对象的设计 13

1.10 C++语言常见知识点复习系统程序构建 15

1.11本章总结 27

习题 27

第2章 递归思想与程序构建 31

2.1引言 31

2.2简单递归思想 32

2.3复杂递归思想 36

2.4递归思想应用的程序构建 38

2.5本章总结 42

习题 42

第3章 线性表的构造与应用 44

3.1引言 44

3.2线性表的逻辑结构 44

3.3线性表的顺序存储 46

3.4线性表的链接存储 54

3.5线性表链接存储的变形 61

3.6线性表的静态链表实现 62

3.7线性表的应用案例 68

3.8线性表应用的程序构建 68

3.9本章总结 81

习题 82

第4章 排序程序设计初步 86

4.1引言 86

4.2排序操作的基本概念 86

4.3基本排序算法设计 87

4.3.1排序算法设计基础 87

4.3.2直接插入排序 88

4.3.3简单选择排序 89

4.3.4冒泡排序 89

4.3.5静态链表插入排序 90

4.4基本排序程序设计实现 91

4.5排序的应用案例 96

4.6基本排序应用的程序构建 97

4.7本章总结 104

习题 104

第5章 栈的构造与应用 106

5.1引言 106

5.2栈的逻辑结构 106

5.3栈的顺序存储 107

5.4栈的链接存储 111

5.5栈的应用案例 115

5.6栈应用的程序构建 116

5.7本章总结 118

习题 119

第6章 队列的构造与应用 124

6.1引言 124

6.2队列的逻辑结构 124

6.3队列的顺序存储 125

6.4队列的环状顺序存储 126

6.5队列的链接存储 129

6.6队列的应用案例 132

6.7队列应用的程序构建 133

6.8本章总结 136

习题 136

第7章 串的构造与应用 138

7.1引言 138

7.2串的逻辑结构 138

7.3串的顺序存储 141

7.4串的链接存储 146

7.5串的索引存储 146

7.6串的应用案例 156

7.7串应用的程序构建 156

7.8本章总结 159

习题 160

第8章 二维数组的构造与应用 161

8.1引言 161

8.2二维数组的逻辑结构 161

8.3二维数组的顺序存储 162

8.4特殊矩阵的压缩存储 163

8.5稀疏矩阵的压缩存储 165

8.6稀疏矩阵的十字链表存储 175

8.7二维数组的应用案例 176

8.8程序设计案例小型游戏推箱子软件 179

8.9本章总结 188

习题 188

第9章 广义表的构造与应用 190

9.1引言 190

9.2广义表的逻辑结构 190

9.3广义表的链接存储 193

9.4表结构的应用案例 195

9.5广义表应用的程序构建 197

9.6本章总结 200

习题 201

第10章 树和森林的构造与应用 202

10.1引言 202

10.2树的逻辑结构 202

10.3树的顺序存储 205

10.4树的链接存储 206

10.5树的顺序和链接联合存储法 206

10.6树的应用案例 208

10.7本章总结 209

习题 210

第11章 二叉树的构造与应用 211

11.1引言 211

11.2二叉树的逻辑结构 211

11.3二叉树的顺序存储 213

11.4二叉树的链接存储 214

11.5二叉树的根序遍历和程序设计 215

11.5.1根序遍历的定义和递归算法实现 215

11.5.2根序遍历的非递归算法实现 216

11.6二叉树的层次遍历和程序设计 219

11.7二叉树其他相关程序构建 221

11.8线索二叉树 233

11.8.1线索二叉树的定义、逻辑结构及存储结构 233

11.8.2线索二叉树的算法设计 234

11.9二叉树的应用案例 240

11.10树、森林和二叉树的关系 244

11.11二叉树应用的程序构建 245

11.12本章总结 253

习题 253

第12章 图的构造与应用 257

12.1引言 257

12.2图的逻辑结构 257

12.3图的顺序存储 261

12.4图的链接存储 268

12.5遍历操作的程序设计 274

12.6公路网最短路径的研究 278

12.7 AOV网与拓扑排序的研究 284

12.8图应用的程序构建 288

12.8.1最小生成树的定义 294

12.8.2构造最小生成树的Prim算法 295

12.8.3构造最小生成树的Kruskal算法 299

12.9本章总结 303

习题 304

第13章 查找程序设计 307

13.1引言 307

13.2查找的基本概念 307

13.3基于静态数据结构的查找 308

13.3.1静态查找表与顺序查找 308

13.3.2有序表的折半查找 311

13.3.3有序表的斐波那契查找和插值查找 313

13.3.4分块查找 314

13.4基于动态数据结构的查找 315

13.4.1二叉排序树与相应的查找技术 315

13.4.2平衡二叉树 316

13.5基于哈希表结构的查找 317

13.5.1哈希表的定义和构成 317

13.5.2常见的哈希函数 318

13.5.3哈希表的查找过程和冲突解决方法 320

13.6基于字符串结构的快速查找 325

13.7查找的应用案例 329

13.8查找应用的程序构建 330

13.9本章总结 333

习题 333

第14章 排序程序设计进阶 335

14.1引言 335

14.2折半插入排序技术 335

14.3希尔排序技术 336

14.4快速排序技术 337

14.5树形选择排序技术 338

14.6堆排序技术 338

14.7归并排序技术 341

14.8基数排序技术 341

14.9复杂排序程序设计实现 346

14.10复杂排序应用的程序构建 351

14.11本章总结 355

习题 355

第15章 文件结构初步 357

15.1引言 357

15.2文件的逻辑结构 357

15.3顺序文件 359

15.4索引文件 360

15.5索引顺序存取方法文件 362

15.6虚拟存储存取方法文件 363

15.7直接存取文件(散列文件) 365

15.8多重表文件和倒排文件 366

15.9文件的应用案例 368

15.10文件应用的程序构建 368

15.11本章总结 376

习题 376

参考文献 378