高等学校通识教育系列教材 用C++实现数据结构程序设计
作者:马春江
出版时间: 2019年版
丛编项: 高等学校通识教育系列教材
内容简介
《用C++实现数据结构程序设计》系统地介绍了线性表、栈、队列、串、二维数组、树和森林、二叉树、图等八大结构,为后续课程操作系统、编译原理、数据库原理等课程奠定了良好的基础。本教材还结合查找和排序两大应用领域深入探讨了各类数据结构和程序设计技巧的综合应用,最后对文件系统进行了初步的介绍。书中提出了计算机编程“点式思维”的思想方法,通过基本的程序设计方式实现了大多数数据结构的基本操作。
目录
目录
第1章数据结构基础
1.1面式思维和点式思维
1.2数据结构背景
1.3数据结构的应用案例
1.4数据结构基本概念
1.5逻辑结构分类
1.6存储结构分类
1.7数据结构基本操作
1.8算法和算法效率分析基础
1.9递归的概念和应用
1.10本章总结
习题
第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基本排序算法设计
3.5.1排序算法设计基础
3.5.2直接插入排序
3.5.3简单选择排序
3.5.4冒泡排序
3.5.5单链表插入排序
3.6排序的应用案例
3.7本章总结
习题
第4章栈的构造与应用
4.1引言
4.2栈的逻辑结构
4.3栈的顺序存储
4.4栈的链接存储
4.5栈的应用案例
4.6本章总结
习题
第5章队列的构造与应用
5.1引言
5.2队列的逻辑结构
5.3队列的顺序存储
5.4队列的环状顺序存储
5.5队列的链接存储
5.6队列的应用案例
5.7本章总结
习题
第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二维数组的应用案例与程序设计
7.8广义表简介
7.9二维码简介
7.10本章总结
习题
第8章二叉树、树和森林的构造与应用
8.1引言
8.2二叉树及其逻辑结构
8.3二叉树的顺序存储
8.4二叉树的链接存储
8.5二叉树的构建和数据显示
8.6二叉树的根序遍历
8.6.1根序遍历的定义和递归算法实现
8.6.2根序遍历的非递归算法实现
8.7二叉树的层次遍历
8.8线索二叉树
8.8.1线索二叉树的定义、逻辑结构及存储结构
8.8.2线索二叉树的算法设计
8.9最优二叉树
8.10树、森林和二叉树的关系
8.11本章总结
习题
第9章图的构造与应用
9.1引言
9.2图的逻辑结构
9.3图的顺序存储
9.4图的链接存储
9.5遍历操作的程序设计
9.6公路网最短路径的研究
9.7AOV网与拓扑排序
9.8最小代价生成树的研究
9.8.1最小生成树的定义
9.8.2构造最小生成树的Prim算法
9.8.3构造最小生成树的Kruskal算法
9.9本章总结
习题
第10章查找程序设计进阶
10.1引言
10.2有序表的折半查找和其他变形
10.2.1有序表的折半查找
10.2.2有序表的斐波那契查找和插值查找
10.2.3分块查找
10.3二叉排序树与相应的查找技术
10.4平衡二叉树与相应的查找技术
10.5哈希表结构的查找技术
10.5.1哈希表的定义和构成
10.5.2常见的哈希函数
10.5.3哈希表的查找过程和冲突解决方法
10.6字符串结构的快速查找
10.7查找的应用案例
10.8本章总结
习题
第11章排序程序设计进阶
11.1引言
11.2折半插入排序技术
11.3希尔排序技术
11.4快速排序技术
11.5树形选择排序技术
11.6堆排序技术
11.7归并排序技术
11.8基数排序技术
11.9本章总结
习题
第12章文件结构
12.1引言
12.2文件的逻辑结构
12.3顺序文件
12.4索引文件
12.5索引顺序存取方法文件
12.6虚拟存储存取方法文件
12.7直接存取文件
12.8多重表文件
12.9倒排文件
12.10文件的应用案例
12.11歌曲文件的数据结构
12.12本章总结
习题
附录数据结构程序设计源码涉及英语词汇或变量名中英对照表
参考文献