购物车中还没有商品,赶紧选购吧!
正版 学习JavaScript数据结构与算法 第3版 数据结构与算法教程书籍 算法导论入门web前端书数据分析数据库入门书籍人民邮电出版社
商品价格
降价通知
高级VIP可享超值优惠价 立即开通
市 场 价
累计评价0
/
累计销量0
手机购买
商品二维码
配送
至
服务
发货并提供售后服务。
可用积分
0
数量
库存  
温馨提示
平台自营
5.00
商品评价 5
服务态度 5
发货速度 5

微信扫码查看移动端店铺

暂无联系方式

  • 商品详情
  • 规格参数
  • 用户评论(0)
  • 网友讨论圈
手机购买
商品二维码
加入购物车
价格:
数量:
库存  

商品详情

商品名称:正版 学习JavaScript数据结构与算法 第3版 数据结构与算法教程书籍 算法导论入门web前端书数据分析数据库入门书籍人民邮电出版社
商品编号 :595075090362
店铺:
重量:0.000千克
上架时间:2021-11-09 15:59:07
ISBN编号 :9787115510174
书名 :学习JavaScript数据结构与算法 第3版,学习JavaScript数据结构与算法 第3版
产品名称 :学习JavaScript数据结构与...
作者 :洛伊安妮·格罗纳
出版社名称 :人民邮电出版社
定价 :69.00元
是否是套装 :否

更多参数>>


商品参数

学习JavaScript数据结构与算法 第3版
            定价 69.00
出版社 人民邮电出版社
版次 1
出版时间 2019年05月
开本 16开
作者 [巴西]洛伊安妮·格罗纳(Loiane Groner)
装帧 平装
页数
字数
ISBN编码 9787115510174
重量


内容介绍

本书首先介绍了JavaScript语言的基础知识(包括ECMAScript和TypeScript),其次讨论了数组、栈、队列、双端队列和链表等重要的数据结构,随后分析了集合、字典和散列表的工作原理,接下来阐述了递归的原理、什么是树以及二叉堆和堆排序,然后介绍了图、DFS和BFS算法、各种排序(冒泡排序、选择排序、插入排序、归并排序、快速排序、计数排序、桶排序和基数排序)和搜索(顺序搜索、二分搜索和内插搜索)算法以及随机算法,接着介绍了分而治之、动态规划、贪心算法和回溯算法等高ji算法以及函数式编程,*后还介绍了如何计算算法的复杂度。
目录

第 1章 JavaScript简介  1  
 
1.1 JavaScript数据结构与算法 1  
 
1.2 环境搭建 2  
 
1.2.1 zui简单的环境搭建 2  
 
1.2.2 使用Web服务器 3  
 
1.2.3 Node.js http-server 5  
 
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还是JavaScript 21  
 
2.1.1 ES6、ES2015、ES7、ES2016、ES8、ES2017和ES.Next 21  
 
2.1.2 使用Babel.js 23  
 
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 介绍TypeScript 39  
 
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 创建BinarySearchTree类 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 搜索zui小值和值 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 创建zui小堆类 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 zui短路径算法 231  
 
12.5.1 Dijkstra算法 232  
 
12.5.2 Floyd-Warshall算法 234  
 
12.6 zui小生成树 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 zui少硬币找零问题 266  
 
14.2.2 背包问题 268  
 
14.2.3 zui长公共子序列 270  
 
14.2.4 矩阵链相乘 272  
 
14.3 贪心算法 274  
 
14.3.1 zui少硬币找零问题 274  
 
14.3.2 分数背包问题 275  
 
14.4 回溯算法 276  
 
14.4.1 迷宫老鼠问题 277  
 
14.4.2 数独解题器 279  
 
14.5 函数式编程简介 282  
 
14.5.1 函数式编程与命令式编程 283  
 
14.5.3 JavaScript函数式工具箱——map、filter和reduce 284  
 
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 NPwan全理论概述 292  
 
15.2 用算法娱乐身心 293  
 
15.3 小结 294 

100 好评率 %
此商品还没有设置买家印象,陪我一起等下嘛
暂无评价
对比栏

1

您还可以继续添加

2

您还可以继续添加

3

您还可以继续添加

4

您还可以继续添加