标题：数据结构：使用C++语言
图书信息
出版社: 西安电子科技大学出版社; 第2版 (2005年2月1日)
丛书名: 新世纪计算机类本科规划教材
平装: 333页
正文语种: 简体中文
开本: 16
ISBN: 9787560609898
条形码: 9787560609898
尺寸: 25.6 x 18.2 x 1.8 cm
重量: 522 g
内容简介
《数据结构:使用C++语言(第2版)》是为高等院校开设该课程精心编著的教材。《数据结构:使用C++语言(第2版)》以面向对象观点讨论各种数据结构的设计和应用问题，用C++语言描述和实现了20多个类的设计和典型应用问题的程序设计。《数据结构:使用C++语言(第2版)》讨论的典型数据结构包括：线性表、堆栈、队列、数组、串、树、二叉树和图。《数据结构:使用C++语言(第2版)》讨论的典型算法问题包括：递归、排序和查找。《数据结构:使用C++语言(第2版)》介绍的典型存储结构包括：顺序存储结构、链式存储结构、间接地址和仿真指针。数据结构是计算机等专业必修的核心课程。 
《数据结构:使用C++语言(第2版)》既可作为大专院校计算机等专业数据结构课程的教科书，也可作为从事计算机开发和应用的工程技术人员的自学参考书。
目录
第1章 C++面向对象程序设计要点 
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.3.4 友元 
1.3.5 分辨符 
1.3.6 内联函数 
1.3.7 默认值 
1.3.8 多态性和虚函数 
1.3.9 纯虚函数和抽象类 
1.3.10 派生类继承方式 
1.3.11 结构体 
1.3.12 对象 
1.4 抽象类型和模板 
1.4.1 抽象类型 
1.4.2 模板 
1.5 输入输出
1.6 动态申请和动态释放内存 
1.7 面向对象程序设计方法 
习题一 
第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.3.3 算法的符号命名、书写格式和注释格式 
习题二 
第3章 顺序存储结构的线性表、堆栈和队列 
3.1 顺序存储结构 
3.2 线性表和顺序表 
3.2.1 顺序表类的定义 
3.2.2 顺序表类的实现 
3.2.3 顺序表上插入、删除算法的效率分析 
3.2.4 顺序表的应用 
3.3 堆栈和顺序堆栈 
3.3.1 顺序堆栈类的定义和实现 
*3.3.2 顺序堆栈应用——表达式计算
3.4 队列和顺序队列 
3.4.1 顺序循环队列 
3.4.2 顺序循环队列类的设计 
3.4.3 顺序循环队列的应用
*3.5 优先级队列和顺序优先级队列 
3.5.1 顺序优先级队列类设计 
3.5.2 顺序优先级队列应用 
3.6 顺序存储结构的特点 
习题三 
第4章 链式存储结构的线性表、堆栈和队列
4.1 链式存储结构
4.2 单链表
4.2.1 结点类的设计
4.2.2 单链表类的设计
4.2.3 单链表类的应用
4.3 单循环链表
4.3.1 单循环链表类的设计
4.3.2 单循环链表类的应用
4.4 双向循环链表
4.4.1 双向循环链表概念
4.4.2 双向循环链表类的设计
4.5 链式堆栈
4.5.1 链式堆栈类的设计
4.5.2 链式堆栈类的应用
4.6 链式队列
4.7 链式存储结构的特点
习题四
第5章 数组和串
5.1 数组
5.1.1 C++的数组
5.1.2 安全数组类的设计
5.2 间接地址
5.3 特殊矩阵的压缩存储
5.3.1 矩阵的定义和操作
5.3.2 对称矩阵的压缩存储
5.3.3 上三角矩阵压缩存储类
5.4 稀疏矩阵的压缩存储
5.4.1 稀疏矩阵的三元组表
5.4.2 稀疏矩阵的三元组顺序表类
5.4.3 稀疏矩阵的三元组链表
5.5 串
5.5.1 串的定义、存储结构和操作
5.5.2 C++的串
5.5.3 串类的设计
5.5.4 模式匹配的Brute—F0rce算法
*5.5.5 模式匹配的KMP算法
习题五
第6章 递归
6.1 递归的概念
6.2 递归算法的设计
6.3 递归过程和递归工作栈
*6.4 递归算法的效率分析
*6.5 转化递归算法为非递归算法
6.5.1 尾递归和单向递归的消除
6.5.2 模拟系统的运行时栈消除递归
6.6 回溯法
习题六
第7章 树和二叉树
7.1 仿真指针
7.2 树
7.2.1 树的定义
7.2.2 树的表示方法
7.2.3 树的基本操作
7.2.4 树的遍历操作
7.2.5 树的存储结构
7.2.6 树类
7.3 二叉树
7.3.1 二叉树的定义
7.3.2 二叉树的性质
7.3.3 二叉树的操作
7.3.4 二叉树的遍历
7.3.5 二叉树的存储结构
7.3.6 树和二叉树的转换
7.4 链式存储结构的二叉树设计
7.4.1 二叉树结点类
7.4.2 二叉树的遍历
7.4.3 二叉树遍历的应用
7.4.4 应用示例
7.4.5 二叉树类
7.5 二叉树遍历游标类
7.5.1 二叉树中序遍历游标类
*7.5.2 二叉树前序遍历游标类
*7.5.3 二叉树层序遍历游标类
7.6 线索二叉树
7.6.1 线索二叉树的存储结构
7.6.2 线索二叉树类
7.6.3 中序线索二叉树类
7.7 堆
7.7.1 堆的定义
7.7.2 最小堆类
7.7.3 最小堆类的测试
7.8 哈夫曼树
7.8.1 路径长度和哈夫曼树
7.8.2 哈夫曼编码
*7.8.3 哈夫曼编码问题数据结构设计
*7.8.4 哈夫曼编码问题算法设计
习题七
第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.2.6 邻接矩阵图类的测试
8.3 邻接表存储结构图类
8.3.1 图的邻接表存储结构
8.3.2 邻接表存储结构的图类
8.3.3 邻接表存储结构图类的测试
8.4 图的其他存储结构
8.4.1 逆邻接表
8.4.2 十字链表
8.4.3 邻接多重表
8.5 最小生成树
8.5.1 最小生成树的基本概念
8.5.2 普里姆算法
8.5.3 克鲁斯卡尔算法
8.6 最短路径
8.6.1 最短路径的基本概念
8.6.2 从一个结点到其余各结点的最短路径
*8.6.3 每对结点之间的最短路径
习题八
第9章 排序
9.1 排序的基本概念
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.5 归并排序
9.6 基数排序
9.7 性能比较
习题九
第10章 查找
10.1 查找的基本概念
10.2 顺序表查找
10.2.1 无序顺序表查找
10.2.2 有序顺序表查找
10.3 索引表查找
10.3.1 索引表
10.3.2 倒排索引表
10.4 树表查找
l0.4.1 二叉排序树
10.4.2 平衡二叉树
10.4.3 B树
10.5 哈希表查找
10.5.1 哈希表的基本概念
10.5.2 哈希函数构造方法
10.5.3 哈希冲突解决方法
10.5.4 哈希表类
习题十
参考文献