新闻资讯
看你所看,想你所想

数据结构与算法设计(西安电子科技大学出版社书籍)

数据结构与算法设计(西安电子科技大学出版社书籍)

数据结构与算法设计(西安电子科技大学出版社书籍)

《数据结构与算法设计》是2015年西安电子科技大学出版社出版的图书,作者是张小艳、李占利。

基本介绍

  • 书名:数据结构与算法设计
  • 作者:张小艳 李占利
  • ISBN:978-7-5606-3722-8
  • 定价:27.2元
  • 出版社:西安电子科技大学出版社
  • 出版时间:2015-06

内容简介

本书重点介绍了计算机学科中常用的数据结构(包括线性表、栈、伫列、串、数组、树、图)的基本概念、逻辑结构、存储结构和在不同存储结构上操作的实现,还介绍了许多经典的查找与排序算法的各种实现过程,并进行了综合分析比较。本书採用C语言描述算法。
本书是在作者多年讲授数据结构课程的实践基础上编写完成的。概念叙述简洁,语言精练,深入浅出,实用性强,同时儘量避免抽象理论的阐述,通过实例分析使读者理解抽象概念。
与本书配套出版的《〈数据结构与算法设计〉实践与题解》,既便于教师教学,也便于学生自学。
本书是省级精品课程配套教材,可作为计算机类专业及信息类相关专业的教材,也可供计算机工程与套用领域技术人员参考。
本书配套课件获教育部多媒体课件比赛三等奖。

目录

