注册 登录 进入教材巡展
#

出版时间:2015年1月

出版社:清华大学出版社

以下为《数据结构》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 清华大学出版社
  • 9787302259459
  • 1-3
  • 60867
  • 16开
  • 2015年1月
  • 工学
  • 软件工程
  • TP311.12
  • 计算机
  • 本专科、高职高专
内容简介


由周洪玉编著的《数据结构》根据计算机科学与技术及相关专业的培养目标来编写,突出实践动手能力的培养,使基础理论的教学以应用为目的。


《数据结构》共分10章,第1章介绍数据结构基本概念;第2~4章主要介绍线性结构,分别是线性表、栈和队列、串;第5~7章介绍非线性结构,即多维数组和广义表、树、图;第8章和第9章介绍在数据处理中广泛使用的技术
——查找和排序;第10章介绍文件。《数据结构》大部分算法都给出了完整的c语言源程序,各章均附有习题及参考答案。


《数据结构》可作为高等院校计算机科学与技术专业及相关专业的“数据结构”课程教材,也可作为计算机专业研究生入学考试、计算机认证考试用书,还可作为从事软件应用开发人员的参考用书。

目录
第1章 绪论
 1.1 数据结构的基本概念和术语
  1.1.1 引言
  1.1.2 数据结构有关概念及术语
  1.1.3 数据结构和抽象数据类型
 1.2 算法描述与分析
  1.2.1 算法的定义
  1.2.2 算法描述工具——c语言
  1.2.3 算法分析技术初步
 习题1
第2章 线性表
 2.1 线性表的定义及其运算
  2.1.1 线性表的定义
  2.1.2 数据运算简介
 2.2 线性表的顺序存储结构(向量)
  2.2.1 顺序存储结构
  2.2.2 向量中基本运算的实现
 2.3 线性表的链式存储结构
  2.3.1 单链表与指针
  2.3.2 单链表的基本运算
 2.4 循环链表和双向链表
  2.4.1 循环链表
  2.4.2 双向链表
  2.4.3 顺序存储结构与链表存储结构比较
 2.5 线性表的算法实现举例
  2.5.1 实现线性表顺序存储结构及运算的c语言源程序
  2.5.2 单链表处理的c语言源程序
 习题2
第3章 栈和队列
 3.1 栈
  3.1.1 栈的定义及运算
  3.1.2 栈的顺序存储结构(向量)
  3.1.3 栈的链式存储结构
  3.1.4 栈的应用
 3.2 队列
  3.2.1 队列的定义
  3.2.2 队列的顺序存储结构(向量)
  3.2.3 队列的链式存储结构
 3.3 栈和队列的算法实现举例
 习题3
第4章 串
 4.1 串的定义及其基本运算
  4.1.1 串的定义
  4.1.2 串的基本运算
 4.2 串的存储结构
  4.2.1 串的顺序存储
  4.2.2 串的链式存储
 4.3 串的模式匹配
  4.3.1 brute-force算法
  4.3.2 kmp算法
 4.4 串的模式匹配c语言程序实现举例
  4.4.1 brute-force算法的实现
  4.4.2 kmp算法的实现
 习题4
第5章 数组和广义表
 5.1 数组的基本概念
  5.1.1 数组的概念
  5.1.2 数组的/顷序表示和实现
  5.1.3 特殊矩阵的压缩存储
 5.2 稀疏矩阵的三元组存储
  5.2.1 稀疏矩阵的三元组表存储
  5.2.2 稀疏矩阵的运算
 5.3 稀疏矩阵的十字链表存储
  5.3.1 十字链表的组成
  5.3.2 十字链表的有关算法
 5.4 广义表
  5.4.1 广义表的概念和特性
  5.4.2 广义表的存储结构
  5.4.3 求广义表的深度
  5.4.4 广义表的输出
  5.4.5 建立广义表的存储结构
  5.4.6 广义表的其他操作算法
 习题5
