学习JavaScript数据结构与算法

0
(0)

学习JavaScript数据结构与算法

作者:[巴西]格罗纳(LoianeGroner)

出版社:人民邮电出版社

原作名:LearningJavaScriptDataStructuresandAlgorithms

译者:孙晓博/邓钢/吴双/陈迪/袁源

出版年:2015-10-1

页数:159

定价:39.00

装帧:平装

丛书:图灵程序设计丛书·Web开发系列

ISBN:9787115404145

内容简介
······

本书首先介绍了JavaScript语言的基础知识,接下来讨论了数组、栈、队列、链表、集合、字典、散列表、树、图等数据结构,之后探讨了各种排序和搜索算法,包括冒泡排序、选择排序、插入排序、归并排序、快速排序、顺序搜索、二分搜索,还介绍了动态规划和贪心算法等常用的高级算法及相关知识。

作者简介
······

作者:[巴西] 格罗纳(Loiane Groner)

译者:孙晓博 邓钢 吴双 陈迪 袁源

Loiane Groner 花旗银行软件开发经理,负责海外项目的开发和团队管理;原IBM公司系统分析师及团队负责人;巴西坎皮纳斯Java用户组(CampinasJUG)领导者、圣埃斯皮里图Java用户组(ESJUG)协调人;巴西各大型技术会议特邀发言人;Sencha和Java技术布道者,通过博客(http://loianegroner.com)为软件开发社区撰稿,发表关于IT职业发展和常用开发技术的文章和视频。另著有《精通Ext JS》等书。

目录
······

第1 章 JavaScript 简介 1

1.1 环境搭建 1

1.1.1 浏览器 2

1.1.2 使用Web 服务器(XAMPP) 3

1.1.3 使用Node.js 搭建Web 服务器 4

1.2 JavaScript 基础 6

1.2.1 变量 7

1.2.2 操作符 8

1.2.3 真值和假值 11

1.2.4 相等操作符(==和===) 12

1.3 控制结构 13

1.3.1 条件语句 14

1.3.2 循环 15

1.4 函数 16

1.5 面向对象编程 16

1.6 调试工具 18

1.7 小结 18

第2 章 数组 19

2.1 为什么用数组 19

2.2 创建和初始化数组 20

2.3 添加和删除元素 21

2.4 二维和多维数组 24

2.5 JavaScript 的数组方法参考 26

2.5.1 数组合并 27

2.5.2 迭代器函数 27

2.5.3 搜索和排序 28

2.5.4 输出数组为字符串 31

2.6 小结 32

第3 章 栈 33

3.1 栈的创建 33

3.2 从十进制到二进制 38

3.3 小结 39

第4 章 队列 40

4.1 创建队列 40

4.1.1 完整的Queue 类 42

4.1.2 使用Queue 类 43

4.2 优先队列 44

4.3 循环队列——击鼓传花 46

4.4 小结 47

第5 章 链表 48

5.1 创建一个链表 49

5.1.1 向链表尾部追加元素 50

5.1.2 从链表中移除元素 52

5.1.3 在任意位置插入一个元素 54

5.1.4 实现其他方法 56

5.2 双向链表 58

5.2.1 在任意位置插入一个新元素 59

5.2.2 从任意位置移除元素 61

5.3 循环链表 64

5.4 小结 64

第6 章 集合 65

6.1 创建一个集合 65

6.1.1 has(value)方法 66

6.1.2 add 方法 66

6.1.3 remove 和clear 方法 67

6.1.4 size 方法 68

6.1.5 values 方法 69

6.1.6 使用Set 类 69

6.2 集合操作 70

6.2.1 并集 70

6.2.2 交集 71

6.2.3 差集 72

6.2.4 子集 73

6.3 小结 74

第7 章 字典和散列表 75

7.1 字典 75

7.1.1 创建一个字典 75

7.1.2 使用Dictionary 类 78

7.2 散列表 79

7.2.1 创建一个散列表 79

7.2.2 使用HashTable 类 81

7.2.3 散列表和散列集合 82

7.2.4 处理散列表中的冲突 82

7.2.5 创建更好的散列函数 90

7.3 小结 91

第8 章 树 92

8.1 树的相关术语 92

8.2 二叉树和二叉搜索树 93

8.2.1 创建BinarySearchTree 类 94

8.2.2 向树中插入一个键 95

8.3 树的遍历 98

8.3.1 中序遍历 98

8.3.2 先序遍历 99

8.3.3 后序遍历 100

8.4 搜索树中的值 101

8.4.1 搜索最小值和最大值 101

8.4.2 搜索一个特定的值 103

8.4.3 移除一个节点 104

8.5 更多关于二叉树的知识 108

8.6 小结 109

第9 章 图 110

9.1 图的相关术语 110

9.2 图的表示 112

9.2.1 邻接矩阵 112

9.2.2 邻接表 113

9.2.3 关联矩阵 114

9.3 创建图类 114

9.4 图的遍历 116

9.4.1 广度优先搜索 117

9.4.2 深度优先搜索 122

9.5 小结 128

第10 章 排序和搜索算法 129

10.1 排序算法 129

10.1.1 冒泡排序 130

10.1.2 选择排序 133

10.1.3 插入排序 134

10.1.4 归并排序 135

10.1.5 快速排序 138

10.2 搜索算法 142

10.2.1 顺序搜索 143

10.2.2 二分搜索 143

10.3 小结 145

第11 章 算法补充知识 146

11.1 递归146

11.1.1 JavaScript 调用栈大小的

限制 147

11.1.2 斐波那契数列 147

11.2 动态规划 149

11.3 贪心算法 152

11.4 大O 表示法 153

11.4.1 理解大O 表示法 153

11.4.2 时间复杂度比较 155

11.5 用算法娱乐身心 156

11.6 小结 157

附录A 时间复杂度速查表 158

致谢 160

"学习JavaScript数据结构与算法"试读
······

JavaScript是一门非常强大的编程语言。它是最流行的编程语言,也是网络应用里最卓越的语言之一。在GitHub(世界上最大的代码托管站点,https://github.com)上,托管了400 000多个JavaScript代码仓库(用JavaScript开发的项目数量也是最多的,参看http://goo.gl/ZFx6mg),并且还在逐年增长。
JavaScript不仅可用于前端开发,也适用于后端开发,Node.js就是这样一种技术。Node包(http…

  • 第一章:JavaScript简介

评论 ······

有点虎头蛇尾的感觉,前面简单的内容篇幅太长。没学过数据结构的话看一下还是很有帮助的

这本书值得打8分9分,内容浅显易懂,给算法不怎么好的前端人员一个非常不错的入门指导。读后意犹未尽,如果再深入一点相信会更好。

快速翻阅,代码没有实现,想先了解大致概念,后来再一个个案例实现。

一点点敲了代码,这本书第三版也快出来了

还要再看

我是最近接触js,发现得了解这个语言实现这些数据结构的方式才可以对这个语言有一些比较深入的感觉。这本书比较精确地满足了这个需求。

点击星号评分!

平均分 0 / 5. 投票数: 0

还没有投票!请为他投一票。

评论 抢沙发

评论前必须登录!

 

登录

找回密码

注册