注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計程序設(shè)計綜合算法心得:高效算法的奧秘(原書第2版)

算法心得:高效算法的奧秘(原書第2版)

算法心得:高效算法的奧秘(原書第2版)

定 價:¥89.00

作 者: (美)Henry S. Warren Jr. 著,愛飛翔 譯
出版社: 機械工業(yè)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787111453567 出版時間: 2014-03-01 包裝: 平裝
開本: 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  在本書中,作者給我們帶來了一大批極為誘人的知識,其中包括各種節(jié)省程序運行時間的技巧、算法與竅門。學(xué)習(xí)了這些技術(shù),程序員就可寫出優(yōu)雅高效的軟件,同時還能洞悉其中原理。這些技術(shù)極為實用,而且其問題本身又非常有趣,有時甚至像猜謎解謎一般,需要奇思妙想才行。簡而言之,軟件開發(fā)者看到這些改進程序效率的妙計之后,定然大喜?!”緯^第1版增補了大量內(nèi)容 新增了循環(huán)冗余校驗(CRC)一章,其中講解了常用的CRC-32校驗碼新增了糾錯碼(ECC)一章,其中講解了漢明碼詳解了除數(shù)為常數(shù)的整數(shù)除法,增補了僅含移位操作和加法操作的算法不計算商而直接求余數(shù)擴充了與種群計數(shù)和前導(dǎo)0計數(shù)有關(guān)的知識數(shù)組種群計數(shù)執(zhí)行壓縮與擴展操作的新算法LRU算法浮點數(shù)與整數(shù)互化估算浮點數(shù)的平方根倒數(shù)一系列離散函數(shù)圖像各章均配有習(xí)題與參考答案

作者簡介

  作者簡介: Henry S. Warren, Jr.,計算機科學(xué)家,在IBM供職50余年,經(jīng)歷了IBM704時代、PowerPC時代及其后種種更迭。曾參與多個軍事指揮與控制系統(tǒng)工程,并且參加了由Jack Schwarz領(lǐng)銜的“SET語言”項目。自1973年起,Henry就職于IBM研發(fā)部,努力探索編譯器和計算機架構(gòu)。當(dāng)前正研究一種旨在每秒執(zhí)行百億億次運算的超級計算機。他擁有紐約大學(xué)柯朗數(shù)學(xué)科學(xué)研究所計算機科學(xué)博士學(xué)位。譯者簡介: 愛飛翔,資深軟件開發(fā)工程師,擅長Web開發(fā)、移動開發(fā)和游戲開發(fā),有10余年開發(fā)經(jīng)驗,曾主導(dǎo)和參與了多個手機游戲和手機軟件項目的開發(fā),經(jīng)驗十分豐富。業(yè)余愛好文學(xué)和歷史,有一定的文學(xué)造詣。翻譯并出版了多本計算機著作,如《NoSQL精粹》、《Effective Objective-C 2.0:編寫高質(zhì)量iOS與OS X代碼的52個有效方法》、《測試驅(qū)動的iOS開發(fā)》和《JavaScript應(yīng)用開發(fā)實踐指南》等。

圖書目錄

