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