内容简介
第1章 绪论
1.1数据结构的概念
1.1.1 为什么要学习数据结构
1.1.2有关概念和术语
1.1.3数据结构课程的内容
1.2抽象数据类型
1.2.1 数据类型
1.2.2抽象数据类型
1.3算法和算法分析
1.3.1 算法特性
1.3.2算法描述
1.3.3算法性能分析与度量
第2章 线性表
2.1线性表的逻辑结构
2.1.1线性表的定义
2.1.2线性表的基本操作
2.2.1顺序表
2.2线性表的顺序存储及运算实现
2.2.2 顺序表上基本运算的实现
2.2.3顺序表应用举例
2.3线性表的链式存储和运算实现
2.3.1单链表
2.3.2单链表上基本运算的实现
2.3.3循环链表
2.3.4 双向链表
2.3.5静态链表
2.3.6单链表应用举例
2.4 顺序表和链表的比较
2.5 上机实训
2.6本章习题
第3章 栈和队列
3.1 栈
3.1.1栈的定义及基本运算
3.1.2栈的存储结构和运算实现
3.2栈的应用举例
3.3.1 队列的定义及基本运算
3.3 队列
3.3.2队列的存储结构及运算实现
3.4队列应用举例
3.5上机实训
3.6本章习题
第4章 串
4.1 串类型的定义
4.2串的存储结构
4.2.1 定长顺序存储结构
4.2.2堆分配存储表示
4.2.3 串的块链存储表示
4.3串操作应用举例
4.4上机实训
4.5本章习题
第5章 数组和广义表
5.1数组的定义及其基本操作
5.1.1数组的定义
5.2数组的顺序存储结构
5.1.2数组的基本操作
5.3矩阵的压缩存储
5.3.1特殊矩阵的压缩存储
5.3.2稀疏矩阵的压缩存储
5.4 广义表的概念
5.5上机实训
5.6本章习题
第6章 树和二叉树
6.1树的定义
6.1.1树的定义
6.1.2树的表示形式
6.1.3树的常用术语
6.1.4树的基本操作
6.2二叉树
6.2.1二叉树的定义
6.2.2二叉树的性质
6.2.3二叉树的存储结构
6.3.1遍历二叉树
6.3遍历二叉树和线索二叉树
6.3.2线索二叉树
6.4树、森林和二叉树的关系
6.4.1树的存储结构
6.4.2森林与二叉树的转换
6.4.3树和森林的遍历
6.5 哈夫曼树及其应用
6.5.1 哈夫曼树的定义
6.5.2 哈夫曼编码
6.6上机实训
6.7本章习题
第7章 图
7.1图的基本概念
7.1.1图的定义
7.1.2图的基本术语
7.2图的存储结构
7.2.1邻接矩阵
7.2.2邻接表
7.2.3 边集数组
7.3图的遍历
7.3.1深度优先搜索
7.3.2广度优先搜索
7.4 图的生成树和最小生成树
7.4.1 概念
7.4.2普里姆算法
7.4.3克鲁斯卡尔算法
7.5.1 求某个源点到其他顶点的最短路径
7.5最短路径
7.5.2求每对顶点之间的最短路径
7.6拓扑排序
7.6.1顶点活动网(AOV网)
7.6.2拓扑排序
7.7上机实训
7.8本章习题
第8章 查找
8.1查找的基本概念
8.2.1顺序查找法
8.2静态查找表
8.2.2折半查找法
8.2.3分块查找法
8.3动态查找表
8.3.1二叉排序树
8.3.2平衡二叉树
8.4 哈希查找
8.4.1 哈希函数的概念
8.4.2 哈希函数的构造方法
8.4.3处理冲突的方法
8.4.4 哈希表的查找过程及性能分析
8.5上机实训
8.6本章习题
第9章 排序
9.1基本概念
9.1.1排序的定义
9.1.3 内部排序和外部排序
9.1.4排序方法的性能
9.1.2排序方法的稳定性
9.2插入排序
9.2.1直接插入排序
9.2.2希尔排序
9.3交换排序
9.3.1冒泡排序
9.3.2快速排序
9.4 选择排序法
9.4.1直接选择排序
9.4.2树型选择排序
9.4.3 堆排序
9.5 归并排序法
9.5.1两个有序序列的归并
9.5.2一趟归并排序
9.6各种内部排序法的比较
9.7上机实训
9.8本章习题
附录 参考答案
参考文献