当前位置: 首页 > news >正文

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

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

 

作者从事计算机研发工作数十年,他将期间所得之大量技巧融于书中。本书不但讲授算法技巧,而且还会剖析背后的数学原理,令你在学会某个奇妙算法后,可举一反三,推出很多类似技巧,以运用于不同场合。

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

 

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

 

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

 

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

=========================================================================================

 

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

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

作者:(美)Henry S. Warren, Jr. 著 

译者:爱飞翔 译 

书号: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应用开发实践指南》等。

相关文章:

  • 设计模式之禅(第2版)
  • 大规模分布式系统架构与设计实战
  • 2018年值得关注的10种机器学习工具
  • 堕落Java vs 新贵 Python,2018 年最应该学习哪一门编程语言?
  • 为什么2018年将是混合云的元年?
  • 开源软件贡献者Top 10!第一名当之无愧!
  • TIOBE 年度榜单揭晓:C 语言夺冠,Python 紧随其后
  • 微服务高可用架构-基于支付场景的实战
  • 福利丨好书申请免费送【1.12】
  • 张小龙现场约战跳一跳,曾最高6000分!
  • 借鉴德国工业4.0推动中国制造业转型升级
  • 区块链的本质是什么?看完这篇秒懂!
  • 信号与系统课程知识的扩展
  • “抖音”式的酷炫短视频开发进阶
  • 2018 编程语言流行度趋势:Java 很稳,Python 潜力股
  • CentOS7 安装JDK
  • emacs初体验
  • Java多态
  • Lucene解析 - 基本概念
  • MobX
  • Nodejs和JavaWeb协助开发
  • Objective-C 中关联引用的概念
  • Spring声明式事务管理之一:五大属性分析
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • Web Storage相关
  • web标准化(下)
  • 百度地图API标注+时间轴组件
  • 电商搜索引擎的架构设计和性能优化
  • 离散点最小(凸)包围边界查找
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 排序算法之--选择排序
  • 深度解析利用ES6进行Promise封装总结
  • 微信公众号开发小记——5.python微信红包
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • C# - 为值类型重定义相等性
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • (30)数组元素和与数字和的绝对差
  • (C语言)二分查找 超详细
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (SpringBoot)第七章:SpringBoot日志文件
  • (蓝桥杯每日一题)love
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (三)c52学习之旅-点亮LED灯
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (算法设计与分析)第一章算法概述-习题
  • (一)Dubbo快速入门、介绍、使用
  • (转)一些感悟
  • .describe() python_Python-Win32com-Excel
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • []C/C++读取串口接收到的数据程序
  • [145] 二叉树的后序遍历 js
  • [delphi]保证程序只运行一个实例
  • [Docker]十一.Docker Swarm集群raft算法,Docker Swarm Web管理工具