×
暂无评论
图文详情
  • ISBN:9787563558797
  • 装帧:平装-胶订
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:300
  • 出版时间:2019-10-06
  • 条形码:9787563558797 ; 978-7-5635-5879-7

本书特色

本书以C语言为基础介绍了各种数据结构的存储与表现形式,给出了每种结构的抽象数据类型描述以及对应不同结构的功能代码。
本书第1章综述了数据结构的基本概念;第2~7章从抽象数据类型的角度,分别讨论线性表、栈、队列、串、数组、广义表、树和二叉树以及图等基本类型的数据结构及应用;第8~9章讨论查找和排序,除了介绍各种实现方法外,还从时间复杂度方面对算法的性能进行了分析和比较。
本书适合有一定C语言基础的初学者学习,可以使读者循序渐进地建立数据结构以及算法的思想,为编写高质量的程序提供有效帮助。

内容简介

本书从抽象数据类型的观点出发,系统全面地介绍了数据结构课程中的基本理论、方法及技巧。全书共分绪论、顺序表、链表、数组和广义表、串、树、图、查找表、内排序、附录1(上机实验)和附录2(数据结构手机学习助手软件使用说明)。书中详细介绍了各种数据结构的定义和性质,详细分析和讨论了这些结构的逻辑特点、存储表示以及在这些结构上定义的一些运算的实现方法及其复杂性分析。在每章的末尾配备了足够的习题,附录对实验内容和自主开发的手机学习助手软件的使用方法作了较详细的介绍。

目录

目录


第1章绪论1

1.1数据结构的必要性1

1.1.1数值计算1

1.1.2非数值计算3

1.1.3数据结构的作用和地位6

1.2基本概念和术语6

1.3算法和算法分析8

1.3.1算法8

1.3.2算法设计的要求8

1.3.3算法效率的度量8

1.3.4算法的存储空间需求9

第2章线性表10

2.1线性表的概念和抽象数据类型10

2.1.1线性表的概念10

2.1.2线性表的抽象数据类型定义11

2.2线性表的顺序表示和实现12

2.2.1顺序表的定义12

2.2.2顺序表的操作及应用13

2.3线性表的链式表示和实现19

2.3.1线性链表19

2.3.2线性链表的综合操作28

2.3.3双循环链表简介39

第3章栈和队列46

3.1栈及其基本运算46

3.1.1栈的基本概念46

3.1.2栈的抽象数据类型定义47

3.2栈类型的实现48

3.2.1栈的顺序存储结构48

3.2.2两个栈共享存储空间51

3.2.3栈的链式存储结构53

3.2.4顺序栈和链式栈的比较55

3.3栈的应用举例55

3.3.1数制转换55

3.3.2括号匹配的检验56

3.3.3行编辑58

3.3.4子程序的调用和返回59

3.3.5栈与递归的实现59

3.3.6汉诺塔61

3.4队列及基本运算63

3.5队列的实现65

3.5.1队列的链式表示和实现——链队列65

3.5.2队列的顺序表示和实现——循环队列68

3.6队列的应用举例72





第4章串74

4.1串类型的定义74

4.1.1串的概念74

4.1.2串的输入和输出74

4.1.3串的基本操作75

4.2串的存储表示和操作算法77

4.2.1串的顺序存储结构77

4.2.2串的堆存储结构——堆串82

4.2.3串的块链存储结构——块链串88

4.3串的模式匹配算法100

4.3.1朴素字符串匹配算法100

4.3.2KMP算法101

第5章数组和广义表108

5.1数组的定义108

5.1.1数组的基本概念108

5.1.2数组的抽象数据类型定义110

5.2数组的顺序表示和实现110

5.2.1数组的顺序存储方式110

5.2.2多维数组的寻址方式111

5.2.3数组的基本操作112

5.3矩阵的压缩存储115

5.3.1特殊矩阵115

5.3.2稀疏矩阵119

5.4广义表的定义125

5.4.1广义表的图形表示125

5.4.2广义表的主要特性125

5.4.3广义表的主要操作126

5.4.4广义表的抽象数据类型126

5.5广义表的存储结构126

5.6m元多项式的表示128

5.7广义表的递归算法130

5.7.1求广义表的深度130

5.7.2复制广义表132

5.7.3建立广义表的存储结构133

第6章树和二叉树135

6.1树的定义和基本术语135

6.2二叉树137

6.2.1二叉树的定义138

6.2.2二叉树的性质140

6.2.3二叉树的存储结构141

6.3遍历二叉树和线索二叉树143

6.3.1遍历二叉树的几种方法143

6.3.2二叉树的创建及遍历144

6.3.3线索二叉树147

6.4树和森林158

6.4.1树的存储结构158

6.4.2森林与二叉树的转换162

6.4.3树和森林的遍历163

6.5哈夫曼树及其应用164

第7章图167

7.1图的定义和术语167

7.1.1图的抽象数据类型定义167

7.1.2图的定义168

7.1.3图的基本术语169

7.2图的存储结构171

7.2.1邻接矩阵171

7.2.2邻接表183

7.2.3十字邻接表194

7.2.4邻接多重表195

7.3图的遍历195

7.3.1深度优先遍历195

7.3.2广度优先遍历196

7.4图的连通性问题200

7.4.1无向图的连通分量和生成树200

7.4.2*小生成树205

7.5*短路径214

7.5.1*短路径的概念214

7.5.2从一顶点到其余各顶点的*短路径215

7.5.3每对顶点间的*短路径219

第8章查找225

8.1静态查找表226

8.1.1静态查找表的抽象数据类型226

8.1.2顺序表的查找227

8.1.3折半查找228

8.1.4分块查找230

8.2动态查找表233

8.2.1动态查找的抽象数据类型233

8.2.2二叉排序树及其查找过程234

8.2.3二叉排序树删除结点239

8.2.4平衡二叉树246

8.2.5B-树258

8.3哈希表265

8.3.1哈希表的定义265

8.3.2哈希函数的构造方法267

8.3.3处理冲突的方法270

第9章内部排序273

9.1排序的基本概念273

9.2插入排序275

9.2.1直接插入排序275

9.2.2希尔排序278

9.3交换排序282

9.4选择排序286

9.5归并排序和基数排序290

9.5.1归并排序290

9.5.2基数排序294

参考文献300
展开全部

作者简介

王志海,教授,现担任北京交通大学滨海学院计算机系主任,主管教学工作。工作期间为本科生讲述了离散数学、数据结构、算法设计与分析、信息隐藏技术等课程。主持和参编了《数据结构(C语言版)》(第二版)、《数据结构习题分析与解答》、《编译技术实践教程》等教材和专著。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航