万本电子书0元读

万本电子书0元读

顶部广告

学习JavaScript数据结构与算法(第3版)电子书

数据结构是计算机为了高效地利用资源而组织数据的一种方式。数据结构与算法是解决一切编程问题的基础。本书用JavaScript语言介绍了各种数据结构与算法,通俗易懂、循序渐,有助于计算机科学专业的学生和刚刚启职业生涯的技术人员探索JavaScript。 相较于上一版,这一版新增了“ECMAScript和TypeScript概述”“递归”“二叉堆和堆排序”和“算法设计与技巧”四章,介绍了ECMAScript 2017的新特性和TypeScript的基本功能,补充了双端队列、黑红树、堆排序算法,以及计数排序和基数排序等内容,另外还概述了Fisher-Yates随机算法和回溯算法(迷宫老鼠问题和数独解题器),等等。

售       价:¥

纸质售价:¥54.50购买纸书

178人正在读 | 0人评论 7.1

作       者:(巴西)洛伊安妮·格罗纳(Loiane Groner)

出  版  社:人民邮电出版社有限公司

出版时间:2019-05-01

字       数:22.8万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:此类商品不支持退换货,不支持下载打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书首先介绍了JavaScript语言的基础知识(包括ECMAScript和TypeScript),其次讨论了数组、栈、队列、双端队列和表等重要的数据结构,随后分析了集合、字典和散列表的工作原理,下来阐述了递归的原理、什么是树以及二叉堆和堆排序,然后介绍了图、DFS和BFS算法、各种排序(冒泡排序、选择排序、插排序、归并排序、快速排序、计数排序、桶排序和基数排序)和搜索(顺序搜索、二分搜索和内插搜索)算法以及随机算法,着介绍了分而治之、动态规划、贪心算法和回溯算法等高级算法以及函数式编程,*后还介绍了如何计算算法的复杂度。 本书首先介绍了JavaScript语言的基础知识(包括ECMAScript和TypeScript),其次讨论了数组、栈、队列、双端队列和表等重要的数据结构,随后分析了集合、字典和散列表的工作原理,下来阐述了递归的原理、什么是树以及二叉堆和堆排序,然后介绍了图、DFS和BFS算法、各种排序(冒泡排序、选择排序、插排序、归并排序、快速排序、计数排序、桶排序和基数排序)和搜索(顺序搜索、二分搜索和内插搜索)算法以及随机算法,着介绍了分而治之、动态规划、贪心算法和回溯算法等高级算法以及函数式编程,*后还介绍了如何计算算法的复杂度。
【推荐语】
数据结构是计算机为了高效地利用资源而组织数据的一种方式。数据结构与算法是解决一切编程问题的基础。本书用JavaScript语言介绍了各种数据结构与算法,通俗易懂、循序渐,有助于计算机科学专业的学生和刚刚启职业生涯的技术人员探索JavaScript。 相较于上一版,这一版新增了“ECMAScript和TypeScript概述”“递归”“二叉堆和堆排序”和“算法设计与技巧”四章,介绍了ECMAScript 2017的新特性和TypeScript的基本功能,补充了双端队列、黑红树、堆排序算法,以及计数排序和基数排序等内容,另外还概述了Fisher-Yates随机算法和回溯算法(迷宫老鼠问题和数独解题器),等等。 - 在数组、栈和队列中声明、初始化、添加和删除元素 - 创建并使用表、双向表和循环表 - 用散列表、字典和集合存储的元素 - 探索二叉树和二叉搜索树的用法 - 使用冒泡排序、选择排序、插排序、归并排序和快速排序等算法排序数据结构 - 使用顺序搜索和二分搜索等算法搜索数据结构中的元素
【作者】
洛伊安妮·格罗纳(Loiane Groner) 花旗银行软件发经理,负责海外项目的发和团队管理;原IBM公司系统分析师及团队负责人;巴西坎皮纳斯Java用户组(CampinasJUG)协调人;Sencha和Java技术推广者,通过博客为软件发社区撰稿,发表关于IT职业发展和常用发技术的文章和视频,并经常受邀在各大技术会议上做报告。另著有《精通Ext JS》等书。
目录展开

版权声明

前言

第 1 章 JavaScript简介

1.1 JavaScript数据结构与算法

1.2 环境搭建

1.3 JavaScript基础

1.4 控制结构

1.5 函数

1.6 JavaScript面向对象编程

1.7 调试工具

1.8 小结

第 2 章 ECMAScript和TypeScript概述

2.1 ECMAScript还是JavaScript

2.2 ECMAScript 2015+的功能

2.3 介绍TypeScript

2.4 小结

第 3 章 数组

3.1 为什么用数组

3.2 创建和初始化数组

3.3 添加元素

3.4 删除元素

3.5 在任意位置添加或删除元素

3.6 二维和多维数组

3.7 JavaScript的数组方法参考

3.8 类型数组

3.9 TypeScript中的数组

3.10 小结

第 4 章 栈

4.1 创建一个JavaScript数据结构和算法库

4.2 栈数据结构

4.3 创建一个基于JavaScript对象的Stack类

4.4 保护数据结构内部元素

4.5 用栈解决问题

4.6 小结

第 5 章 队列和双端队列

5.1 队列数据结构

5.2 双端队列数据结构

5.3 使用队列和双端队列来解决问题

5.4 小结

第 6 章 链表

6.1 链表数据结构

6.2 双向链表

6.3 循环链表

6.4 有序链表

6.5 创建StackLinkedList类

6.6 小结

第 7 章 集合

7.1 构建数据集合

7.2 创建集合类

7.3 集合运算

7.4 ECMAScript 2015——Set类

7.5 多重集或袋

7.6 小结

第 8 章 字典和散列表

8.1 字典

8.2 散列表

8.3 ES2015 Map类

8.4 ES2105 WeakMap类和WeakSet类

8.5 小结

第 9 章 递归

9.1 理解递归

9.2 计算一个数的阶乘

9.3 斐波那契数列

9.4 为什么要用递归?它更快吗

9.5 小结

第 10 章 树

10.1 树数据结构

10.2 树的相关术语

10.3 二叉树和二叉搜索树

10.4 树的遍历

10.5 搜索树中的值

10.6 自平衡树

10.7 小结

第 11 章 二叉堆和堆排序

11.1 二叉堆数据结构

11.2 堆排序算法

11.3 小结

第 12 章 图

12.1 图的相关术语

12.2 图的表示

12.3 创建Graph类

12.4 图的遍历

12.5 最短路径算法

12.6 最小生成树

12.7 小结

第 13 章 排序和搜索算法

13.1 排序算法

13.2 搜索算法

13.3 随机算法

13.4 小结

第 14 章 算法设计与技巧

14.1 分而治之

14.2 动态规划

14.3 贪心算法

14.4 回溯算法

14.5 函数式编程简介

14.6 小结

第 15 章 算法复杂度

15.1 大表示法

15.2 用算法娱乐身心

15.3 小结

看完了

累计评论(0条) 2个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部