chainとlinked listchainは、ordered setと対応. 例えば,名簿,symbol table変換表,・・・ (a)は singly linled list. (b)は doubly linked list. chainはlinked listにより表現される事がある. |
|
一般に, linked list 処理系は 次の形: ( リストの集合, 名前の集合; { insert, delete, search} ) ここで insert : L × N → L delete : L × N → L search : L × N → { T, F } ただし, L : リストの集合 N : NAMEの集合 |
|
Linked list と,その上の演算の例. 例 名簿(alphabetical order)の表現. (データの形式) 3種類の record を用いる. i. "TABLE"は,次の record の集まり ii. "AVAIL" は TABLE 内の使える record へのPOINTER iii. "TOP" は名簿の最初の NAME の入っている record へのPOINTER 全体の形: (操作(基本操作)) ポインタのつけかえ,参照 NAMEの書きかえ,参照 |
|
例 |
|
chain の表現例:比較 |
|
|
|
C1: 比較に要するtime C2: ポインタのつけかえtime C3: 書きかえtime ・ T(n) ≒n・C1 + C2 + C3 (最悪) ・ T(n) ≒log n ・C1 +n・C3(最悪) WANGのsearch T(n) ≒ log n・C1 C1 < C3 |