注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书教育/教材/教辅教材研究生/本科/专科教材数据结构教程(C语言版)

数据结构教程(C语言版)

数据结构教程(C语言版)

定 价:¥59.00

作 者: 刘晓静,李东,韩亮
出版社: 科学出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787030654588 出版时间: 2020-06-01 包装:
开本: 16开 页数: 239 字数:  

内容简介

  《数据结构教程(C语言版)》共8章:第1章综述数据、数据结构和抽象数据类型等基本概念;第2章~第6章从抽象数据类型的角度出发,分别讨论线性表、栈、队列、字符串、二叉树以及图等基本类型的数据结构及其应用;第7章和第8章讨论查找和排序,除了介绍各种实现方法,还着重从时间上进行定性或定量的分析和比较。

作者简介

暂缺《数据结构教程(C语言版)》作者简介

图书目录

目录
第1章 绪论 1
1.1 组织数据的方法——数据结构 1
1.2 解决问题的方法——算法 2
1.3 衡量算法优劣的方式——复杂度分析 5
本章小结 9
练习题 11
上机实验题 12
第2章 线性表 14
2.1 基本概念与运算 14
2.1.1 线性表的定义 14
2.1.2 线性表的运算 15
2.2 线性表的顺序存储方式 15
2.2.1 顺序表的结构 15
2.2.2 顺序表的运算 17
2.2.3 顺序表的实现 20
2.3 线性表的链式存储方式 24
2.3.1 单链表 24
2.3.2 循环链表 38
2.3.3 双向链表 41
2.4 线性表的应用 42
2.4.1 单链表的应用:单链表归并问题 42
2.4.2 循环链表的应用:求解约瑟夫问题 44
本章小结 46
练习题 48
上机实验题 50
第3章 栈和队列 52
3.1 栈 52
3.1.1 栈的定义 52
3.1.2 栈的表示和实现 52
3.1.3 栈的应用——进制转换 56
3.2 递归 59
3.2.1 递归的定义 59
3.2.2 递归的调用 60
3.2.3 栈与递归 65
3.3 队列 68
3.3.1 队列的定义 68
3.3.2 队列的表示和实现 69
3.3.3 队列的应用 74
本章小结 80
练习题 82
上机实验题 83
第4章 字符串匹配 86
4.1 概述 86
4.2 蛮力匹配 87
4.3 KMP 算法 88
本章小结 92
练习题 93
上机实验题 94
第5章 二叉树 96
5.1 二叉树的概念和性质 96
5.1.1 树的概念 96
5.1.2 二叉树的概念 98
5.1.3 二叉树的性质 100
5.2 二叉树的存储结构 101
5.2.1 顺序存储结构 101
5.2.2 链式存储结构 102
5.3 二叉树的遍历 104
5.3.1 二叉树的递归遍历 104
5.3.2 二叉树的非递归遍历 107
5.4 二叉树的构造 113
5.5 二叉树遍历的应用 113
5.5.1 统计二叉树中叶子结点的个数 113
5.5.2 计算二叉树的高度 114
5.5.3 二叉树重构 114
5.6 霍夫曼树 115
5.6.1 路径和路径长度 115
5.6.2 结点的权及带权路径长度 115
5.6.3 霍夫曼树定义 115
5.6.4 构造霍夫曼树 116
5.7 并查集 117
5.7.1 并查集的概念 117
5.7.2 并查集的操作 118
5.7.3 并查集的存储结构及实现 118
5.7.4 合并和查找的改进——Quick Union/Find 119
本章小结 120
练习题 121
上机实验题 122
第6章 图 124
6.1 图的定义 124
6.1.1 基本定义 124
6.1.2 图的顶点与边间关系 127
6.1.3 连通图 129
6.2 图的存储结构 130
6.2.1 邻接矩阵 130
6.2.2 邻接表 132
6.3 图的创建、输出及删除 134
6.3.1 创建图 134
6.3.2 输出图 136
6.3.3 删除图 137
6.4 图的遍历 144
6.4.1 深度优先遍历 144
6.4.2 广度优先遍历 145
6.5 小生成树 151
6.5.1 生成树的概念 151
6.5.2 小生成树的概念 151
6.5.3 蛮力算法 152
6.5.4 普里姆(Prim)算法 152
6.5.5 克鲁斯卡尔( Kruskal )算法 155
6.6 短路径 162
6.6.1 路径的概念 163
6.6.2 单源短路径 163
6.6.3 多源点之间的短路径 167
6.7 拓扑排序 175
6.7.1 拓扑排序介绍 175
6.7.2 拓扑排序算法 176
本章小结 176
练习题 177
上机实验题 178
第7章 查找 181
7.1 查找概述 181
7.2 线性表的查找 182
7.2.1 顺序查找 182
7.2.2 折半查找 184
7.2.3 斐波那契查找 186
7.3 二叉排序树 188
7.3.1 二叉排序树的插入和创建 190
7.3.2 二叉排序树的查找 191
7.3.3 二叉排序树的删除 191
7.4 平衡二叉树 194
7.4.1 定义及性质 194
7.4.2 插入操作 195
7.4.3 删除操作 198
7.4.4 统一调整(3+4 重构) 200
7.5 哈希表 203
7.5.1 哈希表的定义 203
7.5.2 哈希函数的构造方法 204
7.5.3 处理哈希冲突的方法 206
7.5.4 哈希表查找性能 208
本章小结 208
练习题 211
上机实验题 212
第8章 排序 213
8.1 冒泡排序 213
8.2 插入排序 215
8.3 选择排序 217
8.4 归并排序 219
8.5 快速排序 221
8.6 桶排序 226
8.7 基数排序 227
本章小结 235
练习题 236
上机实验题 237
参考文献 239

本目录推荐