欢迎光临
免费的PDF电子书下载网站

数据结构与算法教程 PDF下载

编辑推荐

暂无

内容简介

  本书以清华大学电子系数据结构讲义为蓝本,主要针对高等院校非计算机专业开设“数据结构”课程的需要而编写的。全书从应用的角度,重点介绍数据处理中常用的数据结构——线性表、树与二叉树、图,以及基本的数据处理技术——查找和排序方法,同时通过实例把回溯法、分治法、贪心法、动态规划法等常用的算法设计思想的应用融入其中,把数据结构的介绍和常用算法设计的讨论紧密结合,并且辅之以充足的练习题,从而使读者更具体、更深刻地理解各种常用的数据结构,及它们与算法之间的关系,以达到学以致用的目的。
  本书可以作为大专院校数据结构课程的教材,也可以作为从事计算机应用开发的科技人员的参考书。

作者简介

暂无

数据结构与算法教程 PDF下载

目录

第1章 绪论 
1.1 预备知识 
1.1.1 集合的笛卡儿积 
1.1.2 二元关系 
1.1.3 二元关系的基本性质和几种重要关系 
1.2 什么是数据结构 
1.2.1 从实际问题理解数据结构 
1.2.2 数据结构所讨论的内容 
1.2.3 如何表示数据结构 
1.3 抽象数据类型 
1.3.1 什么是抽象数据类型 
1.3.2 抽象数据类型的定义与实现 
1.4 算法与算法分析 
1.4.1 什么是算法 
1.4.2 算法描述 
1.4.3 常用的算法设计方法 
1.4.4 算法分析 
习题 
上机练习题 

第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.4 栈应用 
2.4.1 栈在优先级处理中的应用 
2.4.2 栈与分治法 
2.4.3 栈与回溯法 
2.4.4 栈与递归 
2.5 队列 
2.5.1 队列及其抽象数据类型 
2.5.2 顺序队列及其运算 
2.5.3 队列应用例 
* 2.5.4 优先队列 
2.6 数组与特殊矩阵的表示 
2.6.1 数组的顺序存储 
2.6.2 规则矩阵的压缩存储 
* 2.6.3 稀疏矩阵的三列二维数组表示——三元组顺序表 
习题 
上机练习题 

第3章 链表 
3.1 线性表的链式存储——线性链表 
3.1.1 线性链表的结构特点 
3.1.2 线性链表的运算 
3.2 链式栈与链式队列 
3.2.1 栈的链式存储——链式栈 
3.2.2 队列的链式存储——链式队列 
3.3 循环链表 
3.3.1 循环链表的结构特点 
3.3.2 循环链表的基本运算 
3.3.3 链表应用例 
*3.4 多重链表 
3.4.1 多重链表结构 
3.4.2 双向链表 
*3.5 广义表 
3.5.1 什么是广义表 
3.5.2 广义表的存储表示 
3.5.3 广义表的基本运算 
习题 
上机练习题 

第4章 树与二叉树 
4.1 树的基本概念 
4.1.1  什么是树 
4.1.2 树的性质 
4.2 二叉树 
4.2.1 什么是二叉树 
4.2.2 二叉树的基本性质 
4.2.3 二叉树的抽象数据类型 
4.2.4 二叉树的存储结构 
4.2.5 二叉树的遍历及其他运算 
* 4.2.6 线索二叉树 
4.3 二叉树应用 
4.3.1 表达式线性化 
4.3.2 最优二叉树 
4.3.3 二叉搜索树 
4.3.4 堆 
* 4.3.5 二叉树与减治法 
4.4 树的运算 
4.4.1 树的抽象数据类型 
4.4.2 树的存储结构 
4.4.3 树的遍历 
* 4.4.4 树的其他运算 
* 4.5 树与回溯法 
4.5.1 问题解的描述——解空间树 
4.5.2 回溯法的求解过程分析——遍历解空间树 
4.5.3 回溯法求解问题的形式化描述 
* 4.6 森林的遍历 
4.6.1 森林与二叉树的转换 
4.6.2 森林的遍历 
习题 
上机练习题 

