《高等院校计算机教材系列:算法与数据结构C语言版(第2版)》以较通俗的语言,按照由易到难的原则,详细介绍了各种数据结构的基本概念、逻辑特性和物理特性,对各种结构定义了相应的抽象数据类型(ADT)以及相关的操作和算法。本书采用类C语言描述算法,并给出了各种算法的效率分析,以及这些结构在计算机科学及其他领域的应用。在各章末尾,还给出了几个算法设计举例和习题。
本书可作为高等院校计算机专业的教材,同时也可供计算机工程技术人员参考。
目录
- 第1版前言
- 第2版前言
- 第1章 概论
- 1.1 什么是数据结构
- 1.2 数据结构的基本概念和术语
- 1.3 抽象数据类型及其表示与实现
- 1.4 算法和算法分析
- 1.5 类C语言描述
- 习题
- 第2章 线性表
- 2.1 线性表的类型定义
- 2.2 线性表的顺序表示和实现
- 2.3 线性表的链式表示和实现
- 2.4 线性表实现方法的比较
- 2.5 循环链表
- 2.6 双链表
- 2.7 静态链表
- 2.8 算法设计举例
- 习题
- 第3章 栈和队列
- 3.1 栈
- 3.2 栈的应用举例
- 3.3 栈与递归
- 3.4 队列
- 3.5 算法设计举例
- 习题
- 第4章 串
- 4.1 串的类型定义
- 4.2 串的表示和实现
- 4.3 串的模式匹配
- 4.4 串的应用举例
- 4.5 算法设计举例
- 习题
- 第5章 数组和广义表
- 5.1 数组的概念及其基本操作
- 5.2 数组的顺序存储
- 5.3 矩阵的压缩存储
- 5.4 广义表
- 5.5 算法设计举例
- 习题
- 第6章 树
- 6.1 树的概念及操作
- 6.2 二叉树
- 6.3 二叉树的遍历
- 6.4 线索二叉树
- 6.5 树和森林
- 6.6 哈夫曼树及其应用
- 6.7 算法设计举例
- 习题
- 第7章 图
- 7.1 图的定义和术语
- 7.2 图的存储结构
- 7.3 图的遍历
- 7.4 图的连通性问题
- 7.5 有向无环图及其应用
- 7.6 最短路径
- 7.7 算法设计举例
- 习题
- 第8章 动态存储管理
- 8.1 概述
- 8.2 可利用空间表及分配办法
- 8.3 边界标识法
- 8.4 伙伴系统
- 习题
- 第9章 查找
- 9.1 静态查找表上的查找
- 9.2 动态查找表上的查找
- 9.3 静列表上的查找
- 9.4 算法设计举例
- 习题
- 第10章 排序
- 10.1 概述
- 10.2 插入排序
- 10.3 交换排序
- 10.4 选择排序
- 10.5 归并排序
- 10.6 分配排序
- 10.7 各种内部排序方法的比较
- 10.8 外部排序
- 10.9 算法设计举例
- 习题
- 第11章 文件
- 11.1 基本概念
- 11.2 顺序文件
- 11.3 索引文件
- 11.4 索引顺序文件
- 11.5 散列文件
- 11.6 多关键定文件
- 习题
- 附录 上机实验题目
- 参考文献