当前位置:主页 > 计算机电子书 > javascript > JavaScript下载
学习JavaScript数据结构与算法

学习JavaScript数据结构与算法 PDF 中文高清版

  • 更新:2021-12-29
  • 大小:99 MB
  • 类别:JavaScript
  • 作者:格罗纳(Loiane、Groner)
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

内容简介

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

目录

  • 第1章JavaScript简介1
  • 1.1环境搭建1
  • 1.1.1浏览器2
  • 1.1.2使用Web服务器(XAMPP)3
  • 1.1.3使用Node.js搭建Web服务器4
  • 1.2JavaScript基础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.5JavaScript的数组方法参考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.1has(value)方法66
  • 6.1.2add方法66
  • 6.1.3remove和clear方法67
  • 6.1.4size方法68
  • 6.1.5values方法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.1JavaScript调用栈大小的
  • 限制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

资源下载

资源下载地址1:https://pan.baidu.com/s/1DYC_zYOrqbQmzP78wwM5Mg

相关资源

网友留言

网友NO.40094
连暄妍

简单来说,正如书名所说,它是目前用JavaScript语言解释最基本的数据结构和算法的最好的书。数组、链表、栈、字典、散列、树、等等,我有我需要的一切。此外,还逐一实现了代码,并说明了思路、代码结构非常清晰。

网友NO.44904
潘天元

这本书很薄(160页不到),从图书馆借来三四天,断断续续翻着读完。非常不错的一本数据结构与算法的入门书籍。不论是哪种开发方向,对想学习数据结构与算法的人来说都是个不错的选择,尤其是本身数据结构与算法功底偏弱的前端开发人员(这点上你大可不必认可,起码我是这样的)。

本书从从介绍JavaScript语言(有点鸡肋)入手,然后分别介绍了数组、栈、队列、链表等顺序结构,然后依次介绍了集合、字典和散列表、树和图等非顺序结构,最后介绍了下排序和搜索算法。本书的结尾提了一点关于动态规划和贪心算法、算法复杂度相关的知识,算是一个指引。

全书介绍的比较基础,也比较详细,个人认为西方的作者都比较负责,写书也是娓娓道来,引人入境(当然也不全是所有的作者都这样)。

网友NO.35628
康建柏

讲了基础的数据结构,适合数据结构和算法小白看看。存在一些错误,还是建议边看边敲,对照着《算法导论》和Sedgewick 的《算法》看