数据结构 / 高等职业教育精品示范教材(电子信息课程群)
¥32.00定价
作者: 主编 库波 曹静 副主编 汪晓青 余恒芳 主审 王路群
出版时间:2015-11
出版社:中国水利水电出版社
- 中国水利水电出版社
- 9787517037729
- 3版
- 35237
- 65161456-2
- 特16开
- 2015-11
- 248
- 工学
- 软件工程
- TP 自动化技术、计算机技术
- 计算机
- 高职
作者简介
内容简介
本书介绍了数据结构的基本概念和基本算法。全书共分为9章,主要内容包括:绪论、线性表、栈和队列、串、数组和广义表、树、图、查找、排序等。各章中所涉及的数据结构与算法均给予了C语言描述(所有程序都运行通过),以便于读者巩固和提高运用C语言进行程序设计的能力与技巧。本书在内容的选取、概念的引入、文字的叙述以及例题和习题的选择等方面,都力求遵循面向应用、逻辑结构简明合理、由浅入深、深入浅出、循序渐进、便于自学的原则,突出其实用性与应用性。本书可作为高职高专院校及本科院校的数据结构课程教材使用,也可供从事软件开发、软件测试工作的管理与技术人员参考。
目录
再版前言
课程导学
第1章 绪论
1.1 引言
1.2 数据结构的发展简史及其在计算机科学中所处的地位
1.3 什么是数据结构
1.4 基本概念和术语
1.5 算法和算法的描述
1.5.1 算法
1.5.2 算法的描述
1.5.3 算法评价
1.6 实训项目一 验证哥德巴赫猜想
本章小结
习题一
第2章 线性表
2.1 线性表的逻辑结构
2.2 线性表的顺序存储结构
2.2.1 线性表的顺序存储结构
2.2.2 线性表在顺序存储结构下的运算
2.3 线性表的链式存储结构
2.3.1 线性链表
2.3.2 循环链表
2.3.3 双向链表
2.4 一元多项式的表示及相加
2.5 实训项目二 顺序表与链表的应用
本章小结
习题二
第3章 栈和队列
3.1 栈
3.1.1 栈的定义及其运算
3.1.2 栈的顺序存储结构
3.1.3 多栈共享邻接空间
3.1.4 栈的链式存储结构
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.5 实训项目四 成绩管理系统
本章小结
习题四
第5章 递归
5.1 递归的定义
5.2 阶乘问题
5.3 背包问题
5.4 汉诺塔问题
5.5 实训项目五 迷宫问题
本章小结
习题五
第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.3.5 遍历算法的应用
6.4 线索二叉树
6.4.1 中序次序线索化算法
6.4.2 在中根线索树上检索某结点的前驱算法
6.4.3 在中根线索树上检索某结点的后继算法
6.5 二叉排序树
6.5.1 二叉排序树的定义
6.5.2 二叉排序树的生成
6.5.3 删除二叉排序树上的结点
6.6 哈夫曼树和哈夫曼算法
6.6.1 哈夫曼树的定义
6.6.2 构造哈夫曼树——哈夫曼算法
6.6.3 哈夫曼树的应用
6.7 实训项目六 哈夫曼编码应用
本章小结
习题六
第7章 图
7.1 基本定义和术语
7.2 图的存储结构
7.2.1 邻接矩阵
7.2.2 邻接表
7.3 图的遍历
7.3.1 深度优先遍历
7.3.2 广度优先遍历
7.4 小生成树
7.5 短路径
7.5.1 单源点短路径
7.5.2 所有顶点对之间的短路径
7.6 拓扑排序
7.7 实训项目七 无向图的遍历
本章小结
习题七
第8章 查找
8.1 顺序查找
8.2 折半查找
8.3 分块查找
8.4 哈希表
8.4.1 哈希表和哈希函数的概念
8.4.2 哈希函数的构造方法
8.4.3 冲突处理
8.5 实训项目八 学生成绩修改系统
本章小结
习题八
第9章 排序
9.1 插入排序
9.1.1 线性插入排序
9.1.2 折半插入排序
9.2 希尔排序
9.3 选择排序
9.4 堆排序
9.5 快速排序
9.6 归并排序
9.7 基数排序
9.8 外部排序
9.9 各种排序方法的比较
9.10 实训项目九 排序系统
本章小结
习题九
参考文献
课程导学
第1章 绪论
1.1 引言
1.2 数据结构的发展简史及其在计算机科学中所处的地位
1.3 什么是数据结构
1.4 基本概念和术语
1.5 算法和算法的描述
1.5.1 算法
1.5.2 算法的描述
1.5.3 算法评价
1.6 实训项目一 验证哥德巴赫猜想
本章小结
习题一
第2章 线性表
2.1 线性表的逻辑结构
2.2 线性表的顺序存储结构
2.2.1 线性表的顺序存储结构
2.2.2 线性表在顺序存储结构下的运算
2.3 线性表的链式存储结构
2.3.1 线性链表
2.3.2 循环链表
2.3.3 双向链表
2.4 一元多项式的表示及相加
2.5 实训项目二 顺序表与链表的应用
本章小结
习题二
第3章 栈和队列
3.1 栈
3.1.1 栈的定义及其运算
3.1.2 栈的顺序存储结构
3.1.3 多栈共享邻接空间
3.1.4 栈的链式存储结构
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.5 实训项目四 成绩管理系统
本章小结
习题四
第5章 递归
5.1 递归的定义
5.2 阶乘问题
5.3 背包问题
5.4 汉诺塔问题
5.5 实训项目五 迷宫问题
本章小结
习题五
第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.3.5 遍历算法的应用
6.4 线索二叉树
6.4.1 中序次序线索化算法
6.4.2 在中根线索树上检索某结点的前驱算法
6.4.3 在中根线索树上检索某结点的后继算法
6.5 二叉排序树
6.5.1 二叉排序树的定义
6.5.2 二叉排序树的生成
6.5.3 删除二叉排序树上的结点
6.6 哈夫曼树和哈夫曼算法
6.6.1 哈夫曼树的定义
6.6.2 构造哈夫曼树——哈夫曼算法
6.6.3 哈夫曼树的应用
6.7 实训项目六 哈夫曼编码应用
本章小结
习题六
第7章 图
7.1 基本定义和术语
7.2 图的存储结构
7.2.1 邻接矩阵
7.2.2 邻接表
7.3 图的遍历
7.3.1 深度优先遍历
7.3.2 广度优先遍历
7.4 小生成树
7.5 短路径
7.5.1 单源点短路径
7.5.2 所有顶点对之间的短路径
7.6 拓扑排序
7.7 实训项目七 无向图的遍历
本章小结
习题七
第8章 查找
8.1 顺序查找
8.2 折半查找
8.3 分块查找
8.4 哈希表
8.4.1 哈希表和哈希函数的概念
8.4.2 哈希函数的构造方法
8.4.3 冲突处理
8.5 实训项目八 学生成绩修改系统
本章小结
习题八
第9章 排序
9.1 插入排序
9.1.1 线性插入排序
9.1.2 折半插入排序
9.2 希尔排序
9.3 选择排序
9.4 堆排序
9.5 快速排序
9.6 归并排序
9.7 基数排序
9.8 外部排序
9.9 各种排序方法的比较
9.10 实训项目九 排序系统
本章小结
习题九
参考文献