图书介绍
学习JavaScript数据结构与算法 第3版PDF|Epub|txt|kindle电子书版本网盘下载
- (巴西)洛伊安妮·格罗纳(Loiane Groner) 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115510174
- 出版时间:2019
- 标注页数:294页
- 文件大小:88MB
- 文件页数:309页
- 主题词:数据结构;JAVA语言-程序设计
PDF下载
下载说明
学习JavaScript数据结构与算法 第3版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 JavaScript简介1
1.1 JavaScript数据结构与算法1
1.2 环境搭建2
1.2.1 最简单的环境搭建2
1.2.2 使用Web服务器3
1.2.3 Node.js http-server5
1.3 JavaScript基础5
1.3.1 变量6
1.3.2 运算符8
1.3.3 真值和假值11
1.3.4 相等运算符(==和===)12
1.4 控制结构14
1.4.1 条件语句14
1.4.2 循环15
1.5 函数16
1.6 JavaScript面向对象编程17
1.7 调试工具18
1.8 小结20
第2章 ECMAScript和TypeScript概述21
2.1 ECMAScript还是JavaScript21
2.1.1 ES6、ES2015、ES7、ES2016、ES8、ES2017和ES.Next21
2.1.2 使用Babel.js23
2.2 ECMAScript 2015+的功能24
2.2.1 用let替代var声明变量24
2.2.2 模板字面量27
2.2.3 箭头函数27
2.2.4 函数的参数默认值28
2.2.5 声明展开和剩余参数29
2.2.6 增强的对象属性30
2.2.7 使用类进行面向对象编程31
2.2.8 乘方运算符33
2.2.9 模块33
2.3 介绍TypeScript39
2.3.1 类型推断40
2.3.2 接口41
2.3.3 其他TypeScript功能43
2.3.4 TypeScript中对JavaScript文件的编译时检查43
2.4 小结44
第3章 数组45
3.1 为什么用数组45
3.2 创建和初始化数组46
3.3 添加元素47
3.3.1 在数组末尾插入元素47
3.3.2 在数组开头插入元素48
3.4 删除元素49
3.4.1 从数组末尾删除元素49
3.4.2 从数组开头删除元素49
3.5 在任意位置添加或删除元素51
3.6 二维和多维数组51
3.6.1 迭代二维数组的元素52
3.6.2 多维数组53
3.7 JavaScript的数组方法参考54
3.7.1 数组合并55
3.7.2 迭代器函数55
3.7.3 ECMAScript 6和数组的新功能57
3.7.4 排序元素60
3.7.5 搜索63
3.7.6 输出数组为字符串64
3.8 类型数组64
3.9 TypeScript中的数组65
3.10 小结66
第4章 栈67
4.1 创建一个JavaScript数据结构和算法库67
4.2 栈数据结构68
4.2.1 创建一个基于数组的栈69
4.2.2 向栈添加元素69
4.2.3 从栈移除元素70
4.2.4 查看栈顶元素70
4.2.5 检查栈是否为空71
4.2.6 清空栈元素71
4.2.7 使用Stack类71
4.3 创建一个基于JavaScript对象的Stack类73
4.3.1 向栈中插入元素73
4.3.2 验证一个栈是否为空和它的大小74
4.3.3 从栈中弹出元素74
4.3.4 查看栈顶的值并将栈清空75
4.3.5 创建toString方法75
4.4 保护数据结构内部元素76
4.4.1 下划线命名约定76
4.4.2 用ES2015的限定作用域Symbol实现类77
4.4.3 用ES2015的WeakMap实现类77
4.4.4 ECMAScript类属性提案78
4.5 用栈解决问题79
4.6 小结81
第5章 队列和双端队列82
5.1 队列数据结构82
5.1.1 创建队列83
5.1.2 使用Queue类86
5.2 双端队列数据结构87
5.2.1 创建Deque类87
5.2.2 使用Deque类89
5.3 使用队列和双端队列来解决问题90
5.3.1 循环队列——击鼓传花游戏90
5.3.2 文检查器91
5.3.3 JavaScript任务队列93
5.4 小结93
第6章 链表94
6.1 链表数据结构94
6.2 双向链表106
6.2.1 在任意位置插入新元素107
6.2.2 从任意位置移除元素109
6.3 循环链表111
6.3.1 在任意位置插入新元素112
6.3.2 从任意位置移除元素113
6.4 有序链表114
6.5 创建StackLinkedList类116
6.6 小结117
第7章 集合118
7.1 构建数据集合118
7.2 创建集合类119
7.2.1 has(element)方法119
7.2.2 add方法120
7.2.3 delete和clear方法120
7.2.4 size方法121
7.2.5 values方法122
7.2.6 使用Set类122
7.3 集合运算123
7.3.1 并集123
7.3.2 交集125
7.3.3 差集127
7.3.4 子集128
7.4 ECMAScript 2015——Set类130
7.5 多重集或袋132
7.6 小结133
第8章 字典和散列表134
8.1 字典134
8.1.1 创建字典类135
8.1.2 使用Dictionary类141
8.2 散列表142
8.2.1 创建散列表143
8.2.2 使用HashTable类146
8.2.3 散列表和散列集合147
8.2.4 处理散列表中的冲突147
8.2.5 创建更好的散列函数158
8.3 ES2015 Map类159
8.4 ES2105 WeakMap类和WeakSet类159
8.5 小结160
第9章 递归161
9.1 理解递归161
9.2 计算一个数的阶乘162
9.2.1 迭代阶乘162
9.2.2 递归阶乘163
9.3 斐波那契数列165
9.3.1 迭代求斐波那契数166
9.3.2 递归求斐波那契数166
9.3.3 记忆化斐波那契数167
9.4 为什么要用递归?它更快吗167
9.5 小结168
第10章 树169
10.1 树数据结构169
10.2 树的相关术语170
10.3 二叉树和二叉搜索树170
10.3.1 创建BinarySearch-Tree类171
10.3.2 向二叉搜索树中插入一个键172
10.4 树的遍历175
10.4.1 中序遍历175
10.4.2 先序遍历176
10.4.3 后序遍历177
10.5 搜索树中的值178
10.5.1 搜索最小值和最大值178
10.5.2 搜索一个特定的值180
10.5.3 移除一个节点182
10.6 自平衡树185
10.6.1 Adelson-Velskii-Landi树(AVL树)185
10.6.2 红黑树194
10.7 小结200
第11章 二叉堆和堆排序201
11.1 二叉堆数据结构201
11.1.1 创建最小堆类202
11.1.2 创建最大堆类208
11.2 堆排序算法209
11.3 小结211
第12章 图212
12.1 图的相关术语212
12.2 图的表示214
12.2.1 邻接矩阵215
12.2.2 邻接表215
12.2.3 关联矩阵216
12.3 创建Graph类216
12.4 图的遍历219
12.4.1 广度优先搜索220
12.4.2 深度优先搜索225
12.5 最短路径算法231
12.5.1 Dijkstra算法232
12.5.2 Floyd-Warshall算法234
12.6 最小生成树235
12.6.1 Prim算法236
12.6.2 Kruskal算法237
12.7 小结238
第13章 排序和搜索算法239
13.1 排序算法239
13.1.1 冒泡排序239
13.1.2 选择排序242
13.1.3 插入排序244
13.1.4 归并排序245
13.1.5 快速排序247
13.1.6 计数排序251
13.1.7 桶排序253
13.1.8 基数排序255
13.2 搜索算法257
13.2.1 顺序搜索257
13.2.2 二分搜索258
13.2.3 内插搜索260
13.3 随机算法261
13.4 小结262
第14章 算法设计与技巧263
14.1 分而治之263
14.2 动态规划265
14.2.1 最少硬币找零问题266
14.2.2 背包问题268
14.2.3 最长公共子序列270
14.2.4 矩阵链相乘272
14.3 贪心算法274
14.3.1 最少硬币找零问题274
14.3.2 分数背包问题275
14.4 回溯算法276
14.4.1 迷宫老鼠问题277
14.4.2 数独解题器279
14.5 函数式编程简介282
14.5.1 函数式编程与命令式编程282
14.5.2 ES2015+和函数式编程283
14.5.3 JavaScript函数式工具箱——map、filter和reduce284
14.5.4 JavaScript函数式类库和数据结构286
14.6 小结286
第15章 算法复杂度287
15.1 大O表示法287
15.1.1 理解大O表示法287
15.1.2 时间复杂度比较289
15.1.3 NP完全理论概述292
15.2 用算法娱乐身心293
15.3 小结294