コンテンツにスキップ

Unrolled linked list

出典: フリー百科事典『ウィキペディア(Wikipedia)』

Unrolled linked listCPUB
Unrolled linked list
"maxElements""4"

[]


Unrolled linked list
record node {
    node next        // リストの次のノードへの参照
    int numElements  // このノード中の現在の要素数。最大maxElements個
    array elements   // 要素の配列。maxElements個の領域にnumElements個の要素が格納されている
}

maxElementsmaxElements11Unrolled linked list

elementsnumElements

elementsnumElementsnumElementsmaxElements÷2maxElements÷2使

[]


Unrolled linked list使13/4


* m = maxElements, 各elements配列の最大長
* v = 要素数や参照の保存によって発生する、ノードあたりのオーバーヘッド
* s = 要素一つのサイズ

n2vUnrolled linked listvmaxElements

164vUnrolled linked list

Unrolled linked list使CPUb[1]

脚注[編集]

  1. ^ Unrolled linked lists”. 2011年4月24日閲覧。

関連項目[編集]

  • CDRコーディングはUnrolled linked listと同様に、連結リストのオーバーヘッドを削減し、キャッシュの局所性を向上させる方法の一つ。
  • スキップリストは連結リストの変種で、高速な走査を可能とするが、代わりに高速な挿入・削除といった連結リストの利点についてはUnrolled linked listより劣る。
  • B木およびT木はいずれもUnrolled binary treeとみなせるという点でUnrolled linked listと似たデータ構造。
  • XOR連結リストは双方向リストで、ノード一つあたり2つの通常のポインタを使用する代わりにXOR処理を加えた一つのポインタを使用する。

外部リンク[編集]