`
tangtong
  • 浏览: 62964 次
  • 来自: ...
社区版块
存档分类
最新评论

SICP 第一章小结

阅读更多

--包括一些摘录和感言,和零碎的代码

1、要素

 

写道
Every powerful language has three mechanisms for accomplishing this:

* primitive expressions , which represent the simplest entities the language is concerned with,
* means of combination , by which compound elements are built from simpler ones, and
* means of abstraction , by which compound elements can be named and manipulated as units.

 重点在于combination和abstraction, 我觉得FP将function也作为元素,使得它可以进一步的组合,这样在抽象和结合的能力上更进了一步。

 

2、First-class elements

写道
In general, programming languages impose restrictions on the ways in which computational elements can be manipulated. Elements with the fewest restrictions are said to have first-class status. Some of the ``rights and privileges'' of first-class elements are

* They may be named by variables.
* They may be passed as arguments to procedures.
* They may be returned as the results of procedures.
* They may be included in data structures.

 FP语言中函数是作为First-class elements,相比于常用的c,c++,pascal,java...命令式语言中函数只是一种数据的结合和抽象的方式,函数在里面不能作为参数和结果,当然也不能包含在数据结构中,只是将数据结构和之上的运算用类封装在了一起。

FP的优势当然就是更强大的抽象能力,这还需要多多体会。

 

3、Substitution Model for Procedure Application
一种分析的方式

 

4、Higher-Order Procedure

除了前面提到的能力,多了一个匿名函数的概念,我主要是认为它使得函数变得更灵活,如同基本数据一样。

 

5、Recursion VS Iteration

需要体会二者的联系与转换,后者在命令式语言中一般可以用for表示。迭代不会改善时间复杂度,节约空间,相比速度会有一些提高。

 

6、算法

A. Exponentiation

O(n)

  a1. Recurse version

  a2. Iterate version

O(logn)

  b1. Recurse version

  b2. Iterate version

 

B. GCD

C. Testing for Primality
a.试除法

b.Miller-Rabin Test

分享到:
评论

相关推荐

    SICP习题解答,主要第一章的内容习题答案

    《SICP习题解答,主要第一章的内容习题答案》 SICP,全称《Structure and Interpretation of Computer Programs》(计算机程序的构造和解释),是计算机科学领域的一本经典教材,由MIT(麻省理工学院)的 Harold ...

    sicp第二章练习题的解答

    以上就是基于文件名推测的SICP第二章练习题相关知识点。这些内容深入地涵盖了函数式编程的基础和应用,对于提升编程思维和技能大有裨益。实际的学习过程中,通过阅读和理解这些代码,结合原书的理论部分,将有助于...

    SICP中文第二版

    SICP中文第二版SICP中文第二版SICP中文第二版SICP中文第二版SICP中文第二版

    sicp in python 中文 sicp 中文

    sicp in python 中文版 sicp in python 中文版 sicp in python 中文版 !!!download>>>https://github.com/wizardforcel/sicp-py-zh

    sicp 2.2.4节图形语言

    在这一章,读者会学习如何用基本的几何形状构建出复杂的图形,并理解如何通过组合和抽象来实现图形变换。这些变换包括平移、旋转、缩放等,它们都是通过定义和应用函数来实现的。这不仅揭示了函数式编程的优雅,也...

    a_book_sicp_py

    4. 使用函数构建抽象:本书第一章介绍了如何通过定义新函数来构建抽象。函数作为程序的核心构建块,允许程序员通过参数和返回值来控制数据的流程和处理过程。函数的艺术在于能够将复杂的任务分解为更小、更易于管理...

    SICP-Python版本

    SICP-Python版本

    SICP 解题集

    《SICP解题集》是一份专注于探讨和解答《结构与解释程序》(Structure and Interpretation of Computer Programs,简称SICP)一书中习题的资源。SICP是计算机科学领域的一本经典教材,由Harold Abelson、Gerald Jay ...

    SICP 使用的scheme解释器

    SICP 使用的scheme解释器 以前叫DrScheme

    SICP(python中文带书签)

    《计算机程序的构造与解释》(Structure and Interpretation of Computer Programs,简称SICP)是一本备受推崇的经典计算机科学教材,由Harold Abelson和Gerald Jay Sussman撰写,并由MIT出版社出版。这本书以其深入...

    sicp-Structure and Interpretation of Computer Programs

    - **第一章:通过过程构建抽象**(Building Abstractions with Procedures) - **1.1 程序设计的元素**(The Elements of Programming) - **1.1.1 表达式**(Expressions):介绍基本的数值表达式和符号表达式。...

    SICP 习题答案

    《计算机程序的构造和解释》(SICP)是一本极具影响力的计算机科学教材,由Harold Abelson和Gerald Jay Sussman所著,MIT出版社出版。这本书以其深入探讨编程概念、程序设计方法以及计算机系统的工作原理而闻名。1-3...

    Python SICP epub版本

    Python SICP epub版本,很适合学习抽象的思想,用Python版本比lisp更实用

    SICP LISP AI

    本书的第二版包含了中文和英文两个版本,旨在帮助读者理解计算机程序的本质,以及如何通过Lisp和Scheme语言来构建和解释这些程序。 Lisp是一种古老而强大的编程语言,以其独特的括号语法和函数式编程特性而著名。它...

    PyPI 官网下载 | sicp-0.0.1b102.dev4.tar.gz

    标题中的"PyPI 官网下载 | sicp-0.0.1b102.dev4.tar.gz"指的是从Python的官方包索引(Python Package Index,简称PyPI)上下载的一个名为"sicp"的软件包的版本号为0.0.1b102.dev4的压缩文件,其格式是tar.gz。...

    sicp 2016 from

    SICP)** 是由哈佛大学的 Harold Abelson 和麻省理工学院的 Gerald Jay Sussman 教授共同编著的一本经典教材,该书首次出版于1985年,并在1996年推出了第二版。书中系统地介绍了计算机程序设计的基本原理和方法,并...

    sicp in python 中文版 sicp

    sicp in python 中文版 sicp in python 中文版 sicp in python 中文版 download : https://github.com/wizardforcel/sicp-py-zh

    sicp-logic:来自SICP第4章的逻辑编程语言的Clojure实现

    第四章涉及的是逻辑编程,而“sicp-logic”是一个基于Clojure语言实现的逻辑编程语言项目,旨在帮助读者理解和实践SICP中的逻辑编程概念。 首先,我们要理解什么是逻辑编程。逻辑编程是一种编程范式,它将程序视为...

    sicp 2nd 英文chm

    《Structure and Interpretation of Computer Programs》(简称SICP)是计算机科学领域的一部经典教材,由Harold Abelson和Gerald Jay Sussman撰写,第二版(2nd Edition)通常被称为SICP 2nd。这本书是麻省理工学院...

Global site tag (gtag.js) - Google Analytics