chainとlinked listchainは、ordered setと対応. 例えば,名簿,symbol table変換表,・・・ (a)は singly linled list. (b)は doubly linked list. chainはlinked listにより表現される事がある. |
![]() ![]() ![]() |
一般に, linked list 処理系は 次の形: ( リストの集合, 名前の集合; { insert, delete, search} ) ここで ![]() ![]() ![]() ただし, ![]() ![]() |
![]() ![]() ![]() |
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 |