本书主要内容分为两大部分,前半部分从抽象数据类型的角度讨论三大数据结构,即线性结构、层次结构和网状结构的逻辑特性、存储表示、基本操作及其应用;后半部分主要讨论查找和排序的各种实现方法和综合分析比较。
本书共分为10章和1个附录。
网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | 数据结构(C\C++版高等学校教材) |
分类 | |
作者 | 熊回香 |
出版社 | 北京交通大学出版社 |
下载 | ![]() |
简介 | 编辑推荐 本书主要内容分为两大部分,前半部分从抽象数据类型的角度讨论三大数据结构,即线性结构、层次结构和网状结构的逻辑特性、存储表示、基本操作及其应用;后半部分主要讨论查找和排序的各种实现方法和综合分析比较。 本书共分为10章和1个附录。 内容推荐 本书主要内容分为两大部分,前半部分从抽象数据类型的角度讨论三大数据结构,即线性结构、层次结构和网状结构的逻辑特性、存储表示、基本操作及其应用;后半部分主要讨论查找和排序的各种实现方法和综合分析比较。 本书共分为10章和1个附录,第1章为绪论,介绍数据结构的基本概念、算法分析的方法及与算法描述有关的C++知识;第2章为线性表,主要介绍线性表的两种存储结构——顺序表和链表及其基本操作的算法实现;第3章为堆栈和队列,介绍这两种特殊线性结构的概念、操作与应用;第4章为串,介绍串的概念、串的基本操作与串的模式匹配算法;第5章为数组和广义表,介绍数组、稀疏矩阵和广义表的概念与相关操作的算法实现;第6章为树形结构,介绍树和二叉树的概念与各种操作的算法实现,其中特别突出二叉树的各种递归算法方法;第7章为图,介绍图的概念、图的各种操作算法实现以及图的典型应用;第8章为查找,介绍各种查找算法的算法思想及其实现过程;第9章为排序,介绍各种内排序和外排序算法的实现过程;第10章为文件,介绍各类文件的组织结构及其操作;附录A中介绍了一个用C++描述的顺序表类。 本书既适于作计算机及其相关专业的教材,又特别适合作信息管理与信息系统专业的教材;同时本书的编写既考虑到了庞大的c语言读者群,又充分利用了C++对描述数据结构的独特优势(如数据传递、抽象性等),使得本书的读者群更加广泛。 目录 第1章 绪论 1.1 数据结构的产生和发展 1.1.1 数据结构的产生 1.1.2 数据结构的发展 1.2 数据结构的研究对象 1.3 基本概念和术语 1.4 数据结构与算法的关系 1.5 算法与算法分析 1.5.1 算法 1.5.2 算法的描述方法 1.5.3 算法设计目标 1.5.4 算法效率的度量 1.6 与算法描述有关的C++知识 1.6.1 C++的输入和输出 1.6.2 函数 1.6.3 类和对象 1.6.4 变量的引用类型 1.6.5 运算符重载 1.6.6 数据类型相关说明 1.6.7 两个相关的头文件 本章小结 习题一 第2章 线性表 2.1 线性表的基本概念 2.1.1 线性表的定义 2.1.2 线性表的抽象数据类型 2.2 线性表的顺序存储和基本操作 2.2.1 线性表的顺序存储——顺序表 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 线性表算法设计举例 2.6.1 顺序表算法设计举例 2.6.2 单链表算法设计举例 本章小结 习题二 第3章 堆栈与队列 3.1 堆栈 3.1.1 堆栈的基本概念 3.1.2 堆栈的顺序存储和基本操作 3.1.3 堆栈的链式存储和基本操作 3.2 堆栈的应用举例 3.3 队列 3.3.1 队列的基本概念 3.3.2 队列的顺序存储和基本操作 3.3.3 队列的链式存储和基本操作 3.3.4 其他队列 *3.4 队列的应用举例 本章小结 习题三 第4章 串 4.1 串的基本概念 4.1.1 串的定义 4.1.2 串的抽象数据类型 4.2 串的顺序存储和基本操作 4.2.1 串的顺序存储——顺序串 4.2.2 顺序串的基本操作 4.3 串的链式存储和基本操作 4.3.1 串的链式存储——链式串 4.3.2 链式串的基本操作 4.4 串的模式匹配算法 4.4.1 Brute-Force算法 *4.4.2 KMP算法 4.5 串的应用举例 本章小结 习题四 第5章 数组和广义表 5.1 数组的基本概念 5.1.1 数组的定义 5.1.2 数组的抽象数据类型 5.2 数组的存储结构 5.2.1 一维数组的存储 5.2.2 多维数组的存储 5.3 数组的顺序存储表示和基本操作 5.3.1 数组的顺序存储表示 5.3.2 数组的基本操作 *5.3.3 数组的应用举例 5.4 矩阵的压缩存储 5.4.1 特殊矩阵的压缩存储 5.4.2 稀疏矩阵的压缩存储 *5.5 广义表 5.5.1 广义表的基本概念 5.5.2 广义表的存储结构 5.5.3 广义表的基本操作 本章小结 习题五 第6章树和二叉树 6.1 树 6.1.1 树的基本概念 6.1.2 树的存储结构 *6.1.3 树的基本操作 6.2 二叉树 6.2.1 二叉树的基本概念 6.2.2 二叉树的存储结构 6.2.3 二叉树的遍历 6.2.4 二叉树的其他操作 *6.3 线索二叉树 6.3.1 线索二叉树的基本概念 6.3.2 线索二叉树的存储结构 6.3.3 二叉树的线索化 6.3.4 线索二叉树的基本操作 6.4 哈夫曼树 6.4.1 哈夫曼树的基本概念 6.4.2 构造哈夫曼树 6.4.3 哈夫曼编码 6.5 树、森林与二叉树的转换 6.5.1 树与二叉树的转换 6.5.2 森林与二叉树的转换 *6.6 树的应用举例——PATRICIA tree 本章小结 习题六 第7章 图 7.1 图的基本概念 7.1.1 图的定义 7.1.2 图的基本术语 7.1.3 图的抽象数据类型 7.2 图的存储结构 7.2.1 邻接矩阵 7.2.2 邻接表 7.2.3 十字邻接表 7.2.4 邻接多重表 7.2.5 边集数组 7.3 图的实现 7.3.1 邻接矩阵存储结构下图基本操作的实现 7.3.2 邻接表存储结构下图基本操作的实现 7.4 图的遍历 7.4.1 深度优先遍历 7.4.2 广度优先遍历 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.8 关键路径 7.8.1 关键路径的概念 7.8.2 顶点事件的发生时间 7.8.3 求关键路径的算法 7.8.4 求关键路径的算法描述 本章小结 习题七 第8章 查找 8.1 查找的基本概念 8.2 静态查找 8.2.1 顺序查找 8.2.2 二分查找 8.2.3 索引查找 8.3 动态查找 8.3.1 二叉排序树 *8.3.2 平衡二叉树 8.3.3 B_树和B+树 8.4 哈希表查找 8.4.1 哈希表查找的基本概念 8.4.2 哈希函数构造方法 8.4.3 哈希冲突解决方法 8.4.4 哈希表的操作 8.4.5 哈希表查找的性能分析 本章小结 习题八 第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 各种内排序方法的性能比较 *9.8 外排序 9.8.1 外存信息的存取 9.8.2 外排序的过程 9.8.3 多路平衡归并 9.8.4 初始归并段的生成 9.8.5 最佳归并树 本章小结 习题九 第10章 文件 10.1 文件概述 10.1.1 文件的存储介质 10.1.2 文件的基本概念 10.2 顺序文件 10.3 索引文件 10.4 ISAM文件 10.5 VSAM文件 10.6 哈希文件 10.7 多关键字文件 10.7.1 多重表文件 10.7.2 倒排文件 *10.8 文件的应用举例 本章小结 习题十 附录A 用面向对象的方法(C++的类)描述顺序表类 参考文献 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。