呉ユーキション - 生まれのナチュラルなデータ構造:一般的なリスト

記憶のための{ 1、{ 123 }}このようなデータを、記憶のためのより適切な一般化テーブル構造。
リストとして知られている一般の表は、また、リニアメモリ構造です。アレイと同様に、一般化テーブルを分割することができない要素に格納することができる、一般化テーブルはとして記録し、格納することができます。
LS = (A1、A2、...、)
ここで、LSは、発現された一般に格納されている一般化テーブルの名前、データテーブルを表します。それぞれがいずれかの一般化テーブルは、単一の要素を表すことができるAI、テーブルはまた、別の広いを表すことができます。
典型的に、に格納されている一般化テーブルと呼ばれる単一の要素アトミック、一般化された格納されたテーブルが呼び出され、「子テーブル
そのようなテーブル一般LS作成など = { 1、{ 123 }、我々は、この一般化されたテーブルの構成を説明することができる:表LS店A一般原子1及びサブテーブル{ 123 }。
以下は、データを格納する一般テーブルのいくつかの一般的な形態です。
A = ():Aは、一般化テーブルを表すが、テーブルは空です。
B = (E)のみ一般原子E表B。
C = ((B、C、D)):一般表Cは、2つの要素、原子、及びサブテーブル(B、C、D)を有しています。
D =(A、B、C):表Dが一般3サブテーブル、すなわちA、BおよびCを この表現は= Dと同等である(()、(E)、(B、C、D))。
E =(E):一般表Eは、二つの要素、原子それ自体があります。これは、再帰的な一般的なテーブルであると等価である:E = (A、(A、(A、...)))。
なお、A =()および= A (())は同じではありません。前者は後者が一般化テーブルは、テーブルが含まれていますが、子テーブルは空のテーブルである一方で、空のテーブルです。
テーブルは、テーブルを一般空でない場合、前記のように第一のデータ(又はサブテーブル原子)ヘッダ、残り成る新しい一般表データフッタ
私たちは、一般のテーブルが空でない限り、それ以外の一般の表は、一般のリストでなければならないヘッダーとフッター、および一般テーブルテーブル尾を持たなければならないことを強調する。
例えば、一般化されたテーブルで、LS = { 1、{ 123 }、5 }アトムのヘッダに1、トレーラーサブテーブル{ 123 }及び原子5は、一般化テーブル構成、すなわち、{ { 123 }、5 }。
別の例として、LSにおいて一般表 = { 1 }、ヘッダ原子である1が、いかなる一般化テーブルフッター要素は、テーブルの端部は、{}で表される、表空のテーブルではありません。

 

おすすめ

転載: www.cnblogs.com/tszr/p/12232461.html