第6章 树
 6.1 树的基本概念和术语
  6.1.1 树的定义
  6.1.2 树的常用术语
  6.1.3 树的表示方法
  6.1.4 树的基本操作
 6.2 二叉树
  6.2.1 二叉树的定义
  6.2.2 二叉树的相关术语
  6.2.3二叉树的重要性质
  6.2.4 二叉树的存储结构
  6.2.5 二叉树的基本操作及实现
 6.3 遍历二叉树
  6.3.1 先根(序)遍历(dlr)
  6.3.2 中根(序)遍历(ldr)
  6.3.3 后根(序)遍历(lrd)
  6.3.4 层次遍历
  6.3.5 二叉树遍历的非递归实现
  6.3.6 二叉树由遍历序列恢复二叉树
  6.3.7 不用栈的二叉树遍历的非递归方法
 6.4 线索二叉树
  6.4.1 线索二叉树的基本概念
  6.4.2 线索二叉树的逻辑表示图
  6.4.3 线索二叉树的基本操作实现
  6.4.4 二叉树遍历的应用
 6.5 二叉树、树和森林
  6.5.1 树的存储结构
  6.5.2 树与二叉树之间的转换
  6.5.3 森林与二叉树之间的转换
 6.6 树的应用
  6.6.1 哈夫曼树的基本概念
  6.6.2 哈夫曼树的构造算法
  6.6.3 哈夫曼树在编码问题中的应用
  6.6.4 哈夫曼树在判定问题中的应用
  6.6.5 二叉排序树
 6.7 二叉树的建立和遍历c语言源程序示例
 习题6
第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.3.3 求图的连通分量
 7.4 图的生成树
  7.4.1 生成树的概念
  7.4.2 最小生成树
  7.4.3 普里姆算法和克鲁斯卡尔算法
 7.5 图的应用
  7.5.1 拓扑排序
  7.5.2 关键路径
  7.5.3 最短路径
 7.6 图的算法c语言程序实现举例
  7.6.1 无向图的邻接表的建立和遍历
  7.6.2 有向无环图的拓扑排序和求关键路径
 习题7
第8章 查找
 8.1 基本概念
 8.2 静态表查找
  8.2.1 顺序表的查找
  8.2.2 有序表的查找
 8.3 索引顺序表的查找
 8.3 动态查找表
  8.3.1 二叉排序树
  8.3.2 平衡二叉树
  8.3.3 b-树
 8.4 哈希表
  8.4.1 哈希表与哈希函数
  8.4.2 构造哈希函数的常用方法
  8.4.3 哈希冲突的解决方法
  8.4.4 哈希表的查找及其分析
  8.4.5 哈希表算法实现c语言源程序
 习题8
第9章 排序
 9.1 排序的基本概念
 9.2 插入排序
  9.2.1 直接插入排序
  9.2.2 折半插入排序
  9.2.3 希尔排序
 9.3 交换排序
  9.3.1 冒泡排序
  9.3.2 快速排序
 9.4 选择排序
  9.4.1 简单选择排序
  9.4.2 堆排序
 9.5 归并排序
 9.6 基数排序
 9.7 各种内部排序方法的比较讨论
 9.8 有关排序算法的c语言源程序
 9.9 外排序
 习题9
第10章 文件
 10.1 文件的基本概念
  10.1.1 文件的相关概念
  10.1.2 记录的物理结构和逻辑结构
  10.1.3 文件的分类
  10.1.4 文件的运算
  10.1.5 文件的物理结构
 10.2 文件的常见组织形式
  10.2.1 顺序文件
  10.2.2 索引文件
  10.2.3 索引顺序文件
  10.2.4 散列文件
  10.2.5 多重表文件和倒排文件
 习题10
习题答案
 习题1答案
 习题2答案
 习题3答案
 习题4答案
 习题5答案
 习题6答案
 习题7答案
 习题8答案
 习题9答案
 习题10答案
附录a 抽象数据类型定义
参考文献