第一章 绪论 1
1.1 数据结构的起源 1
1.2 什幺是数据结构 2
1.3 逻辑结构与物理结构 3
1.3.1 逻辑结构 3
1.3.2 物理结构 4
1.4 抽象数据类型 5
1.4.1 数据类型 5
1.4.2 抽象数据类型 6
1.4.3 抽象数据类型的实现方法 7
1.5 算法 8
1.5.1 算法的基本概念 8
1.5.2 算法的性能评价 9
1.5.3 算法描述 16
1.6 数据结构与算法设计课程的地位及主要内容 16
习题与训练 18
第二章 线性表 20
2.1 线性表的定义及逻辑结构 20
2.1.1 线性表的定义 20
2.1.2 线性表的基本操作 21
2.2 线性表的顺序存储结构 22
2.2.1 顺序表 22
2.2.2 顺序表上插入与删除操作的实现 24
2.2.3 顺序表套用举例 27
2.3 线性表的链式存储结构 28
2.3.1 单鍊表 29
2.3.2 单鍊表上基本运算的实现 31
2.3.3 循环单鍊表 37
2.3.4 静态鍊表 38
2.3.5 双向鍊表 41
2.3.6 鍊表套用举例 43
2.4 顺序表和鍊表的比较 44
习题与训练 45
第三章 栈和伫列 50
3.1 栈的定义及其逻辑结构 50
3.1.1 栈的定义 50
3.1.2 基本操作 51
3.2 栈的存储结构 51
3.2.1 栈的顺序存储结构 51
3.2.2 两个栈的共享空间 53
3.2.3 栈的链式存储结构 55
3.3 栈的套用举例 57
3.4 栈与递归 63
3.4.1 栈与递归的实现过程 63
3.4.2 汉诺塔 66
3.5 伫列的定义及基本运算 71
3.5.1 伫列的定义 71
3.5.2 基本运算 72
3.6 伫列的存储结构及操作实现 72
3.6.1 顺序伫列 72
3.6.2 循环伫列 74
3.6.3 链伫列 76
习题与训练 79
第四章 串 80
4.1 串的定义及其基本运算 80
4.1.1 串的基本概念 80
4.1.2 串的基本运算 81
4.2 串的顺序存储及基本运算 81
4.2.1 串的顺序存储 82
4.2.2 基本运算的实现 82
4.3 串的堆存储结构 88
4.3.1 堆存储结构 88
4.3.2 串名的存储映象 89
4.3.3 基于堆结构的基本运算 90
4.4 块链串 91
4.5 KMP模式匹配算法 91
4.5.1 KMP模式匹配算法的原理 91
4.5.2 next函式 93
4.5.3 KMP算法实现 94
习题与训练 96
第五章 数组和广义表 97
5.1 数组 97
5.1.1 数组的逻辑结构 97
5.1.2 数组的存储结构 98
5.2 特殊矩阵的压缩存储 99
5.2.1 对称矩阵 100
5.2.2 三角矩阵 101
5.2.3 带状矩阵 102
5.3 稀疏矩阵的压缩存储 103
5.3.1 稀疏矩阵的三元组表存储 103
5.3.2 稀疏矩阵的十字鍊表存储** 107
5.4 广义表 109
5.4.1 广义表的定义和基本运算 109
5.4.2 广义表的存储 111
习题与训练 112
第六章 二叉树与树 114
6.1 二叉树 114
6.1.1 二叉树的定义 114
6.1.2 二叉树的基本概念 115
6.1.3 二叉树的主要性质 116
6.2 二叉树的存储结构 119
6.2.1 顺序存储结构 119
6.2.2 链式存储结构 120
6.3 二叉树的遍历 122
6.3.1 二叉树遍历的递归实现 122
6.3.2 二叉树遍历的非递归实现** 125
6.3.3 二叉树的层次遍历 128
6.3.4 遍历序列恢复二叉树 129
6.3.5 遍历二叉树的套用 131
6.4 线索二叉树** 132
6.5 树和森林 136
6.5.1 树和森林的定义 136
6.5.2 树的存储结构 137
6.5.3 树和森林的遍历 143
6.6 哈夫曼树及其套用 144
6.6.1 哈夫曼树的基本概念 144
6.6.2 哈夫曼树的构造算法 147
6.6.3 哈夫曼树编码 148
6.6.4 套用举例 150
习题与训练 152
第七章 图 154
7.1 图的基本概念 154
7.1.1 图的定义和种类 154
7.1.2 相关术语 156
7.1.3 图的基本操作 158
7.2 图的存储结构 159
7.2.1 邻接矩阵 159
7.2.2 邻接表 163
7.2.3 十字鍊表** 167
7.2.4 邻接多重表** 168
7.3 图的遍历 169
7.3.1 深度优先遍历 170
7.3.2 广度优先遍历 174
7.4 图的连通性问题 177
7.4.1 无向图的连通性 177
7.4.2 最小生成树 178
7.5 最短路径 182
7.5.1 求某一源点到其余各顶点的最短路径 183
7.5.2 求任意一对顶点的最短路径 185
7.6 有向无环图的套用 188
7.6.1 AOV网与拓扑排序 189
7.6.2 AOE图与关键路径** 193
习题与训练 197
第八章 查找 200
8.1 基本概念 200
8.2 静态查找表 202
8.2.1 顺序表 202
8.2.2 有序顺序表 203
8.2.3 索引顺序表 208
8.2.4 倒排表 209
8.3 动态查找表 210
8.3.1 二叉排序树 210
8.3.2 平衡二叉树** 218
8.3.3 B树** 222
8.4 哈希表的查找 227
8.4.1 什幺是哈希表 227
8.4.2 哈希函式的构造方法 228
8.4.3 处理冲突的方法 230
8.4.4 哈希表的查找过程 232
习题与训练 235
第九章 排序 237
9.1 排序的基础知识 237
9.1.1 排序的基本概念 237
9.1.2 排序的分类 238
9.1.3 存储结构 238
9.2 简单排序方法 239
9.2.1 简单选择排序 239
9.2.2 直接插入排序 241
9.2.3 希尔排序 245
9.2.4 起泡排序 247
9.3 先进排序方法 248
9.3.1 快速排序 248
9.3.2 归併排序 252
9.3.3 堆排序 254
9.3.4 基数排序** 258
9.4 各种内部排序方法的综合比较 263
习题与训练 265
第十章 经典算法介绍 266
10.1 分治法 266
10.2 贪婪法 268
10.3 回溯法 270
10.4 动态规划法 274
习题与训练 278
参考文献 280

相关推荐

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com