数据结构与算法JavaScript描述PDF下载

责编:menVScode 2017-09-27 18:12 阅读(1269)

        在过去的几年中,得益于Node.js和SpiderMonkey等平台,JavaScript越来越广泛地用于服务器端编程。鉴于JavaScript语言已经走出了浏览器,程序员发现他们需要更多传统语言(比如C++和Java)提供的工具。这些工具包括传统的数据结构(如链表、栈、队列、图等),也包括传统的排序和查找算法。《数据结构与算法JavaScript描述》讨论在使用JavaScript进行服务器端编程时,如何实现这些数据结构和算法。
  JavaScript程序员会发现《数据结构与算法JavaScript描述》很有用,因为本书讨论了在JavaScript语言的限制下,如何实现数据结构和算法。这些限制包括:数组即对象、无处不在的全局变量、基于原型的对象模型等。JavaScript作为一种编程语言,名声有点“不大好”,但是本书展示了如何使用JavaScript语言中“好的一面”去实现高效的数据结构和算法,进而为JavaScript正名。
  为什么要学习数据结构和算法
  假设《数据结构与算法JavaScript描述》的读者中,有很多人没接受过正规的计算机科学教育。如果你接受过,那么你已经知道了学习数据结构和算法为何如此重要。如果你没有计算机科学学位或者没有正规学习过计算机科学,那么请耐心读完本节。
  对于那些没有在学校学习过计算机科学的程序员来说,唯一熟悉的数据结构就是数组。在处理一些问题时,数组无疑是很好的选择,但对于很多复杂的问题,数组就显得太过简陋了。大多数有经验的程序员都愿意承认这样一个事实:对于很多编程问题,当他们想出一个合适的数据结构,设计和实现解决这些问题的算法就变得手到擒来。
  二叉查找树(BST)就是一个这样的例子。设计二叉查找树的目的是为了方便查找一组数据中的最小值和最大值,由这个数据结构自然引申出一个查找算法,该算法比目前最好的查找算法效率还要高。不熟悉二叉查找树的程序员可能会使用一个更简单的数据结构,但效率上就打了个折扣。
  学习算法非常重要,因为解决同样的问题,往往可以使用多种算法。对于高效程序员来说,知道哪种算法效率最高非常重要。比如,现在至少有六七种排序算法,如果知道快速排序比选择排序效率更高,那么就会让排序过程变得高效。又比如,实现一个线性查找的算法很简单,但是如果知道有时二分查找可能比线性查找快两倍以上,那你势必会写出一个更好的程序。
  深入学习数据结构和算法,不仅可以知道哪种数据结构和算法更高效,还会知道如何找出最适合解决手头问题的数据结构和算法。写程序,尤其是用JavaScript写程序时,经常需要权衡,知道了本书涵盖的数据结构和算法的优缺点,在解决具体的编程问题时就容易做出正确的选择。
  阅读本书需要的工具
  本书使用的编程环境是基于SpiderMonkey JavaScript引擎的JavaScript shell。第1章提供了该shell的下载说明。也可以使用其他一些JavaScript Shell,比如Node.js提供的JavaScript shell,你只需自己对书中的程序做一些转换,就能在Node.js上运行。除了JavaScript shell,再有一个用于编写JavaScript程序的文本编辑器就够了。

QQ截图20170927175233

书籍目录:

        第1章 JavaScript的编程环境和模型
        第2章 数组
        第3章 列表
        第4章 栈
        第5章 队列
        第6章 链表
        第7章 字典
        第8章 散列
        第9章 集合
        第10章 二叉树和二叉查找树
        第11章 图和图算法
        第12章 排序算法
        第13章 检索算法
        第14章 高级算法

电子版仅供预览及学习交流使用,下载后请24小时内删除,支持正版。

《数据结构与算法JavaScript描述》PDF下载链接:http://pan.baidu.com/s/1pK8jQZ5 密码:oqek

标签: js 算法 数据结构
前端交流群: MVC前端网(menvscode.com)-qq交流群:551903636

邮箱快速注册

忘记密码