简介
“数据结构”是计算机程序设计的重要理论技术基础,它不仅是计算机学科的核心课程,而且已成为其他理工专业的热门选修课。本书是为“数据结构”课程编写的教材,其内容选取符合教学大纲要求,并兼顾学科的广度和深度,适用面广。
本书可作为计算机类专业的本科或专科教材,也可以作为信息类相关专业的选修教材,讲授学时可为50至80。教师可根据学时、专业和学生的实际情况,选讲或不讲目录页中带**的章节,甚至删去第5,8,11和12章。本书文字通俗、简明易懂、便于自学,也可供从事计算机应用等工作的科技人员参考。只需掌握程序设计基本技术便可学习本书。若具有离散数学和概率论的知识,则对书中某些内容更易理解。如果将本书《数据结构》(C语言版)和《数据结构》(第二版)作为关于数据结构及其箩法的C和Pascal程序设计的对照教材,则有助于快速且深刻地掌握这两种语言。
《数据结构》(C语言版)是为“数据结构”课程编写的教材,也可作为学习数据结构及其算法的C程序设计的参考教材。
本书的前半部分从抽象数据类型的角度讨论各种基本类型的数据结构及其应用;后半部分主要讨论查找和排序的各种实现方法及其综合分析比较。其内容和章节编排与1992年4月出版的《数据结构》(第二版)基本一致,但在本书中更突出了抽象数据类型的概念。全书采用类C语言作为数据结构和算法的描述语言。
本书概念表述严谨,逻辑推理严密,语言精炼,用词达意。并有配套出版的《数据结构题集)(C语言版)。既便于教学,又便于自学。
本书后附有光盘,光盘中含有可在DOS环境下运行的以类C语言描述的“数据结构算法动态模拟辅助教学软件,以及在Windows环境下运行的以类PASCAL或类C两种语言描述的“数据结构算法动态模拟辅助教学软件”。
本书可作为计算机类专业或信息类相关专业的本科或专科教材,也可供从事计算机工程与应用工作的科技工作者参考。
目录
第1章 结论
1.1 什么是数据结构
1.2 基本概念和术语
1.3 抽象数据类型的表示与实现
1.4 算法和算法分析
1.4.1 算法
1.4. 2 算法设计的要求
1.4. 3 算法效率的度量
1.4. 4 算法的存储空间需求
第2章 线性表
2.l 线性表的类型定义
2. 2 线性表的顺序表示和实现
2.3 线性表的链式表示和实现
2.3.1 线性链表
2.3.2 循环链表
2.3. 3 双向链表
2.4 一元多项式的表示及相加
第3章 栈和队列
3.1 栈
3.1.l 抽象数据类型栈的定义
.3.1.2 栈的表示和实现
3.2 栈的应用举例
3.2. 1 数制转换
3.2.2 括号匹配的检验
3. 2.3 行编辑程序
3. 2. 4 迷宫求解
3. 2. 5 表达式求值
3.3 栈与递归的实现
3.4 队列
3.4. 1 抽象数据类型队列的定义
3.4.2 链队列--队列的链式表示和实现
3.4.3 循环队列--队列的顺序表示和实现
3.5 离散事件模拟
第4章 串
4. 1 串类型的定义
4. 2 串的表示和实现
4.2. 1 定长顺序存储表示
4.2. 2 堆分配存储表示
4. 2.3 串的块链存储表示
4. 3 串的模式匹配算法
4. 3.l 求子串位置的定位函数index(s,t,pos)
4.3.2 模式匹配的一种改进算法
4.4 串操作应用举例
4. 4. 1 文本编辑
4. 4.2 建立词索引表
第5章 数组和广义表
5. 1 数组的定义
5.2 数组的顺序表示和实现
5. 3 矩阵的压缩存储
5. 3.l 特殊矩阵
5.3.2 稀疏矩阵
5. 4 广义表的定义
5. 5 广义表的存储结构
5.6 m元多项式的表示
5. 7 广义表的递归算法
5. 7. 1 求广义表的深度
5.7.2 复制广义表
5. 7. 3 建立广义表的存储结构
第6章 树和二叉树
6. 1 树的定义和基本术语
6. 2 二叉树
6. 2. 1 二叉树的定义
6. 2.2 二叉树的性质
6. 2. 3 二叉树的存储结构
6. 3 遍历二叉树和线索二叉树
6.3.1 遍历二叉树
6.3.2 线索二叉树
6. 4 树和森林
6. 4. 1 树的存储结构
6. 4. 2 森林与二叉树的转换
6. 4. 3 树和森林的遍历
6.5 树与等价问题
6. 6 赫夫曼树及其应用
6. 6. 1 最优二叉树(赫夫曼树)
6.6.2 赫夫曼编码
6.7 回溯法与树的遍历
6. 8 树的计数
第7章 图
7.1 图的定义和术语
7. 2 图的存储结构
7. 2.1 数组表示法
7.2. 2 邻接表
7. 2. 3 十字链表
7. 2. 4 邻接多重表
7. 3 图的遍历
7. 3.l 深度优先搜索
7. 3.2 广度优先搜索
7. 4 图的连通性问题
7. 4. 1 天向图的连通分量和生成树
7.4.2 有向图的强连通分量
7. 4. 3 最小生成树
7.4. 4 关节点和重连通分量
7.5 有向无环图及其应用
7. 5. 1 拓扑排序
7. 5. 2 关键路径
7. 6 最短路径
7.6.1 从某个源点到其余各项点的最短路径
7.6. 2 每一对顶点之间的最短路径
第8章 动态存储管理
8. l 概述
8. 2 可利用空间表及分配方法
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. 6 存储紧缩
第9章 查找
9. 1 静态查找表
9.1.l 顺序表的查找
9.1.2 有序表的查找
9. 1.3 静态树表的查找
9. 1.4 索引顺序表的查找
9.2 动态查找表
9. 2. 1 二叉排序树和平衡二叉树
9.2.2 b_树和b+树
9.2. 3 键树
9. 3 哈希表
9.3.1 什么是哈希表
9.3.2 哈希函数的构造方法
9.3.3 处理冲突的方法
9.3.4 哈希表的查找及其分析
第10章 内部排序
10.1 概述
10.2 插入排序
10.2. 1 直接插入排序
10.2. 2 其他插入排序
10.2. 3 希尔排序
10.3 快速排序
10.4 选择排序
10.4.1 简单选择排序
10.4. 2 树形选择排序
10.4. 3 堆排序
10.5 归并排序
10.6 基数排序
10. 6. 1 多关键字的排序
10.6.2 链式基数排序
10.7 各种内部排序方法的比较讨论
第11章 外部排序
11.1 外存信息的存取
11.2 外部排序的方法
11.3 多路平衡归并的实现
11.4 置换-选择排序
11.5 最佳归并树
第12章 文件
12. 1 有关文件的基本概念
12.2 顺序文件
12. 3 索引文件
12.4 isam文件和vsam文件
12.4. 1 isam文件
12.4. 2 vsam文件
12.5 直接存取文件(散列文件)
12. 6 多关键字文件
12. 6. 1 多重表文件
12.6. 2 倒排文件
附录a 名词索引
附录b 函数索引
参考书目
1.1 什么是数据结构
1.2 基本概念和术语
1.3 抽象数据类型的表示与实现
1.4 算法和算法分析
1.4.1 算法
1.4. 2 算法设计的要求
1.4. 3 算法效率的度量
1.4. 4 算法的存储空间需求
第2章 线性表
2.l 线性表的类型定义
2. 2 线性表的顺序表示和实现
2.3 线性表的链式表示和实现
2.3.1 线性链表
2.3.2 循环链表
2.3. 3 双向链表
2.4 一元多项式的表示及相加
第3章 栈和队列
3.1 栈
3.1.l 抽象数据类型栈的定义
.3.1.2 栈的表示和实现
3.2 栈的应用举例
3.2. 1 数制转换
3.2.2 括号匹配的检验
3. 2.3 行编辑程序
3. 2. 4 迷宫求解
3. 2. 5 表达式求值
3.3 栈与递归的实现
3.4 队列
3.4. 1 抽象数据类型队列的定义
3.4.2 链队列--队列的链式表示和实现
3.4.3 循环队列--队列的顺序表示和实现
3.5 离散事件模拟
第4章 串
4. 1 串类型的定义
4. 2 串的表示和实现
4.2. 1 定长顺序存储表示
4.2. 2 堆分配存储表示
4. 2.3 串的块链存储表示
4. 3 串的模式匹配算法
4. 3.l 求子串位置的定位函数index(s,t,pos)
4.3.2 模式匹配的一种改进算法
4.4 串操作应用举例
4. 4. 1 文本编辑
4. 4.2 建立词索引表
第5章 数组和广义表
5. 1 数组的定义
5.2 数组的顺序表示和实现
5. 3 矩阵的压缩存储
5. 3.l 特殊矩阵
5.3.2 稀疏矩阵
5. 4 广义表的定义
5. 5 广义表的存储结构
5.6 m元多项式的表示
5. 7 广义表的递归算法
5. 7. 1 求广义表的深度
5.7.2 复制广义表
5. 7. 3 建立广义表的存储结构
第6章 树和二叉树
6. 1 树的定义和基本术语
6. 2 二叉树
6. 2. 1 二叉树的定义
6. 2.2 二叉树的性质
6. 2. 3 二叉树的存储结构
6. 3 遍历二叉树和线索二叉树
6.3.1 遍历二叉树
6.3.2 线索二叉树
6. 4 树和森林
6. 4. 1 树的存储结构
6. 4. 2 森林与二叉树的转换
6. 4. 3 树和森林的遍历
6.5 树与等价问题
6. 6 赫夫曼树及其应用
6. 6. 1 最优二叉树(赫夫曼树)
6.6.2 赫夫曼编码
6.7 回溯法与树的遍历
6. 8 树的计数
第7章 图
7.1 图的定义和术语
7. 2 图的存储结构
7. 2.1 数组表示法
7.2. 2 邻接表
7. 2. 3 十字链表
7. 2. 4 邻接多重表
7. 3 图的遍历
7. 3.l 深度优先搜索
7. 3.2 广度优先搜索
7. 4 图的连通性问题
7. 4. 1 天向图的连通分量和生成树
7.4.2 有向图的强连通分量
7. 4. 3 最小生成树
7.4. 4 关节点和重连通分量
7.5 有向无环图及其应用
7. 5. 1 拓扑排序
7. 5. 2 关键路径
7. 6 最短路径
7.6.1 从某个源点到其余各项点的最短路径
7.6. 2 每一对顶点之间的最短路径
第8章 动态存储管理
8. l 概述
8. 2 可利用空间表及分配方法
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. 6 存储紧缩
第9章 查找
9. 1 静态查找表
9.1.l 顺序表的查找
9.1.2 有序表的查找
9. 1.3 静态树表的查找
9. 1.4 索引顺序表的查找
9.2 动态查找表
9. 2. 1 二叉排序树和平衡二叉树
9.2.2 b_树和b+树
9.2. 3 键树
9. 3 哈希表
9.3.1 什么是哈希表
9.3.2 哈希函数的构造方法
9.3.3 处理冲突的方法
9.3.4 哈希表的查找及其分析
第10章 内部排序
10.1 概述
10.2 插入排序
10.2. 1 直接插入排序
10.2. 2 其他插入排序
10.2. 3 希尔排序
10.3 快速排序
10.4 选择排序
10.4.1 简单选择排序
10.4. 2 树形选择排序
10.4. 3 堆排序
10.5 归并排序
10.6 基数排序
10. 6. 1 多关键字的排序
10.6.2 链式基数排序
10.7 各种内部排序方法的比较讨论
第11章 外部排序
11.1 外存信息的存取
11.2 外部排序的方法
11.3 多路平衡归并的实现
11.4 置换-选择排序
11.5 最佳归并树
第12章 文件
12. 1 有关文件的基本概念
12.2 顺序文件
12. 3 索引文件
12.4 isam文件和vsam文件
12.4. 1 isam文件
12.4. 2 vsam文件
12.5 直接存取文件(散列文件)
12. 6 多关键字文件
12. 6. 1 多重表文件
12.6. 2 倒排文件
附录a 名词索引
附录b 函数索引
参考书目
数据结构:C语言版
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!