public:cs:sicp

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
public:cs:sicp [2016/02/06 14:40] oakfirepublic:cs:sicp [2023/04/21 13:22] (当前版本) oakfire
行 2: 行 2:
   * SICP:Structure and Interpretation of Computer Programs   * SICP:Structure and Interpretation of Computer Programs
   * 本书使用 Lisp 方言 Scheme 来教学。ubuntu 14.04 可安装 ''scheme-r5rs''包(不知道为何没有 ''mit-scheme''包), (实际安装的包名为''scheme48''), 使用命令''scheme48''开启命令行。   * 本书使用 Lisp 方言 Scheme 来教学。ubuntu 14.04 可安装 ''scheme-r5rs''包(不知道为何没有 ''mit-scheme''包), (实际安装的包名为''scheme48''), 使用命令''scheme48''开启命令行。
 +  * JS 版本在线阅读:[[https://sourceacademy.org/sicpjs/index|SICPJS]]
 ===== 第1章 构造过程抽象 ===== ===== 第1章 构造过程抽象 =====
 ==== 1.1 程序设计的基本元素 ==== ==== 1.1 程序设计的基本元素 ====
行 56: 行 57:
  
 ===== 第2章 构造数据抽象 ===== ===== 第2章 构造数据抽象 =====
 +  * 本章节大部分内容是关于怎么抽象数学运算,详细看书。
 ==== 2.1 数据抽象导引 ==== ==== 2.1 数据抽象导引 ====
   * //序对//: <code scheme>(define x (cons 1 2))   * //序对//: <code scheme>(define x (cons 1 2))
行 70: 行 72:
   * ''cons'' 满足闭包性质;可建立起层次性的结构   * ''cons'' 满足闭包性质;可建立起层次性的结构
   * 2.2.1 //序对//可构造//序列//, scheme 为方便提供了 ''list'' 基本操作   * 2.2.1 //序对//可构造//序列//, scheme 为方便提供了 ''list'' 基本操作
-  * 表操作:''list-ref'', ''null?''+  * 表操作:''list-ref'', ''null?''; ''map'' 
 +  * 2.2.2 层次性结构: 序列表元素本身也是序列, 树 
 +  * 树的 ''map'' 
 +  * 2.2.3 模块化结构设计:序列作为程序统一的表示结构,程序的依赖性转移对序列操作的顺序组合上。 
 +  * 嵌套映射 
 +  * 分层设计 
 + 
 +==== 2.3 符号数据 ==== 
 +  * 2.3.1 引号: 一个单引号放前表示作为数据对象看待,而不作为表达式。 
 +  * 2.3.2 符号求导,代数表达式的表示 
 +  * 2.3.3 集合的表示 
 +  * 2.3.4 huffman编码树. 
 +==== 2.4 抽象数据的多重表示 ==== 
 +  * 复数的表示:实虚表示,极坐标表示 
 +  * 2.4.2 带**类型标志**的数据 
 +  * 检查一个数据的类型,然后调用某个适当过程称为**基于类型的分派** 
 +  * 数据导向的程序设计技术 
 +  * 消息传递 
 +==== 2.5 带有通用型操作的系统 ==== 
 +  * 这里思想类似面向对象程序设计,但是,书里注释说明,本书关心局部状态分析, 而不提“类”与“继承”,是因为现实问题是无法仅仅通过计算机语言设计的方式来合理处理的。 
 +  * 多项式算术
  
  
  • public/cs/sicp.1454740835.txt.gz
  • 最后更改: 2016/02/06 14:40
  • oakfire