数据结构与算法JavaScript描述
上QQ阅读APP看书,第一时间看更新

推荐序

在前端工程师中,常常有一种声音:“我为什么要学习数据结构与算法?没有数据结构与算法,我一样很好地完成了工作?”

实际上,算法是一个十分宽泛的概念,我们写的任何程序都可称为算法,甚至往冰箱里面放一头大象,也要经过开门、放入、关门这样的规划,这也可以视为一种简单的算法。可以说,简单的算法是人类的本能。而算法知识的学习则是吸取前人的经验,对复杂的问题进行归类、抽象,帮助我们脱离刀耕火种时代,系统掌握算法的一个过程。

随着自身成长和职业发展,不论是做前端、服务端还是客户端,任何一个程序员都会开始面对更加复杂的问题,算法和数据结构知识就变得不可或缺了。

我一直认为前端工程师则是最需要重视算法和数据结构基础的人。因为历史原因,不少前端工程师是从视觉设计、网站编辑转过来的,在学校没有学过相应的基础课程,而数据结构与算法的经典名著大部分又没照顾到入门的需要,所以前端工程师如果自身不重视算法和数据结构这样的基础知识,很可能陷入数年从事单一重复劳动毫无成长这样的职业发展困境。在移动浪潮到来之后,用户体验要求越来越高,对前端提出了更高的要求,前端这个职能,必须提高自身才能继续发展,未来的网页UI,绝对不是靠几个选择器操作加超链接就能应付的。越来越复杂的产品和基础库,需要坚实的数据结构与算法基础才能驾驭。本书对前端工程师是非常好的数据结构与算法入门书,它的难度非常适合前端工程师补习基础知识。全书仅200页,对于有渴求数据结构与算法的前端工程师来说这是非常不错的开始。特别值得一提的是每章后面的小练习,题目不多但是非常有可操作性。

程劭非

阿里无线事业部高级技术专家

2014年7月