算法心得:高效算法的奧祕

寫代碼總會遇到難題,時而苦於乘法操做頻繁溢出,時而苦於開方算法太過笨拙,因而,程序員之間口耳相傳的那些代碼祕籍,這些時候就該大顯身手了。有些小程序,僅兩三行代碼即能解決日常數十行代碼方能實現的功能;還有些小程序,只用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應用開發實踐指南》等。

相關文章
相關標籤/搜索