读《数据结构与算法 Javascript描述》 | 平淡无奇
“平淡无奇”,一句话总结。
当初买这本书的原因,在意的是有没有什么令人惊喜的东西,特别是针对Javascript代码的奇思妙想,所以就买下了这本书。
在买的几本书里面,最先看的也是这一本,但看起目录就觉得不大妙,翻起内容时候,才发现真不是那么的新奇的东西,甚至来说几乎不关Javascript的事。
我知道作者讲的是数据结构思想的东西,但是真跟Javascript没关系。作者几乎是把C语言算法的那一套搬到Javascript,看得我直满满都是C语言的影子。我不是排斥Javascript来讲算法的东西,只是觉得Javascript是个灵活的语言,特意将它弄对面向对象那一套是否有必要,队列、堆栈、二叉树等,太特意了(Javascript的面向对象都是模拟出来的)。
里面有点可取的地方,是寻路算法、快速排序等一些算法,用Javascript还是有那么点意思。但还是说句,Javascript是个客户端语言,它是在客户端的语言,它不是那么需要复杂度低的算法,像排序,前端谁会去特意用快递排序,都是一个sort方法解决(也就是冒泡排序),服务端语言才是注重算法地方,或者说才是需要花力气去弄算法地方。
总的来说,这本书不推荐读。
而说些题外话,Javascript是个容易被滥用的语言,而对于使用它能力的人,我划分为5种人(^_^)。
第一种:我就用一下
这种人来说,能写一段,不能写的copy一段也凑合能用,搞搞表单验证、弄弄个小动画,就心满意足。
第二种:我大多能写
这种人已经脱离菜鸟,大多东西能写,但很明显的是东一段西一段,写到最后自己都不想再看,能完成功能,但代码惨不忍睹。
第三种:写得算漂亮
这种人已经开始思考代码结构的事,怎么让代码更规范、看起来更合理,会分模块,统筹自己前端代码,但会总觉得代码不够完美。
第四种:我是创造者
这种人是创造者,提供东西给前三种人使用。
第五种:GOD
Yes , he is a God。
读《数据结构与算法 Javascript描述》 | 平淡无奇的更多相关文章
- 《数据结构与算法JavaScript描述》
<数据结构与算法JavaScript描述> 基本信息 作者: (美)Michael McMillan 译者: 王群锋 杜欢 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:9 ...
- 翻阅《数据结构与算法javascript描述》--数组篇
导读: 这篇文章比较长,介绍了数组常见的操作方法以及一些注意事项,最后还有几道经典的练习题(面试题). 数组的定义: JavaScript 中的数组是一种特殊的对象,用来表示偏移量的索引是该对象的属性 ...
- 数据结构与算法javascript描述
<数据结构与算法javascript描述>--数组篇 导读: 这篇文章比较长,介绍了数组常见的操作方法以及一些注意事项,最后还有几道经典的练习题(面试题). 数组的定义: JavaScri ...
- 列表的实现-----数据结构与算法JavaScript描述 第三章
实现一个列表 script var booklist = new List(); booklist.append('jsbook'); booklist.append('cssbook'); book ...
- 《数据结构与算法JavaScript描述》中的一处错误
最近在看<数据结构与算法JavaScript描述>这本书,看到选择排序这部分时,发现一个比较大的错误. 原书的选择排序算法是这样的: function selectionSort() { ...
- 数据结构与算法 Javascript描述
数据结构与算法系列主要记录<数据结构与算法 Javascript描述>学习心得
- 读后感:数据结构与算法JavaScript描述
本书看完,对常见的数据结构与算法从概念上有了更深入的理解. 书中关于数组.栈和队列.链表.字典.散列.集合.二叉树.图.排序.检索.动态规划.贪心算法都有详细的介绍.算是一本不错的学习书籍. 栈和队列 ...
- 数据结构与算法JavaScript描述——使用队列
1.使用队列:方块舞的舞伴分配问题 前面我们提到过,经常用队列模拟排队的人.下面我们使用队列来模拟跳方块舞的人.当 男男女女来到舞池,他们按照自己的性别排成两队.当舞池中有地方空出来时,选两个队 列中 ...
- 数据结构与算法JavaScript描述——链表
1.数组的缺点 数组不总是组织数据的最佳数据结构,原因如下. 在很多编程语言中,数组的长度是固定的,所以当数组已被数据填满时,再要加入新的元素就会非常困难. 在数组中,添加和删除元素也很麻烦,因为需要 ...
随机推荐
- poj 1386 Play on Words(有向图欧拉回路)
/* 题意:单词拼接,前一个单词的末尾字母和后一个单词的开头字母相同 思路:将一个单词的开头和末尾单词分别做两个点并建一条有向边!然后判断是否存在欧拉回路或者欧拉路 再次强调有向图欧拉路或欧拉回路的判 ...
- 使用ExifInterface设置Datetime发生的问题
最近在弄一个Android小程序,需要把图像的生成时间设置到Exif的Datetime,用ExifInterface.setAttribute(ExifInterface.TAG_DATETIME,& ...
- 使用SQL Server作业设置定时任务
1.开启SQL Server Agent服务 使用作业需要SQL Agent服务的支持,并且需要设置为自动启动,否则你的作业不会被执行. 以下步骤开启服务:开始-->>>运行--&g ...
- c#params ref out
params params 关键字可以指定在参数数目可变处采用参数的方法参数. 在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字. 示例: ...
- Concise - 面向对象的,一致的前端开发框架
在当今世界,有许多前端开发的框架.那么,为什么还要再造一个框架呢?Concise 建立的目的是使你有很多的开箱即用的选项,让你能够方便的搭建移动友好的网站和 Web 应用程序.另外还包括一个简单的网格 ...
- [AngularJS] AngularJS系列(2) 中级篇之路由
目录 原理 angular-route ui-router 事件 深度路由 原理 ng的route本质是监听hashchange事件. 在angular-route中 $rootScope.$on(' ...
- Javascript对象创建
一.概述 虽然对象字面量可以用来创建对象,但在创建多个类似的对象时,不够优雅,不符合DRY原则. 二.创建对象 有以下几种模式: 1.工厂模式 2.构造函数模式 3.原型模式 4.组合构造函数和原型模 ...
- C语言学习001:让程序跑起来
编译工具下载 MinGW - Minimalist GNU for Windows 编译运行 #include <stdio.h> int main(){ puts("C roc ...
- Css Ajax Entlib aspnetpager
---样式引导----- http://bootswatch.com/ -------ajaxToolKit----------- www.asp.net/ajax--------微软企业库----- ...
- Zookeeper安装,Zookeeper单机模式安装
http://zookeeper.apache.org/releases.html#download 下载解压到(我自己的)解压到 /usr/local 下 把名字改成 zookeeper 进入zoo ...