数据结构与算法简明教程(Java语言版)(高等学校通识教育系列教材)
定 价:44 元
丛书名: 高等学校通识教育系列教材
- 作者:叶小平、陈瑛
- 出版时间:2016/8/30
- ISBN:9787302439820
- 出 版 社:清华大学出版社
- 中图法分类:TP311.12
- 页码:328
- 纸张:胶版纸
- 版次:1
- 开本:16K
本书是“数据结构与算法”课程(Java语言描述)的基本教材。全书突出数据逻辑结构主线,在编写思路和材料组织上具有体现整体架构、注重本质关联、彰显关键细节和强化实例讲解等特点。书中基本算法和实例实现程序都经过Java8标准版(JDK1.8版本)平台调试运行,能够实现课程的教材学习到实验操作的有效对接。
本书可分为三部分(共10章):第一部分是课程概述(第1章);第二部分是基于内存的数据结构(第2~7章),包括线性结构(第2~4章)、树结构(第5~6章)、图结构(第7章);第三部分是高级部分(第8~10章),包括查找(第8章)、排序(第9章)和文件(第10章)。
本书可作为高等院校计算机信息科学与技术及其相关专业本科生教材,也可作为非计算机专业开设相应计算机专业基础课的教材,还可作为自学教材。
本书封面贴有清华大学出版社防伪标签,无标签者不得销售。
本教材突出Java面向对象特质,注重概念、原理和算法的实际背景引入与线索发展思路,强调重要算法的实例讲解与应用分析。突出按照数据逻辑结构组织内容:线性结构(线性表、栈与队列、数组与串)、树型结构(树与森林、二叉树)、图型结构(图、网图)、集合(查找、排序、文件);强调基本概念的背景引入和基本算法的实例讲解分析;贯穿“细节决定品质”理念,努力讲清讲透重要概念与算法。
第1章绪论
1.1数据与数据类型
1.1.1数据的基本概念
1.1.2数据项与数据元素
1.1.3数据类型与抽象数据类型
1.2数据逻辑与存储结构
1.2.1数据逻辑结构
1.2.2数据存储结构
1.3数据运算与算法
1.3.1数据运算
1.3.2算法及其基本要求
1.3.3算法设计与分析
1.4“数据结构”课程的地位与教材内容
1.4.1“数据结构”课程的地位
1.4.2本书内容组织
本章小结
第2章线性表
2.1线性表概念
2.1.1线性表逻辑结构
2.1.2线性表ADT描述
2.2线性表的顺序存储
2.2.1顺序存储结构
2.2.2顺序表的基本操作
2.3线性表的链式存储
2.3.1单链表概念
2.3.2单链表的基本操作
2.3.3线性表存储结构比较
2.4链式存储其他实现方式
2.4.1循环链表
2.4.2双向链表
2.4.3静态链表
2.5单链表应用及迭代器
2.5.1单链表倒置
2.5.2两个有序链表合并
2.5.3一元多项式计算
2.5.4迭代器
本章小结
第3章栈和队列
3.1栈
3.1.1栈基本概念
3.1.2栈的顺序存储
3.1.3栈的链式存储
3.2栈的应用
3.2.1数制转换
3.2.2栈在递归中的应用
3.2.3栈在括号匹配中的应用
3.2.4表达式求值
3.2.5迷宫求解
3.3队列
3.3.1队列基本概念
3.3.2队列的顺序存储
3.3.3队列的链式存储
3.4队列的应用
本章小结
第4章数组和串
4.1数组
4.1.1二维数组
4.1.2矩阵的顺序表示与实现
4.1.3特殊矩阵的压缩存储
4.1.4稀疏矩阵的压缩存储
4.2串
4.2.1串及相关概念
4.2.2串的基本操作
4.2.3串的顺序存储
4.2.4串的链式存储
4.2.5串的模式匹配
本章小结
第5章树
5.1树结构及相关概念
5.1.1树的基本概念
5.1.2树的相关概念
5.2树的存储
5.2.1父结点表示法存储
5.2.2子结点表示法存储
5.2.3左子/右兄弟结点表示法存储
5.3树的遍历
5.3.1广度优先遍历
5.3.2深度优先遍历
本章小结
第6章二叉树及应用
6.1二叉树的概念及性质
6.1.1二叉树及其相关概念
6.1.2二叉树的基本性质
6.2二叉树的存储
6.2.1二叉树的顺序存储
6.2.2二叉树的链式存储
6.3二叉树的遍历
6.3.1先序遍历、中序遍历与后序遍历
6.3.2基于递归遍历算法
6.3.3基于非递归遍历算法
6.4线索二叉树
6.4.1线索与线索二叉树
6.4.2线索二叉树创建
6.4.3线索二叉树操作
6.5Huffman树及其应用
6.5.1编码及分类
6.5.2Huffman树
6.5.3基于顺序存储Huffman树
6.5.4Huffman编码
6.6树与二叉树的转换
6.6.1树转换为二叉树
6.6.2二叉树还原为树
6.6.3森林与二叉树的转换
本章小结
第7章图
7.1图的数据结构
7.1.1图的基本概念
7.1.2路径与连通
7.2图的存储
7.2.1基于邻接矩阵存储
7.2.2基于邻接表存储
7.3图的遍历
7.3.1深度优先遍历
7.3.2广度优先遍历
7.4生成树与最小生成树
7.4.1图的生成树
7.4.2无向连通图最小生成树
7.5有向网图的应用
7.6有向无环图的应用
7.6.1AOV网与拓扑排序
7.6.2AOE网与关键路径
本章小结
第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二叉查找树插入与生成算法
8.3.4二叉查找树删除
8.3.5平衡二叉树
8.4基于散列表的查找
8.4.1常用散列函数构建
8.4.2散列冲突处理
本章小结
第9章排序
9.1数据排序
9.1.1排序的基本概念
9.1.2排序算法性能分析
9.2插入排序
9.2.1直接插入排序
9.2.2二分插入排序
9.2.3Shell排序
9.3交换排序
9.3.1冒泡排序
9.3.2快速排序
9.4选择排序
9.4.1直接选择排序
9.4.2堆排序
9.5归并排序
9.6外排序
9.6.1外排序的基本步骤
9.6.2败者树k路归并算法
9.6.3k路归并算法实现
本章小结
第10章文件
10.1文件及其分类
10.1.1文件概述
10.1.2文件结构与操作
10.2顺序文件
10.2.1顺序文件存储结构
10.2.2顺序存储的实现
10.3索引文件
10.3.1索引表与索引文件
10.3.2ISAM文件
10.3.3VSAM文件
10.4动态索引B树
10.4.1B树
10.4.2B+树
10.5散列文件
10.6多关键码文件
10.6.1多重表文件
10.6.2倒排文件
本章小结
参考文献