算法心得:高效算法的奥秘

写代码总会遇到难题,时而苦于乘法操做频繁溢出,时而苦于开方算法太过笨拙,因而,程序员之间口耳相传的那些代码秘籍,这些时候就该大显身手了。有些小程序,仅两三行代码即能解决日常数十行代码方能实现的功能;还有些小程序,只用0x24924925这般神奇的数字,即能成倍提高运算速度。读者若对此感兴趣,则 《算法心得:高效算法的奥秘(原书第2版)》定能令你开怀畅读。

 

做者从事计算机研发工做数十年,他将期间所得之大量技巧融于书中。本书不但讲授算法技巧,并且还会剖析背后的数学原理,令你在学会某个奇妙算法后,可触类旁通,推出不少相似技巧,以运用于不一样场合。程序员

在研究这些高效而优雅的算法时,做者还会如数家珍地列出许多变体,并旁征博引地讲述能够解决同一问题的其余思路,铺陈完毕后,更会将各自优劣娓娓道来。实际应用中,常常须要权衡各算法之轻重,嵌入式开发、硬件编程、图形渲染、游戏智能等领域尤为如此,如果平素能像做者这样勤于总结、善于对比,那么在须要用到相关技巧时必能信手拈来,左右逢源。算法

 

从培养兴趣、锻炼思惟、付诸实践三个角度观之,本书皆为精彩而思辨的智慧书。既可静心品读代码之诗意,又能细致体味数学之美感,何其乐哉!编程

 

做者乃业界翘楚,学识渊博而思惟开阔,文中部分词句与平常用语及数学、计算机等领域通常用法不甚相同,故译文或加注释或添引号,以强调其特殊含义。小程序

 

——摘自《《算法心得:高效算法的奥秘(原书第2版)》》译者序数组

=========================================================================================架构

 

出版书名算法心得:高效算法的奥秘(原书第2版)函数

原文书名:Hacker's Delight (Second Edition)学习

做者:(美)Henry S. Warren, Jr. 著 测试

译者:爱飞翔 译 spa

书号:978-7-111-45356-7

订价:89.00元

 

编辑推荐

 

  • 由在IBM工做50余年的资深计算机专家撰写,Amazon全五星评价,算法领域最有影响力的著做之一
  • Google公司首席架构师、Jolt大奖得主Joshua Bloch和Emacs合做创始人、C语言畅销书做者Guy Steele倾情推荐
  • 算法的艺术和数学的智慧在本书中获得了完美体现,书中总结了大量高效、优雅和奇妙的算法,并从数学角度剖析了其背后的原理

 

读者评价

“这是第一本宣称能讲解计算机算法隐晦细节的书,并且讲得还真不错。我知道的每一条技巧书里都提到了,并且还讲了好多好多我不知道的。不管是在开发程序库或编译器,仍是在极力搜求优雅算法,此书均可谓天赐良册,应放在高德纳所著《计算机程序设计艺术》那套书旁边。本书初版刊印后的10年间,它对我在Sun和Google的工做大有裨益,而第二版所添加新内容亦令我惊羡不已。”

——Joshua Bloch

 

“初看本书书名时,我想,这是教人怎么入侵计算机系统的书吗?不太可能吧。嗯,那就确定是一本编程小技巧的集锦。看了以后发现,没错,这就是一本编程秘籍,然而倒是一本一应俱全的秘籍。第二版新增了两个大主题,并用数十个小技巧丰富了本书内容,其中有个小绝招是如何在不溢出的状况下求两数均值,我写二分查找算法时直接就把这条拿来用了。这真是本令算法爱好者开怀畅读的书啊!”

—— GuySteele

 

内容简介

在本书中,做者给咱们带来了一大批极为诱人的知识,其中包括各类节省程序运行时间的技巧、算法与窍门。学习了这些技术,程序员就可写出优雅高效的软件,同时还能洞悉其中原理。这些技术极为实用,并且其问题自己又很是有趣,有时甚至像猜谜解谜通常,须要奇思妙想才行。简而言之,软件开发者看到这些改进程序效率的妙计以后,定然大喜。

本书较第1版增补了大量内容

 

  • 新增了循环冗余校验(CRC)一章,其中讲解了经常使用的CRC-32校验码
  • 新增了纠错码(ECC)一章,其中讲解了汉明码
  • 详解了除数为常数的整数除法,增补了仅含移位操做和加法操做的算法
  • 不计算商而直接求余数
  • 扩充了与种群计数和前导0计数有关的知识
  • 数组种群计数
  • 执行压缩与扩展操做的新算法
  • LRU算法
  • 浮点数与整数互化
  • 估算浮点数的平方根倒数
  • 一系列离散函数图像
  • 各章均配有习题与参考答案

 

做者简介

HenryS. Warren, Jr.  计算机科学家,在IBM供职50余年,经历了IBM704时代、PowerPC时代及其后种种更迭。曾参与多个军事指挥与控制系统工程,而且参加了由Jack Schwarz领衔的“SET语言”项目。自1973年起,Henry就任于IBM研发部,努力探索编译器和计算机架构。当前正研究一种旨在每秒执行百亿亿次运算的超级计算机。他拥有纽约大学柯朗数学科学研究所计算机科学博士学位。

 

译者简介

爱飞翔  资深软件开发工程师,擅长Web开发、移动开发和游戏开发,有10余年开发经验,曾主导和参与了多个手机游戏和手机软件项目的开发,经验十分丰富。业余爱好文学和历史,有必定的文学造诣。翻译并出版了多本计算机著做,如《NoSQL精粹》、《Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法》、《测试驱动的iOS开发》和《JavaScript应用开发实践指南》等。