電腦程序設計藝術 MMIX 增補 The Art of Computer Programming: MMIX

[美]高德納(Donald E. Knuth),[德]馬丁·魯克特(Martin Ruckert)

  • 電腦程序設計藝術 MMIX 增補-preview-1
  • 電腦程序設計藝術 MMIX 增補-preview-2
電腦程序設計藝術 MMIX 增補-preview-1

買這商品的人也買了...

商品描述

《電腦程序設計藝術》系列被公認為電腦科學領域的權威之作,深入闡述了程序設計理論,對電腦領域的發展有著極為深遠的影響。MMIX 是新一代的以 RISC 為基礎的電腦,比其前身 MIX 更加精簡。本書由兩本小冊子合並而成,第一部分描述了 MMIX 的內存、寄存器、指令、加載與存儲等基礎概念,並介紹了關於 MMIX 的一些基本編程技術;第二部分使用該語言重新實現了 TAOCP 前 3 捲中的所有算法。

作者簡介

高德纳(Donald E. Knuth)著名计算机科学家,算法与程序设计技术的先驱者、斯坦福大学计算机系荣休教授、计算机排版系统TEX和METAFONT字体系统的发明人,因诸多成就以及大量富于创造力和具有深远影响的著作(19部书,160篇论文)而誉满全球。近些年,他将精力全部投入到《计算机程序设计艺术》七卷集的史诗般创作中。

马丁·鲁克特(Martin Ruckert)是德国慕尼黑应用科技大学的数学和计算机科学系教授,维护着mmix.cs.hm.edu上的 MMIX 主页。

目錄大綱

第 一部分 電腦程序設計藝術——MMIX: 新千年的精簡指令集電腦 1

致中國讀者 2

前言 3

第 1章 基本概念 5

1.3' MMIX 5

1.3.1' MMIX 概述 5

1.3.2' MMIX 匯編語言 26

1.3.3' 排列的應用 46

1.4' 若乾基本程序設計技術 47

1.4.1' 子程序.47

1.4.2' 協同程序 58

1.4.3' 解釋程序 63

習題答案 81

人名索引 112

索引 113

第二部分 MMIX 增補——對高德納《電腦程序設計藝術》捲1~3的增補 119

中文版前言 120

序 121

前言 122

風格指南 124

程序設計技術 127

第 1章 基本概念 133

1.3.3 排列的應用 133

1.4.4 輸入與輸出 139

第 2章 信息結構 145

2.1 引論 145

2.2.2 順序分配 147

2.2.3 鏈接分配 147

2.2.4 循環鏈表 153

2.2.5 雙向鏈表 155

2.2.6 數組與正交表 163

2.3.1 遍歷二叉樹 164

2.3.2 樹的二叉樹表示. 166

2.3.3 樹的其他表示 170

2.3.5 表和垃圾回收 170

2.5 動態存儲分配 171

第3章 隨機數 174

3.2.1.1 模的選擇 174

3.2.1.3 勢 175

3.2.2 其他方法 175

3.4.1 數值分佈 177

3.6 小結 177

第4章 算術 178

4.1 按位計數系統 178

4.2.1 單精度計算 178

4.2.2 浮點算術的精度 182

4.2.3 雙精度計算 182

4.3.1 經典算法 186

4.4 進制轉換 191

4.5.2 最大公因數 193

4.5.3 對歐幾里得算法的分析 194

4.5.4 分解素因數 194

4.6.3 冪的計算 195

4.6.4 多項式求值 195

第5章 排序 196

5.2 內部排序 196

5.2.1 插入排序 197

5.2.2 交換排序 202

5.2.3 選擇排序 207

5.2.4 合並排序 210

5.2.5 分佈排序 213

5.3.1 比較次數最少的排序 215

5.5 小結、歷史與文獻 215

第6章 查找 217

6.1 順序查找 217

6.2.1 查找有序表 219

6.2.2 二叉樹查找 221

6.2.3 平衡樹 222

6.3 數字查找 225

6.4 散列 227

習題答案 235

1.3.2 MMIX 匯編語言 235

1.3.3 排列的應用 238

1.4.4 輸入與輸出 238

2.1 引論 240

2.2.2 順序分配 241

2.2.3 鏈接分配 242

2.2.4 循環鏈表 245

2.2.5 雙向鏈表 247

2.2.6 數組與正交表 249

2.3.1 遍歷二叉樹 251

2.3.2 樹的二叉樹表示 253

2.3.5 表和垃圾回收 256

2.5 動態存儲分配 257

3.2.1.1 模的選擇 264

3.2.1.3 勢 265

3.2.2 其他方法 265

3.4.1 數值分佈 266

3.6 小結 266

4.1 按位計數系統 267

4.2.1 單精度計算 267

4.2.2 浮點算術的精度 269

4.2.3 雙精度計算 270

4.3.1 經典算法 272

4.4 進制轉換 274

4.5.2 最大公因數 276

4.5.3 對歐幾里得算法的分析 276

4.6.3 冪的計算 277

4.6.4 多項式求值 277

5 排序 278

5.2 內部排序 278

5.2.1 插入排序 281

5.2.2 交換排序 284

5.2.3 選擇排序 289

5.2.4 合並排序 290

5.2.5 分佈排序 294

5.3.1 比較次數最少的排序 295

5.5 小結、歷史與文獻 298

6.1 順序查找 298

6.2.1 查找有序表 299

6.2.2 二叉樹查找 299

6.2.3 平衡樹 300

6.3 數字查找 300

6.4 散列 300

致謝 302

人名索引 303

索引 304