图书目录

第1章数据结构概论

1.1计算机信息管理系统的案例以及数据分析

1.2数据结构的相关概念和术语

1.2.1数据和数据元素

1.2.2数据对象和数据类型

1.2.3数据结构

1.3算法和算法分析

1.3.1算法

1.3.2算法分析

1.3.3算法度量

1.4本章小结

习题

第2章线性表及线性表的顺序存储

2.1线性表的定义

2.1.1线性表实例

2.1.2线性表的定义

2.1.3线性表的基本操作及基本运算的描述

2.2线性表的顺序存储结构

2.2.1顺序表

2.2.2顺序表的描述

2.3顺序表基本算法实现

2.3.1线性表内容与线性表长度分别存储的算法实现

2.3.2线性表内容与线性表长度存储在一个结构体中的算法实现

2.4本章小结

习题

第3章线性表的链式存储

3.1链式存储结构

3.1.1为什么要使用链式存储结构

3.1.2单链表的数据定义

3.1.3静态链表单链表的实现

3.1.4动态链表的实现

3.2单链表的基本算法实现

3.2.1带表头结点的单链表的基本算法实现

3.2.2带表头结点的单链表中插入运算的进一步讨论

3.2.3带表头结点的单链表应用举例

3.3链式存储的其他方法

3.3.1链式存储结构循环链表

3.3.2链式存储结构双链表

3.4链式存储结构顺序表和链表的比较

3.5本章小结

习题

第4章栈和队列

4.1栈

4.1.1栈的实例

4.1.2栈的定义及基本运算

4.1.3顺序栈的表示

4.1.4链栈的表示

4.1.5栈的实现及应用

4.2队列

4.2.1队列的实例

4.2.2队列的定义及基本运算

4.2.3顺序队列以及循环队列的表示

4.2.4循环队列的实现

4.2.5链队列的表示

4.3本章小结

习题

第5章串、数组、广义表

5.1串

5.1.1串的基本概念

5.1.2串的存储结构

5.1.3串的基本运算

5.2数组

5.2.1数组的定义

5.2.2数组的顺序存储方式

5.2.3数组的C语言描述

5.3广义表

5.4本章小结

习题

第6章查找

6.1查找的基本概念

6.1.1查找表和查找

6.1.2查找表的数据结构表示

6.1.3平均查找长度

6.2顺序查找

6.3二分查找

6.4分块查找

6.5散列表查找

6.5.1散列表查找的基本思想和相关概念

6.5.2散列函数的构造方法

6.5.3处理冲突的方法

6.5.4散列表查找的实现

6.5.5散列表查找的分析

6.6本章小结

习题

第7章排序

7.1排序的基本概念及存储结构

7.1.1排序的基本概念

7.1.2排序的存储结构

7.2插入排序

7.2.1直接插入排序

7.2.2希尔排序

7.3交换排序

7.3.1冒泡排序

7.3.2快速排序

7.4选择排序

7.5归并排序

7.6本章小结

习题

第8章树与二叉树

8.1树

8.1.1树的实例

8.1.2树的相关概念

8.2二叉树

8.2.1二叉树的概念及基本运算

8.2.2二叉树的顺序存储结构

8.2.3二叉树的链式存储结构

8.2.4二叉树遍历

8.2.5二叉链表的构造

8.3线索二叉树

8.3.1线索二叉树的概念

8.3.2线索二叉树的运算

8.4树、森林与二叉树的转换及遍历

8.4.1树、森林与二叉树的转换

8.4.2树的存储结构

8.4.3树的遍历

8.5树的综合应用

8.5.1哈夫曼树

8.5.2哈夫曼编码

8.5.3堆排序

8.5.4案例实现

8.6本章小结

习题

第9章图

9.1图的概念

9.1.1图实例

9.1.2图的定义

9.1.3图的基本操作及基本运算的描述

9.2图的存储结构

9.2.1邻接矩阵

9.2.2邻接表

9.3图的遍历

9.3.1深度优先搜索

9.3.2广度优先搜索

9.4生成树

9.5最短路径

9.5.1单源最短路径

9.5.2所有顶点对之间的最短路径

9.6拓扑排序

9.7关键路径

9.8本章小结

习题

参考文献