第5章 图 
5.1 图的基本概念 
5.1.1 图的定义和概念 
5.1.2 图的抽象数据类型 
*5.1.3 欧拉路径 
5.2 图的存储结构 
5.2.1 图的邻接矩阵表示 
5.2.2 图的邻接表表示 
*5.2.3 图的其他表示方法 
5.3 图的遍历 
5.3.1 图的深度优先遍历 
5.3.2 图的广度优先遍历 
5.3.3 图遍历的应用 
*5.3.4 图的连通性 
*5.4 有向图与有向无环图 
5.4.1 有向图的连通性和传递闭包 
*5.4.2 有向无环图和拓扑排序 
*5.4.3 关键路径 
5.5 最小生成树 
5.5.1 图的生成树与最小生成树 
5.5.2 普里姆(Prim)算法 
5.5.3 克鲁斯卡尔(Kruskal)算法 
5.5.4 贪心算法 
5.6 最短路径问题 
5.6.1 单源最短路径 
5.6.2 全源最短路径 
5.6.3 动态规划算法 
5.7 图应用例——城市间公路交通网问题 
5.7.1 问题描述 
5.7.2 问题求解思路 
习题 
上机练习题 

第6章 查找 
6.1 线性查找表 
6.1.1 顺序查找 
6.1.2 折半查找 
*6.1.3 斐波那契查找 
6.1.4 线性查找表的性能比较 
6.2 二叉搜索树查找性能 
6.3 AVL树 
6.3.1 BST的旋转操作 
6.3.2 AVL树的插入和平衡化旋转 
*6.3.3 AVL树的删除 
*6.3.4 AVL树的性能 
6.4 B-树 
6.4.1 多路动态搜索树 
6.4.2 B-树的查找 
6.4.3 B-树的插入 
*6.4.4 B-树的删除 
6.5 散列方法 
6.5.1 散列技术 
6.5.2 散列函数 
6.5.3 冲突处理 
6.5.4 散列的删除 
6.5.5 散列的性能 
6.6 静态索引结构 
6.6.1 索引查找 
6.6.2 索引存储方式 
*6.6.3 索引文件结构 
6.7 模式匹配 
6.7.1 字符串及其ADT 
6.7.2 字符串的存储表示 
6.7.3 字符串的模式匹配及简单匹配算法 
6.7.4 字符串匹配的KMP算法 
习题 
上机练习题 

第7章 排序 
7.1 排序的概念及算法性能分析 
7.2 基本排序方法 
7.2.1 冒泡排序 
7.2.2 插入排序 
7.2.3 直接选择排序 
7.2.4 基本排序方法的比较 
7.3 快速排序 
7.3.1 快速排序的过程 
7.3.2 快速排序的性能分析 
7.4 归并排序 
7.4.1 二路归并 
7.4.2 自底向上的归并排序 
7.4.3 自顶向下的归并排序 
*7.5 锦标赛排序 
7.6 堆排序 
7.6.1 堆排序的思想 
7.6.2 堆排序的实现 
7.7 内排序方法分析 
*7.7.1 排序方法的下界 
7.7.2 内排序方法的比较 
7.8 线性时间复杂度的排序算法 
*7.8.1 计数排序 
7.8.2 基数排序 
7.9 外部排序 
7.9.1 外部排序方法 
*7.9.2 基于败者树的k路归并方法 
*7.9.3 排序——归并的改进 
习题 
上机练习题 

实验指导 
实验一 顺序表及其应用 
实验二 求解迷宫问题 
实验三 简单算术表达式的处理 
实验四 求解简单背包问题 
实验五 链表及其应用 
实验六 实验室机时机位的管理 
实验七 实现Huffman编码 
实验八 文件管理的模拟 
实验九 求网络站点间的最短连接 
实验十 查找最高分与次高分 
实验十一 比赛日程安排与成绩统计 

数据结构与算法教程 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:数据结构与算法教程