《数据结构C++版》对常用数据进行了系统的介绍,包括线性表、栈、队列、串、数组、树、图等,详细讨论了查找和排序的各种实现方法和算法,阐明了各种数据结构的内在逻辑关系及其在计算机中的存储表示,给出了每种数据结构的运算及算法描述,并进行了初步的算法分析。全书采用C++语言进行数据结构和算法的描述。
《数据结构C++版》力求概念清晰,注重理论联系实际。每一章后面均列举了典型应用实例,并配有算法和程序以供教学和实践使用。
《数据结构C++版》可作为高等学校计算机类专业或信息类相关专业的本科或专科教材,也可供从事计算机工程与应用工作的科技工作者参考。
数据结构是计算机及其相关专业的一门专业基础课,主要研究数据的逻辑结构、存储结构以及相应运算的算法。数据的逻辑结构概括为线性结构、树形结构和图形结构三大类。数据的存储结构概括为顺序结构、链式结构、散列结构和索引结构四大类,每一类都有各自的优点和缺点,分别适用于不同的应用场合。对数据的基本运算概括为查找、插人、删除、排序和遍历等,当数据的逻辑结构、存储结构及程序设计方法不同时,相应运算的算法也就不同。
本书遵循数据结构课程教学大纲的要求,从内容上分为9章:第1章绪论,介绍了数据结构的主要内容和基本概念、算法与算法分析方法。第2章至第4章介绍了几种常用的线性结构,包括线性表、栈和队列、串、数组和广义表。着重讨论这些数据结构的内在逻辑关系、在计算机中的存储表示以及基于其存储表示之上的基本运算和算法实现。第5章主要介绍了树形结构(树与二叉树),包括树和二又树的定义、存储表示及其基本操作、二叉树的性质、树和二又树的遍历、树和二叉树的转换以及线索二叉树和哈夫曼树等。第6章详细介绍了图形结构及其应用,包括图的定义和术语、图的存储结构、罔的基本运算与算法和几个最优化问题。第7章和第8章介绍了查找和排序,较全面地介绍了企找和排序的各种常用方法和实现算法,并给出了简单的算法分析。第9章介绍了常用的文件结构。全书对每一种数据结构都给出了数据类型定义或描述,并对其基本运算给出了c++语言描述的实现方法。
第1章 绪论
本章主要知识点
1.1 引言
1.2 常用术语和基本概念
1.3 算法与算法分析
习题1
第2章 线性表
本章主要知识点
2.1 线性表的定义及逻辑结构
2.2 线性表的顺序存储结构
2.3 线性表的链式存储结构
2.4 应用举例及分析——多项式抽象数据类型
习题2
第3章 栈和队列
本章主要知识点
3.1 栈
3.2 队列
习题3
第4章 其他线性数据结构
本章主要知识点
4.1 串
4.2 多维数组
4.3 广义表
4.4 应用举例及分析
习题4
第5章 树与二叉树
本章主要知识点
5.1 树的定义和基本操作
5.2 二叉树
5.3 树和森林
5.4 哈夫曼树和判定树
5.5 应用举例及分析
习题5
第6章 图
本章主要知识点
6.1 图的定义和术语
6.2 图的存储结构
6.3 图的遍历
6.4 图的应用
6.5 应用举例及分析
习题6
第7章 查找
本章主要知识点
7.1 查找表概念
7.2 静态查找表
7.3 动态查找表
7.4 哈希表
习题7
第8章 排序
本章主要知识点
8.1 基本概念
8.2 插入排序
8.3 快速排序
8.4 选择排序
8.5 归并排序
8.6 基数排序
8.7 各种内部排序方法的比较
8.8 外部排序
习题8
第9章 文件
本章主要知识点
9.1 基本概念
9.2 顺序文件
9.3 索引文件
9.4 直接存取文件(散列文件)
9.5 多关键字文件
习题9
参考文献