《数据结构与算法图解》PDF下载

  • 购买积分:9 如何计算积分?
  • 作  者:(美)杰伊·温罗格(Jay Wengrow)著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2019
  • ISBN:7115509000
  • 页数:158 页
图书介绍:

第1章 数据结构为何重要 1

1.1 基础数据结构:数组 1

1.1.1 读取 3

1.1.2 查找 5

1.1.3 插入 7

1.1.4 删除 8

1.2 集合:一条规则决定性能 10

1.3 总结 12

第2章 算法为何重要 13

2.1 有序数组 13

2.2 查找有序数组 15

2.3 二分查找 16

2.4 二分查找与线性查找 19

2.5 总结 20

第3章 大O记法 21

3.1 大O:数步数 21

3.2 常数时间与线性时间 22

3.3 同一算法,不同场景 24

3.4 第三种算法 24

3.5 对数 25

3.6 解释O(logN) 26

3.7 实例 27

3.8 总结 28

第4章 运用大O来给代码提速 29

4.1 冒泡排序 29

4.2 冒泡排序实战 30

4.3 冒泡排序的实现 33

4.4 冒泡排序的效率 35

4.5 二次问题 36

4.6 线性解决 38

4.7 总结 39

第5章 用或不用大O来优化代码 40

5.1 选择排序 40

5.2 选择排序实战 41

5.3 选择排序的实现 45

5.4 选择排序的效率 46

5.5 忽略常数 47

5.6 大O的作用 47

5.7 一个实例 48

5.8 总结 49

第6章 乐观地调优 50

6.1 插入排序 50

6.2 插入排序实战 51

6.3 插入排序的实现 55

6.4 插入排序的效率 56

6.5 平均情况 58

6.6 一个实例 60

6.7 总结 61

第7章 查找迅速的散列表 62

7.1 探索散列表 62

7.2 用散列函数来做散列 63

7.3 一个好玩又赚钱的同义词典 64

7.4 处理冲突 65

7.5 找到平衡 68

7.6 一个实例 69

7.7 总结 72

第8章 用栈和队列来构造灵巧的代码 73

8.1 栈 73

8.2 栈实战 75

8.3 队列 79

8.4 队列实战 80

8.5 总结 81

第9章 递归 82

9.1 用递归代替循环 82

9.2 基准情形 83

9.3 阅读递归代码 84

9.4 计算机眼中的递归 86

9.5 递归实战 87

9.6 总结 89

第10章 飞快的递归算法 90

10.1 分区 90

10.2 快速排序 94

10.3 快速排序的效率 98

10.4 最坏情况 101

10.5 快速选择 103

10.6 总结 105

第11章 基于结点的数据结构 106

11.1 链表 106

11.2 实现一个链表 107

11.3 读取 108

11.4 查找 109

11.5 插入 110

11.6 删除 112

11.7 链表实战 114

11.8 双向链表 115

11.9 总结 118

第12章 让一切操作都更快的二叉树 119

12.1 二叉树 119

12.2 查找 121

12.3 插入 124

12.4 删除 126

12.5 二叉树实战 132

12.6 总结 133

第13章 连接万物的图 134

13.1 图 134

13.2 广度优先搜索 136

13.3 图数据库 144

13.4 加权图 146

13.5 Dijkstra算法 148

13.6 总结 154

第14章 对付空间限制 155

14.1 描述空间复杂度的大O记法 155

14.2 时间和空间之间的权衡 157

14.3 写在最后的话 158