SICP読書ノート

https://mitpress.mit.edu/sites/default/files/sicp/index.htmlBook    公式サイト

http://www.math.pku.edu.cn/teachers/qiuzy/books/sicp/errata.htm    中国語翻訳の正誤表

https://blog.csdn.net/weixin_33894640/article/details/89416538  mitがSICPを停止した理由

https://sicp.readthedocs.io/en/latest/      SICP問題解決セット

 

lispは関数型言語です

 

 

序文:

  プログラミングは、APIをスタックすることだけでなく、プログラミング、アルゴリズム、およびデータ構造も含みます。

  さまざまなデータ構造アルゴリズムの利点と欠点、これらは基本的なスキルです。基盤となる実装を理解すると、コードを最適化してパフォーマンスを向上させることができます。P10など

  プログラムの構造は明確で読みやすいです。コードは美しいです。適切なアルゴリズムと適切なデータ構造を使用します。

第1章:プロセスの抽象化

  変数を定義することは、変数名を値に関連付けることです。この関連付けの実現は何であり、それはある種のデータ構造を使用しますか?

  プラス記号とマイナス記号は、グローバル環境の変数のような対応する命令シーケンスに関連付けられています。プラス記号は変数名です。これは、単純な操作の部分的な実装です。

  defineは特別な形式です。シンプルな操作を組み合わせています。

  変数にはスコープがありますが、これはどのように達成されますか?

  lispのような対話型言語では、環境は非常に重要です。環境がないと、記号xは意味がありません。プラス記号とマイナス記号でさえ、意味を与えるために環境が必要です。

  式評価の最も簡単な実装はありますか?

  コンパイラとインタープリタの違いは?

 


  複合プロセスを含むことができる結合された評価ルール。defineは、複合評価とは異なる特別な形式です。

  評価モデルは、通常の注文評価とアプリケーションの注文評価です。

  線形反復プロセスと再帰計算プロセスの違いP23

  再帰的なプロセスは、再帰的な計算プロセスとは異なります。線形反復プロセスと再帰計算プロセスの両方が、それ自体を呼び出す再帰を使用します。線形反復プロセスと再帰計算プロセスは、コンピュータプロセスの進歩の方法です

  forが通常使用されるようなループステートメントは反復的です。

  線形反復プロセスと再帰計算プロセスの長所と短所はどうですか?

       ツリーの再帰は非常に非効率的かもしれませんが、説明と理解は簡単です。多くの冗長な計算があります。再帰の深さは、インタープリターによって許可される最大の再帰の深さによって制限されます

  ツリー型の再帰のアイデアはボトムアップです。

  時間の複雑さは完了するためのほんの数ステップであり、プログラムが展開された後、スペースは太くて薄いと簡単に理解できます。

  このアルゴリズムは、数学、再帰アルゴリズムを設計する機能、反復アルゴリズムにリンクされています。再帰を使用する場合と、反復を使用して時空の複雑さを計算する場合。

  

  最初の章では、主に2つの抽象化について説明します。

  抽象化の最初のステップ:数値演算をメソッドとして定義する;抽象化の2番目のステップ:パターンを見つけ、メソッドを数値演算として使用し、パターンを変更せず、値(メソッド)を変更する

  プロセスの抽象化に関するすべて

 

第2章:データ抽象化の構築

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

おすすめ

転載: www.cnblogs.com/FSTRACE/p/12695954.html