計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) MMIX增補(bǔ)(圖靈出品)
定 價(jià):159 元
- 作者:[美] 高德納(Donald,E.,Knuth),[德] 馬丁·魯克特(Martin Ruckert) 著,江志強(qiáng),黃志斌 譯
- 出版時(shí)間:2020/7/1
- ISBN:9787115541208
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.1
- 頁碼:307
- 紙張:
- 版次:01
- 開本:16開
《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》系列被公認(rèn)為計(jì)算機(jī)科學(xué)領(lǐng)域的權(quán)威之作,深入闡述了程序設(shè)計(jì)理論,對計(jì)算機(jī)領(lǐng)域的發(fā)展有著極為深遠(yuǎn)的影響。MMIX 是新一代的以 RISC 為基礎(chǔ)的計(jì)算機(jī),比其前身 MIX 更加精簡。本書由兩本小冊子合并而成,第一部分描述了 MMIX 的內(nèi)存、寄存器、指令、加載與存儲(chǔ)等基礎(chǔ)概念,并介紹了關(guān)于 MMIX 的一些基本編程技術(shù);第二部分使用該語言重新實(shí)現(xiàn)了 TAOCP 前 3 卷中的所有算法。
1.《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》系列是公認(rèn)的計(jì)算機(jī)科學(xué)領(lǐng)域經(jīng)典之作,深入闡述了程序設(shè)計(jì)理論,對計(jì)算機(jī)領(lǐng)域的發(fā)展有著極為深遠(yuǎn)的影響。
2.本書由兩本小冊子合并而成,第一部分描述了 MMIX 的內(nèi)存、寄存器、指令、加載與存儲(chǔ)等基礎(chǔ)概念,并介紹了關(guān)于 MMIX 的一些基本編程技術(shù);第二部分使用該語言重新實(shí)現(xiàn)了 TAOCP 前 3 卷中的所有算法。
3.MMIX是《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》作者重新設(shè)計(jì)的以RISC為基礎(chǔ)的計(jì)算機(jī),替代了已出版的3卷圖書中的MIX,從卷4開始,都將使用這一新的匯編語言。為讓讀者更清晰地理解MMIX的內(nèi)存、寄存器、指令、加載與存儲(chǔ)等概念,作者在2005年就出版了MMIX語言的分冊,并在此后出版的書中用MMIX替代了MIX。
4.本套叢書前3卷出版時(shí)間早,且這套宏偉巨作還未全部完成,所以作者誠邀志同道合之士一起更新前3卷中的所有算法和程序,本書的后半部分即為維護(hù)MMIX主頁的馬丁·魯克特教授所著,使用該語言重新實(shí)現(xiàn)了TAOCP前3卷中的所有算法。
高德納(Donald E. Knuth)著名計(jì)算機(jī)科學(xué)家,算法與程序設(shè)計(jì)技術(shù)的先驅(qū)者、斯坦福大學(xué)計(jì)算機(jī)系榮休教授、計(jì)算機(jī)排版系統(tǒng)TEX和METAFONT字體系統(tǒng)的發(fā)明人,因諸多成就以及大量富于創(chuàng)造力和具有深遠(yuǎn)影響的著作(19部書,160篇論文)而譽(yù)滿全球。近些年,他將精力全部投入到《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》七卷集的史詩般創(chuàng)作中。
馬丁·魯克特(Martin Ruckert)是德國慕尼黑應(yīng)用科技大學(xué)的數(shù)學(xué)和計(jì)算機(jī)科學(xué)系教授,維護(hù)著mmix.cs.hm.edu上的 MMIX 主頁。
第 一部分 計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)——MMIX: 新千年的精簡指令集計(jì)算機(jī) 1
致中國讀者 2
前言 3
第 1章 基本概念 5
1.3' MMIX 5
1.3.1' MMIX 概述 5
1.3.2' MMIX 匯編語言 26
1.3.3' 排列的應(yīng)用 46
1.4' 若干基本程序設(shè)計(jì)技術(shù) 47
1.4.1' 子程序.47
1.4.2' 協(xié)同程序 58
1.4.3' 解釋程序 63
習(xí)題答案 81
人名索引 112
索引 113
第二部分 MMIX 增補(bǔ)——對高德納《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》卷1~3的增補(bǔ) 119
中文版前言 120
序 121
前言 122
風(fēng)格指南 124
程序設(shè)計(jì)技術(shù) 127
第 1章 基本概念 133
1.3.3 排列的應(yīng)用 133
1.4.4 輸入與輸出 139
第 2章 信息結(jié)構(gòu) 145
2.1 引論 145
2.2.2 順序分配 147
2.2.3 鏈接分配 147
2.2.4 循環(huán)鏈表 153
2.2.5 雙向鏈表 155
2.2.6 數(shù)組與正交表 163
2.3.1 遍歷二叉樹 164
2.3.2 樹的二叉樹表示. 166
2.3.3 樹的其他表示 170
2.3.5 表和垃圾回收 170
2.5 動(dòng)態(tài)存儲(chǔ)分配 171
第3章 隨機(jī)數(shù) 174
3.2.1.1 模的選擇 174
3.2.1.3 勢 175
3.2.2 其他方法 175
3.4.1 數(shù)值分布 177
3.6 小結(jié) 177
第4章 算術(shù) 178
4.1 按位計(jì)數(shù)系統(tǒng) 178
4.2.1 單精度計(jì)算 178
4.2.2 浮點(diǎn)算術(shù)的精度 182
4.2.3 雙精度計(jì)算 182
4.3.1 經(jīng)典算法 186
4.4 進(jìn)制轉(zhuǎn)換 191
4.5.2 最大公因數(shù) 193
4.5.3 對歐幾里得算法的分析 194
4.5.4 分解素因數(shù) 194
4.6.3 冪的計(jì)算 195
4.6.4 多項(xiàng)式求值 195
第5章 排序 196
5.2 內(nèi)部排序 196
5.2.1 插入排序 197
5.2.2 交換排序 202
5.2.3 選擇排序 207
5.2.4 合并排序 210
5.2.5 分布排序 213
5.3.1 比較次數(shù)最少的排序 215
5.5 小結(jié)、歷史與文獻(xiàn) 215
第6章 查找 217
6.1 順序查找 217
6.2.1 查找有序表 219
6.2.2 二叉樹查找 221
6.2.3 平衡樹 222
6.3 數(shù)字查找 225
6.4 散列 227
習(xí)題答案 235
1.3.2 MMIX 匯編語言 235
1.3.3 排列的應(yīng)用 238
1.4.4 輸入與輸出 238
2.1 引論 240
2.2.2 順序分配 241
2.2.3 鏈接分配 242
2.2.4 循環(huán)鏈表 245
2.2.5 雙向鏈表 247
2.2.6 數(shù)組與正交表 249
2.3.1 遍歷二叉樹 251
2.3.2 樹的二叉樹表示 253
2.3.5 表和垃圾回收 256
2.5 動(dòng)態(tài)存儲(chǔ)分配 257
3.2.1.1 模的選擇 264
3.2.1.3 勢 265
3.2.2 其他方法 265
3.4.1 數(shù)值分布 266
3.6 小結(jié) 266
4.1 按位計(jì)數(shù)系統(tǒng) 267
4.2.1 單精度計(jì)算 267
4.2.2 浮點(diǎn)算術(shù)的精度 269
4.2.3 雙精度計(jì)算 270
4.3.1 經(jīng)典算法 272
4.4 進(jìn)制轉(zhuǎn)換 274
4.5.2 最大公因數(shù) 276
4.5.3 對歐幾里得算法的分析 276
4.6.3 冪的計(jì)算 277
4.6.4 多項(xiàng)式求值 277
5 排序 278
5.2 內(nèi)部排序 278
5.2.1 插入排序 281
5.2.2 交換排序 284
5.2.3 選擇排序 289
5.2.4 合并排序 290
5.2.5 分布排序 294
5.3.1 比較次數(shù)最少的排序 295
5.5 小結(jié)、歷史與文獻(xiàn) 298
6.1 順序查找 298
6.2.1 查找有序表 299
6.2.2 二叉樹查找 299
6.2.3 平衡樹 300
6.3 數(shù)字查找 300
6.4 散列 300
致謝 302
人名索引 303
索引 304