編程原本

[美] 亞歷山大·斯特潘諾夫(Alexander Stepanov),[美]保羅·麥克瓊斯(Paul McJones)

  • 出版商: 人民郵電
  • 出版日期: 2021-08-01
  • 定價: $474
  • 售價: 8.5$403
  • 語言: 簡體中文
  • 頁數: 298
  • ISBN: 7115493510
  • ISBN-13: 9787115493514
  • 立即出貨 (庫存=1)

  • 編程原本-preview-1
  • 編程原本-preview-2
編程原本-preview-1

商品描述

本書將嚴格的數學定義、公理化和演繹方法應用於程序設計,討論程序與保證它們正確工作的抽象數學理論之間的聯系。本書把理論的規程、基於這些規程寫出的算法,以及描述算法性質的引理和定理一起呈現給讀者,以幫助讀者將復雜系統分解為一些具有特定行為的組件。

本書適合軟件開發人員和需要進行程序設計的科學家及工程師閱讀,也可供高等院校電腦及相關專業的師生參考。

作者簡介

Alexander Stepanov 于1967 到1972 年间在国立莫斯科大学学习数学,从1972 年开始在苏联从事程序设计工作,1977 年移民美国后继续在这一领域工作。他编写过操作系统、程序设计工具、编译器和各种程序库。他在程序设计基础方面的工作先后得到GE、Brooklyn Polytechnic、AT&T、HP、SGI和Adobe 的支持。他在1995 年因C++ 标准模板库的设计获Dr. Dobb'sJournal 的程序设计杰出贡献奖。

Paul McJones 于1967 到1971 年间在加州大学伯克利分校学习工程数学,1967 年进入程序设计领域。他涉足的领域包括操作系统、程序设计环境、事务处理系统,以及企业和客户应用系统等。他先后在加州大学、IBM、Xerox、Tandem、DEC 和Adobe 工作。1982 年他与合作者一起因论文“The Recovery Manager of the System R Database Manager”获得ACM 程序设计系统和语言论文奖。

目錄大綱

第 1 章基礎 1

1.1 理念範疇:實體、類別和類屬 1

1.2 值 2

1.3 對象 4

1.4 過程 6

1.5 規範類型 7

1.6 規範過程 9

1.7 概念 11

1.8 總結 16

第 2 章變換及其軌道 17

2.1 變換 17

2.2 軌道 21

2.3 碰撞點 23

2.4 軌道規模的度量 30

2.5 動作 31

2.6 總結 32

第3 章可結合運算 33

3.1 可結合性 33

3.2 計算乘冪 35

3.3 程序變換 37

3.4 處理特殊情況的過程 42

3.5 參數化算法 46

3.6 線性遞歸 47

3.7 累積過程 50

3.8 總結 51

第4 章線性序 52

4.1 關系的分類 52

4.2 全序和弱序 55

4.3 按序選取 56

4.4 自然全序 66

4.5 派生過程組 67

4.6 按序選取過程的擴展 68

4.7 總結 68

第5 章有序代數結構 69

5.1 基本代數結構 69

5.2 有序代數結構 75

5.3 求餘 76

5.4 最大公因子 81

5.5 廣義gcd 84

5.6 Stein gcd 87

5.7 商 87

5.8 負量的商和餘數 89

5.9 概念及其模型 92

5.10 電腦整數類型 94

5.11 總結 95

第6 章迭代器 96

6.1 可讀性 96

6.2 迭代器 97

6.3 範圍 99

6.4 可讀範圍 103

6.5 遞增的範圍 112

6.6 前向迭代器 115

6.7 索引迭代器 120

6.8 雙向迭代器 120

6.9 隨機訪問迭代器 122

6.10 總結 124

第7 章坐標結構 125

7.1 二叉坐標 125

7.2 雙向二叉坐標 129

7.3 坐標結構 135

7.4 同構、等價和有序 136

7.5 總結 144

第8 章後繼可變的坐標 145

8.1 鏈接迭代器 145

8.2 鏈接重整 146

8.3 鏈接重整的應用 153

8.4 鏈接的二叉坐標 157

8.5 總結 163

第9 章拷貝 164

9.1 可寫性 164

9.2 基於位置的拷貝 166

9.3 基於謂詞的拷貝 174

9.4 範圍的交換 182

9.5 總結 186

第 10 章重整 187

10.1 置換 187

10.2 重整 190

10.3 反轉算法 192

10.4 輪換算法 196

10.5 算法選擇 206

10.6 總結 210

第 11 章劃分和歸並 211

11.1 劃分 213

11.2 平衡的歸約 218

11.3 歸並 223

11.4 總結 230

第 12 章復合對象 231

12.1 簡單復合對象 231

12.2 動態序列 240

12.3 基礎類型 246

12.4 總結 249

跋 250

附錄A 數學表示 254

附錄B 程序設計語言 256

B.1 語言定義 256

B.2 宏和特徵結構 264

參考文獻 267

索引 271