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

       数据结构是计算机为了高效地利用资源而组织数据的一种方式。数据结构和算法是解决一切编程问题的基础。 本书首先介绍了JavaScript语言的基础知识,着讨论了数组、队列、栈和表等重要的数据结构,下来深分析了散列表、字典和集合的工作原理,然后阐述了什么是树以及如何使用二叉树和二叉搜索树。之后,你还会学到图、DFS和BFS算法,学会如何区分顺序搜索、二分搜索、快速排序、冒泡排序等各种搜索和排序算法,以及如何实现它们。本书还介绍了动态规划和贪心算法等高级算法。 如果你是一名JavaScript发者或者具备JavaScript的基础知识,并且想探索它的能力,这本快节奏的书适合你。要始享受算法的乐趣,你只需要了解编程逻辑。 你将从本书中学到: 在数组、栈和队列中声明、初始化、添加和删除元素; 创建和使用复杂的数据结构——图,以及DFS和BFS算法; 表、双向表和循环表的作用; 用散列表、字典和集合存储不重复的元素; 二叉树和二叉搜索树的应用; 使用冒泡排序、选择排序、插排序、归并排序和快速排序算法,对数据结构排序; 使用顺序搜索和二分搜索,搜索数据结构中的元素; 理解大O表示法、动态规划和贪婪算法的重要性。

《学习JavaScript数据结构与算法》

前言

本书结构

准备工作

读者对象

排版约定

读者反馈

客户支持

下载示例代码

下载彩色插图

勘误表

侵权行为

问题

第1章 JavaScript简介

1.1 环境搭建

1.1.1 浏览器

1.1.2 使用Web服务器(XAMPP)

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

1.2 JavaScript基础

1.2.1 变量

1.2.2 操作符

1.2.3 真值和假值

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

1.3 控制结构

1.3.1 条件语句

1.3.2 循环

1.4 函数

1.5 面向对象编程

1.6 调试工具

1.7 小结

第2章 数组

2.1 为什么用数组

2.2 创建和初始化数组

2.3 添加和删除元素

2.4 二维和多维数组

2.5 JavaScript的数组方法参考

2.5.1 数组合并

2.5.2 迭代器函数

2.5.3 搜索和排序

2.5.4 输出数组为字符串

2.6 小结

第3章 栈

3.1 栈的创建

栈的全部代码

3.2 从十进制到二进制

3.3 小结

第4章 队列

4.1 创建队列

4.1.1 完整的Queue类

4.1.2 使用Queue类

4.2 优先队列

4.3 循环队列——击鼓传花

4.4 小结

第5章 链表

5.1 创建一个链表

5.1.1 向链表尾部追加元素

5.1.2 从链表中移除元素

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

5.1.4 实现其他方法

5.2 双向链表

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

5.2.2 从任意位置移除元素

5.3 循环链表

5.4 小结

第6章 集合

6.1 创建一个集合

6.1.1 has(value)方法

6.1.2 add方法

6.1.3 remove和clear方法

6.1.4 size方法

6.1.5 values方法

6.1.6 使用Set类

6.2 集合操作

6.2.1 并集

6.2.2 交集

6.2.3 差集

6.2.4 子集

6.3 小结

第7章 字典和散列表

7.1 字典

7.1.1 创建一个字典

7.1.2 使用Dictionary类

7.2 散列表

7.2.1 创建一个散列表

7.2.2 使用HashTable类

7.2.3 散列表和散列集合

7.2.4 处理散列表中的冲突

7.2.5 创建更好的散列函数

7.3 小结

第8章 树

8.1 树的相关术语

8.2 二叉树和二叉搜索树

8.2.1 创建BinarySearchTree类

8.2.2 向树中插入一个键

8.3 树的遍历

8.3.1 中序遍历

8.3.2 先序遍历

8.3.3 后序遍历

8.4 搜索树中的值

8.4.1 搜索最小值和最大值

8.4.2 搜索一个特定的值

8.4.3 移除一个节点

8.5 更多关于二叉树的知识

8.6 小结

