图书介绍

数据结构与算法2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

数据结构与算法
  • 徐雅静等编著 著
  • 出版社: 北京:北京邮电大学出版社
  • ISBN:9787563551750
  • 出版时间:2019
  • 标注页数:277页
  • 文件大小:72MB
  • 文件页数:288页
  • 主题词:小学教师-教学能力-资格考试-教学参考资料

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

数据结构与算法PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 绪论1

1.1 数据结构与算法的重要性1

1.2 数据结构的基本概念3

1.3 算法和算法分析6

1.3.1 算法描述6

1.3.2 算法分析8

1.3.3 NP问题11

1.4 STL与数据结构12

1.4.1 STL简介12

1.4.2 STL与数据结构的关系13

1.5 工程实践和思考14

习题118

第2章 线性表20

2.1 线性表概述20

2.1.1 线性表的定义20

2.1.2 线性表的运算21

2.1.3 各种常用存储结构21

2.2 顺序表的实现24

2.2.1 顺序表的存储结构24

2.2.2 顺序表的基本运算25

2.2.3 顺序表的应用——通信录29

2.2.4 STL中的顺序表——vector31

2.3 单链表的实现33

2.3.1 单链表的存储结构34

2.3.2 单链表的基本运算35

2.3.3 单链表的应用——通信录42

2.4 循环链表的实现43

2.5 双链表的实现44

2.5.1 双链表的基本结构44

2.5.2 双链表的基本运算45

2.5.3 STL中的双链表——list46

2.6 顺序表与链表的比较47

2.6.1 时间性能比较47

2.6.2 空间性能比较47

2.7 工程实践和思考48

问题1:不支持指针的高级语言,如何实现链表?48

问题2:如何实现一元多项式的求和?52

问题3:操作系统的内存如何管理?57

问题4:荷兰国旗问题61

习题263

第3章 线性表的扩展68

3.1 各种扩展线性表68

3.1.1 栈68

3.1.2 队列69

3.1.3 串69

3.1.4 多维数组71

3.2 栈的实现72

3.2.1 顺序栈72

3.2.2 链式栈74

3.2.3 STL中的栈——stack76

3.3 队列的实现77

3.3.1 循环队列77

3.3.2 链队列80

3.3.3 STL中的队列83

3.4 串的实现85

3.4.1 串的存储结构85

3.4.2 串的模式匹配86

3.4.3 KMP算法89

3.4.4 STL中的串——string93

3.5 多维数组94

3.5.1 多维数组的存储94

3.5.2 稀疏矩阵95

3.6 基于栈的经典算法100

3.6.1 递归——斐波那契数列100

3.6.2 分治法——汉诺塔游戏101

3.6.3 回溯法——迷宫问题104

3.6.4 动态规划——背包问题107

3.7 工程实践和思考109

问题1:优先级队列的调度109

问题2:图像识别领域的基本问题——手写数字识别111

问题3:贪心算法和动态规划的区别114

问题4:穷举法和动态规划的区别115

习题3115

第4章 树119

4.1 基本概念119

4.1.1 树119

4.1.2 二叉树120

4.1.3 森林123

4.2 基本操作124

4.2.1 树的遍历124

4.2.2 二叉树的遍历125

4.2.3 森林的遍历126

4.2.4 树、森林与二叉树的转换127

4.3 存储结构128

4.3.1 树的存储结构128

4.3.2 二叉树的存储结构132

4.4 二叉树的实现134

4.4.1 二叉树的声明134

4.4.2 二叉树的关键算法134

4.4.3 递归算法的规律138

4.5 哈夫曼树的应用143

4.5.1 哈夫曼树的定义与存储结构144

4.5.2 哈夫曼树的构造146

4.5.3 哈夫曼编码表的构建148

4.5.4 哈夫曼编、解码的实现148

4.6 工程实践和思考149

问题1:构建算术表达式二叉树149

问题2:通信系统中如何使用哈夫曼树压缩信息?153

习题4154

第5章 图158

5.1 基本概念158

5.1.1 图的定义158

5.1.2 图的基本术语158

5.2 图的存储结构161

5.2.1 邻接矩阵161

5.2.2 邻接表163

5.2.3 十字链表165

5.2.4 邻接多重表166

5.2.5 边集数组166

5.2.6 图的存储结构比较167

5.3 图的实现167

5.3.1 图的构建167

5.3.2 图的遍历169

5.3.3 图的析构173

5.4 最小生成树173

5.4.1 普里姆算法174

5.4.2 克鲁斯卡尔算法178

5.5 最短路径182

5.5.1 Dijkstra算法183

5.5.2 Floyd算法186

5.6 工程实践与思考187

问题1:图着色问题187

问题2:地铁换乘线路查找问题191

问题3:教学计划安排问题192

问题4:关键路径问题194

习题5195

第6章 查找197

6.1 基本概念197

6.1.1 静态查找和动态查找197

6.1.2 查找的性能评估197

6.1.3 查找结构分类198

6.2 线性表查找198

6.2.1 顺序查找198

6.2.2 折半查找199

6.2.3 索引查找202

6.3 树表查找203

6.3.1 二叉排序树203

6.3.2 平衡二叉树209

6.3.3 B—树211

6.3.4 STL中的树表——set和map217

6.4 散列查找220

6.4.1 散列技术220

6.4.2 散列函数设计221

6.4.3 冲突处理222

6.4.4 常用的散列函数225

6.5 工程实践和思考227

问题1:自然语言处理的基本问题——中文分词227

问题2:数据库索引结构231

习题6235

第7章 排序237

7.1 基本概念237

7.1.1 相关概念237

7.1.2 排序性能评估238

7.1.3 排序方法分析238

7.2 简单排序239

7.2.1 起泡排序239

7.2.2 直接插入排序241

7.2.3 简单选择排序243

7.3 复杂排序245

7.3.1 希尔排序245

7.3.2 快速排序247

7.3.3 堆排序249

7.3.4 归并排序253

7.3.5 STL中常用的排序算法257

7.4 非比较的排序算法258

7.4.1 计数排序259

7.4.2 桶排序260

7.4.3 基数排序262

7.5 工程实践和思考264

问题1:电话号码排序264

问题2:大数据下的排序问题267

习题7270

参考文献272

附录273

附录1 异常处理273

附录2 模板275

热门推荐