《程序员学数据结构》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)威廉·史密斯(William Smith)
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2018
  • ISBN:9787115482808
  • 页数:289 页
图书介绍:本书浅入深地用多种语言详细讲解了计算机存储使用的多种数据结构。本书首先讲解了初级的数据结构如表、栈、队列和堆等,以及它们的详细分析及其典型的应用程序等。除此之外,本书还讨论了更高级的数据结构,如泛型集合、排序、搜索和递归等,以及如何在日常应用中使用这些数据结构。本书通过实际案例向读者介绍了多种数据结构及其它们的潜在应用,教会读者如何分析问题、选择合适的数据结构解决方案等。

第1章 数据类型:基本的数据结构 1

1.1 数值数据类型 1

1.1.1 整型 2

1.1.2 单精度浮点类型 10

1.1.3 双精度浮点类型 12

1.1.4 货币类型 15

1.1.5 类型转换 17

1.2 布尔数据类型 20

1.2.1 运算符优先级 22

1.2.2 短路求值 22

1.3 字符串 26

1.4 小结 29

第2章 数组:基本数据集 30

2.1 可变数组与不可变数组 32

案例学习:用户登录到一个Web服务 32

2.2 高级话题 43

2.2.1 线性查找 43

2.2.2 原始数组 45

2.2.3 对象数组 46

2.2.4 混合数组 46

2.2.5 多维数组 47

2.2.6 不规则数组 49

2.3 小结 49

第3章 列表:线性数据集 50

3.1 列表的实现 51

3.1.1 数组表 52

3.1.2 链表 53

3.2 列表的实例化 53

3.3 案例回顾:用户登录到一个Web服务 55

3.3.1 泛型 59

3.3.2 案例学习:自行车路径 60

3.4 双链表 73

3.5 查找 73

3.6 一些指针 74

3.7 小结 74

第4章 栈:后入先出的数据集 75

4.1 栈的初始化 75

4.1.1 UINavigationController 76

4.1.2 栈的操作 77

4.2 案例学习:运动规划算法 77

4.3 高级话题——栈的实现 88

4.3.1 数组栈 88

4.3.2 链表栈 88

4.4 小结 89

第5章 队列:先入先出的数据集 90

5.1 队列的初始化 91

5.2 案例学习:客户服务 93

5.3 高级话题 106

5.3.1 数组队列 106

5.3.2 链表队列 106

5.3.3 堆队列 106

5.3.4 双端队列 107

5.3.5 优先级队列 107

5.4 小结 107

第6章 字典:关键字数据集 108

6.1 字典的初始化 109

6.2 案例学习:游戏代币统计 113

6.3 高级话题 125

6.3.1 散列表字典 126

6.3.2 查找树字典 126

6.4 小结 126

第7章 集合:不包含重复项的数据集 127

7.1 集合论 128

7.2 集合的初始化 129

7.3 案例回顾:用户登录到一个Web服务 133

7.4 案例学习:音乐播放列表 137

7.5 高级话题 150

7.5.1 散列表集合 150

7.5.2 树集合 151

7.5.3 数组集合 151

7.6 小结 151

第8章 结构体:更为复杂的数据类型 152

8.1 基本要点 152

8.1.1 C# 152

8.1.2 Java 158

8.1.3 Objective-C 158

8.1.4 Swift 161

8.2 枚举类型 165

8.3 小结 170

第9章 树:非线性数据结构 171

9.1 树结构与树类型 171

9.2 树的相关术语 172

9.3 树的基本操作 173

9.4 树的实例化 174

9.5 树的结构 174

9.6 递归 207

9.7 遍历 208

9.8 小结 209

第10章 堆:有序树 210

10.1 堆的实现 210

10.2 堆的操作 211

10.3 堆的实例化 212

10.4 最小堆结构 212

10.5 常见应用场景 227

10.6 小结 227

第11章 图:互相连接的对象 228

11.1 概念图示 228

11.2 图的操作 229

11.3 图的实现 231

11.4 图数据结构 231

11.5 小结 249

第12章 排序:为混乱带来秩序 250

12.1 选择排序 251

12.2 插入排序 255

12.3 冒泡排序 259

12.4 快速排序 263

12.5 归并排序 268

12.6 桶排序 273

12.7 小结 276

第13章 查找:找你所需 277

13.1 线性查找 277

13.2 二分查找 281

13.3 跳跃查找 284

13.4 小结 289