第9章 图

9.1 图的相关术语

有向图和无向图

9.2 图的表示

9.2.1 邻接矩阵

9.2.2 邻接表

9.2.3 关联矩阵

9.3 创建图类

9.4 图的遍历

9.4.1 广度优先搜索

9.4.2 深度优先搜索

9.5 小结

第10章 排序和搜索算法

10.1 排序算法

10.1.1 冒泡排序

10.1.2 选择排序

10.1.3 插入排序

10.1.4 归并排序

10.1.5 快速排序

10.2 搜索算法

10.2.1 顺序搜索

10.2.2 二分搜索

10.3 小结

第11章 算法补充知识

11.1 递归

11.1.1 JavaScript调用栈大小的限制

11.1.2 斐波那契数列

11.2 动态规划

最少硬币找零问题

11.3 贪心算法

最少硬币找零问题

11.4 大O 表示法

11.4.1 理解大O 表示法

11.4.2 时间复杂度比较

11.5 用算法娱乐身心

11.6 小结

附录A 时间复杂度速查表

A.1 数据结构

A.2 图

A.3 排序算法

A.4 搜索算法

文件大小:58MB
内附PC端和移动端阅读器
学习JavaScript数据结构与算法 介绍图片
Head First HTML与CSS(第2版) WEB开发设计参考 网站制作书籍html书籍

Head First HTML与CSS(第2版) WEB开发设计参考 网站制作书籍html书籍

¥3.00
疯狂HTML5+CSS3+JavaScript  JavaScript前端开发技术教程书籍 html

疯狂HTML5+CSS3+JavaScript JavaScript前端开发技术教程书籍 html

¥3.00
JavaScript快速全栈开发 高清电子书PDF版本

JavaScript快速全栈开发 高清电子书PDF版本

¥3.00
2020年最新vue.js视频自学教程

2020年最新vue.js视频自学教程

¥18.00
疯狂Ajax讲义—Prototype+jQuery+DWR+Spring+Hibernate整合开发

疯狂Ajax讲义—Prototype+jQuery+DWR+Spring+Hibernate整合开发

¥3.00
《HTML5游戏开发》[美]JeanineMeyer著 人民邮电出版社

《HTML5游戏开发》[美]JeanineMeyer著 人民邮电出版社

¥3.00
《Bootstrap实战》经典web前端响应式开发教程

《Bootstrap实战》经典web前端响应式开发教程

¥8.00
《SQL基础教程》+《SQL进阶教程》 SQL应用技能指南 数据库工程师进阶中级教程

《SQL基础教程》+《SQL进阶教程》 SQL应用技能指南 数据库工程师进阶中级教程

¥3.00
价值5000元的抖音专业运营技术培训教程内有目录

价值5000元的抖音专业运营技术培训教程内有目录

¥8.00
经典图书《PHP经典实例》(第二版) php实例 PHP经典实例 PHP编程技巧 编程开发人员参考书籍

经典图书《PHP经典实例》(第二版) php实例 PHP经典实例 PHP编程技巧 编程开发人员参考书籍

¥3.00
洪恩从零开始学日语 最实用的日语学习软件

洪恩从零开始学日语 最实用的日语学习软件

¥8.00
《CSS高效开发实战》CSS3 LESS SASS Bootstrap Foundation 从入门到精通

《CSS高效开发实战》CSS3 LESS SASS Bootstrap Foundation 从入门到精通

¥3.00
AngularJS实战

AngularJS实战

¥3.00
《HTML5 & CSS3编程入门经典》

《HTML5 & CSS3编程入门经典》

¥3.00
精通HTML5+CSS3+JavaScript网页设计 web前端开发书籍 网页设计与制作

精通HTML5+CSS3+JavaScript网页设计 web前端开发书籍 网页设计与制作

¥3.00
高效团队开发:工具与方法

高效团队开发:工具与方法

¥3.00
软件开发课堂 JavaScript基础与案例开发详解

软件开发课堂 JavaScript基础与案例开发详解

¥3.00
¥3.00
立即下载加入收藏