译者序
写代码总会遇到难题,时而苦于乘法操作频繁溢出,时而苦于开方算法太过笨拙,于是,程序员之间口耳相传的那些代码秘籍,这些时候就该大显身手了。有些小程序,仅两三行代码即能解决平常数十行代码方能实现的功能;还有些小程序,只用0x24924925这般神奇的数字,即能成倍提升运算速度。读者若对此感兴趣,则本书定能令你开怀畅读。
作者从事计算机研发工作数十年,他将期间所得之大量技巧融于书中。本书不但讲授算法技巧,而且还会剖析背后的数学原理,令你在学会某个奇妙算法后,可举一反三,推出很多类似技巧,以运用于不同场合。
在研究这些**而优雅的算法时,作者还会如数家珍地列出许多变体,并旁征博引地讲述可以解决同一问题的其他思路,铺陈完毕后,更会将各自优劣娓娓道来。实际应用中,经常需要权衡各算法之轻重,嵌入式开发、硬件编程、图形渲染、游戏智能等领域尤其如此,若是平素能像作者这样勤于总结、善于对比,那么在需要用到相关技巧时必能信手拈来,左右逢源。
从培养兴趣、锻炼思维、付诸实践三个角度观之,本书皆为精彩而思辨的智慧书。既可静心品读代码之诗意,又能细致体味数学之美感,何其乐哉!
作者乃业界翘楚,学识渊博而思维开阔,文中部分词句与日常用语及数学、计算机等领域一般用法不甚相同,故译文或加注释或添引号,以强调其特殊含义。
翻译过程中,得到机械工业出版社华章公司诸君勉励,于此深表谢意。
本书主要由爱飞翔翻译,舒亚林、张军、王鹏亦参与部分翻译工作。小弟乐意与各位朋友通过个人网站(www.agilemobidev.com)及电子邮件(eastarstormlee@gmail?com)探讨算法问题。由于时间仓促,水平有限,错误与疏漏在所难免,敬请读者不吝赐教。
爱飞翔
2014年2月