譯者序 序(第1版序) 前言 第1章概述 1.1記法 1.2指令集與執(zhí)行時間模型 1.3習(xí)題 第2章基礎(chǔ)知識 2.1操作最右邊的位元 2.1.1德摩根定律的推論 2.1.2從右至左的可計算性測試 2.1.3位操作的新式用法 2.2結(jié)合邏輯操作的加減運算 2.3邏輯與算術(shù)表達式中的不等式 2.4絕對值函數(shù) 2.5兩數(shù)平均值 2.6符號擴展 2.7用無符號右移模擬帶符號右移操作 2.8符號函數(shù) 2.9三值比較函數(shù) 2.10符號傳遞函數(shù) 2.11將值為0的位段解碼為2的n次方 2.12比較謂詞 2.12.1利用進位標(biāo)志求比較謂詞 2.12.2計算機如何設(shè)置比較謂詞 2.13溢出檢測 2.13.1帶符號的加減法 2.13.2計算機執(zhí)行帶符號數(shù)的加減法時如何設(shè)置溢出標(biāo)志 2.13.3無符號數(shù)的加減法 2.13.4乘法 2.13.5除法 2.14加法、減法與乘法的特征碼 2.15循環(huán)移位 2.16雙字長加減法 2.17雙字長移位 2.18多字節(jié)加減法與求絕對值 2.19doz、max、min函數(shù) 2.20互換寄存器中的值 2.20.1交換寄存器中相應(yīng)的位段 2.20.2交換同一寄存器內(nèi)的兩個位段 2.20.3有條件的交換 2.21在兩個或兩個以上的值之間切換 2.22布爾函數(shù)分解公式 2.23實現(xiàn)16種二元布爾操作 2.24習(xí)題 第3章2的冪邊界 3.1將數(shù)值上調(diào)/下調(diào)為2的已知次冪的倍數(shù) 3.2調(diào)整到上一個/下一個2的冪 3.2.1向下舍入 3.2.2向上舍入 3.3判斷取值范圍是否跨越了2的冪邊界 3.4習(xí)題 第4章算術(shù)邊界 4.1檢測整數(shù)邊界 4.2通過加減法傳播邊界 4.3通過邏輯操作傳播邊界 4.4習(xí)題 第5章位計數(shù) 5.1統(tǒng)計值為“1”的位元數(shù) 5.1.1兩個字組種群計數(shù)的和與差 5.1.2比較兩個字組的種群計數(shù) 5.1.3統(tǒng)計數(shù)組中值為“1”的位元數(shù) 5.1.4應(yīng)用 5.2奇偶性 5.2.1計算字組的奇偶性 5.2.2將表示奇偶性的位元添加到7位量中 5.2.3應(yīng)用 5.3前導(dǎo)0計數(shù) 5.3.1浮點數(shù)算法 5.3.2比較兩個字組前導(dǎo)0的個數(shù) 5.3.3與對數(shù)函數(shù)的關(guān)系 5.3.4應(yīng)用 5.4后綴0計數(shù) 5.5習(xí)題 第6章在字組中搜索位串 6.1尋找首個值為0的字節(jié) 6.1.10值字節(jié)位置函數(shù)的 一些簡單推廣 6.1.2搜索給定范圍內(nèi)的值 6.2尋找首個給定長度的全1位串 6.3尋找最長全1位串 6.4尋找最短全1位串 6.5習(xí)題 第7章重排位元與字節(jié) 7.1反轉(zhuǎn)位元與字節(jié) 7.1.1位元反轉(zhuǎn)算法的推廣 7.1.2奇特的位元反轉(zhuǎn)算法 7.1.3遞增反轉(zhuǎn)后的整數(shù) 7.2亂序排列位元 7.3轉(zhuǎn)置位矩陣 7.4壓縮算法(廣義提取算法) 7.4.1用“插入”、“提取”指令實現(xiàn)壓縮操作 7.4.2向左壓縮 7.5展開算法(廣義插入算法) 7.6壓縮與展開操作的硬件算法 7.6.1壓縮 7.6.2展開 7.7通用置換算法及分羊操作 7.8重排與下標(biāo)變換 7.9LRU算法 7.10習(xí)題 第8章乘法 8.1多字乘法 8.264位積的高權(quán)重部分 8.3無符號與帶符號的高權(quán)重積互化 8.4與常數(shù)相乘 8.5習(xí)題 第9章整數(shù)除法 9.1預(yù)備知識 9.2多字除法 9.3用帶符號除法計算無符號短除法 9.3.1用帶符號長除法計算無符號短除法 9.3.2用帶符號短除法計算無符號短除法 9.4無符號長除法 9.4.1用硬件實現(xiàn)移位并相減算法 9.4.2用短除法實現(xiàn)無符號長除法 9.5用長除法實現(xiàn)雙字除法 9.5.1無符號雙字除法 9.5.2帶符號雙字除法 9.6習(xí)題 第10章除數(shù)為常量的整數(shù)除法 10.1除數(shù)為2的已知次冪的帶符號除法 10.2求與2的已知次冪相除的帶符號余數(shù) 10.3在除數(shù)不是2的冪時求帶符號除法及余數(shù) 10.3.1除以3 10.3.2除以5 10.3.3除以7 10.4除數(shù)大于等于2的帶符號除法 10.4.1算法 10.4.2算法可行性證明 10.4.3證明乘積正確 10.5除數(shù)小于等于-2的帶符號除法 10.6將除法算法集成至編譯器中 10.7其他主題 10.7.1唯一性 10.7.2可生成最佳程序代碼的除數(shù) 10.8無符號除法 10.8.1除數(shù)為3的無符號除法 10.8.2除數(shù)為7的無符號除法 10.9除數(shù)大于等于1的無符號除法 10.9.1無符號版算法 10.9.2算法可行性證明 10.9.3證明無符號版算法的乘積正確 10.10將無符號除法算法集成至編譯器中 10.11與無符號除法相關(guān)的其他話題 10.11.1可生成最佳無符號除法代碼的除數(shù) 10.11.2帶符號乘法與無符號乘法互化 10.11.3更簡單的無符號除法生成算法 10.12余數(shù)非負(fù)式除法與向下取整式除法的適用性 10.13類似算法 10.14神奇數(shù)字示例 10.15用Python語言編寫的簡單代碼 10.16除數(shù)為常量的精確除法 10.16.1用歐幾里得算法計算乘法逆元素 10.16.2用牛頓法計算乘法逆元素 10.16.3乘法逆元素示例 10.17檢測除以常數(shù)后是否余0 10.17.1無符號除法 10.17.2除數(shù)大于等于2的帶符號除法 10.18不使用Multiply High指令的除法算法 10.18.1無符號除法 10.18.2帶符號除法 10.19合計各數(shù)位求余數(shù) 10.19.1求無符號除法的余數(shù) 10.19.2求帶符號除法的余數(shù) 10.20用乘法及右移位求余數(shù) 10.20.1求無符號除法的余數(shù) 10.20.2求帶符號除法的余數(shù) 10.21將普通除法化為精確除法 10.22計時測試 10.23用電路計算除數(shù)為3的除法 10.24習(xí)題 第11章初等函數(shù) 11.1整數(shù)平方根 11.1.1用牛頓法開平方 11.1.2二分查找 11.1.3硬件算法 11.2整數(shù)立方根 11.3求整數(shù)冪 11.3.1用n的二進制分解式計算xn 11.3.2用Fortran語言計算2n 11.4整數(shù)對數(shù) 11.4.1以2為底的整數(shù)對數(shù) 11.4.2以10為底的整數(shù)對數(shù) 11.5習(xí)題 第12章以特殊值為底的數(shù)制 12.1以-2為底的數(shù)制 12.2以-1+i為底的數(shù)制 12.3以其他數(shù)為底的數(shù)制 12.4最高效的底是什么 12.5習(xí)題 第13章格雷碼 13.1簡介 13.2遞增格雷碼整數(shù) 13.3負(fù)二進制格雷碼 13.4格雷碼簡史及應(yīng)用 13.5習(xí)題 第14章循環(huán)冗余校驗 14.1簡介 14.2理論 14.3實現(xiàn) 14.3.1硬件實現(xiàn) 14.3.2軟件實現(xiàn) 14.4習(xí)題 第15章糾錯碼 15.1簡介 15.2漢明碼 15.2.1SEC?DED碼 15.2.2校驗位個數(shù)的最小值 15.2.3小結(jié) 15.3適用于32位信息的軟件SEC?DED算法 15.4廣義錯誤修正 15.4.1漢明距離 15.4.2編碼論的主要問題 15.4.3n維球面 15.5習(xí)題 第16章希爾伯特曲線 16.1生成希爾伯特曲線的遞歸算法 16.2根據(jù)希爾伯特曲線上從起點到某點的途經(jīng)距離求其坐標(biāo) 16.3根據(jù)希爾伯特曲線上的坐標(biāo)求從起點到某點的途經(jīng)距離 16.4遞增希爾伯特曲線上點的坐標(biāo) 16.5非遞歸的曲線生成算法 16.6其他空間填充曲線 16.7應(yīng)用 16.8習(xí)題 第17章浮點數(shù) 17.1IEEE格式 17.2整數(shù)與浮點數(shù)互化 17.3使用整數(shù)操作比較浮點數(shù)大小 17.4估算平方根倒數(shù) 17.5前導(dǎo)數(shù)位的分布 17.6雜項數(shù)值表 17.7習(xí)題 第18章素數(shù)公式 18.1簡介 18.2Willans公式 18.2.1Willans第二公式 18.2.2Willans第三公式 18.2.3Willans第四公式 18.3Wormell公式 18.4用公式來描述其他難解的函數(shù) 18.5習(xí)題 參考答案 附錄A4位計算機算術(shù)運算表 附錄B牛頓法 附錄C各種離散函數(shù)圖像 參考文獻

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號