本书首先介绍了JavaScript语言的基础知识以及ES6和ES7中引入的新功能,接下来讨论了数组、栈、队列、链表、集合、字典、散列表、树、图等数据结构,之后探讨了各种排序和搜索算法,包括冒泡排序、选择排序、插入排序、归并排序、快速排序、堆排序、计数排序、桶排序、基数排序、顺序搜索、二分搜索,然后介绍了动态规划和贪心算法等常用的高-级算法以及函数式编程,zui后还介绍了如何计算算法的复杂度。本书适用于前端Web开发人员,以及所有对JavaScript数据结构与算法感兴趣的读者。数据结构是计算机为了高效地利用资源而组织数据的一种方式。数据结构和算法是解决一切编程问题的基础。本书首先介绍了JavaScript语言的基础知识,接着讨论了数组、栈、队列和链表等重要的数据结构,随后分析了集合、字典和散列表的工作原理,接下来阐述了什么是树以及如何使用二叉树和二叉搜索树,然后介绍了图、DFS和BFS算法,以及各种排序(冒泡排序、选择排序、插入排序、归并排序、快速排序等)和搜索(顺序搜索、二分搜索)算法,zui后介绍了动态规划和贪心算法等高ji算法。相较上一版,这一版新增了ES6和ES7的新功能介绍,补充了ES6的当前实现。同时拓展了对树、图、排序算法、动态规划和贪心算法的讨论,增加了AVL树、Dijkstra算法、Floyd-Warshall算法、Prim算法、Kruskal算法、堆排序、分布式排序、背包问题、矩阵链相乘等内容。此外还概述了函数式编程、NP完全理论。如果你是计算机科学专业的学生,或是刚刚开启职业生涯的技术人员,想探索JavaScript的zui佳能力,这本书一定适合你。第1章JavaScript简介11.1JavaScript数据结构与算法11.2环境搭建21.2.1最简单的环境搭建21.2.2使用Web服务器(XAMPP)41.2.3使用Node.js搭建Web服务器51.3JavaScript基础61.3.1变量71.3.2操作符91.3.3真值和假值111.3.4相等操作符(==和===)121.4控制结构141.4.1条件语句141.4.2循环151.5函数161.6JavaScript面向对象编程171.7调试工具181.8ECMAScript概述191.9ECMAScript6的功能211.9.1用let替代var声明变量211.9.2常量231.9.3模板字面量231.9.4箭头函数241.9.5函数的参数默认值241.9.6声明展开和剩余参数251.9.7使用类进行面向对象编程271.10ECMAScript7的功能291.11小结30第2章数组312.1为什么用数组312.2创建和初始化数组322.3添加元素332.3.1使用push方法332.3.2插入元素到数组首位342.4删除元素342.5在任意位置添加或删除元素362.6二维和多维数组362.6.1迭代二维数组的元素372.6.2多维数组382.7JavaScript的数组方法参考392.7.1数组合并392.7.2迭代器函数402.7.3ECMAScript6和数组的新功能422.7.4排序元素462.7.5搜索482.7.6输出数组为
show more...Just click on START button on Telegram Bot