web-dev-qa-db-ja.com

両端リンクリストと二重リンクリストの違い

両頭リストと二重リンクリストの違いがわかりません。

2つの主な違いは何ですか?

11
pycod333

二重リンクリストでは、各ノードに2つのポインターがあります。 1つは次のノードに向けて、もう1つは前のノードに向けて。

enter image description here

両端リンクリストでは、各ノードには次のノードを指すポインターが1つだけあります。シングルエンドのリンクリストとの違いは、1つの「ヘッド」ノードの代わりに、この種類の2つのポインター(「最初」と「最後」)が含まれているため、誰かが要素の両端からリストに要素を挿入できることです。それ。

enter image description here

(最後の絵ははっきりしていませんが、それは両端の要点を捉えています。)

15
Kapoios

両端のリストは、通常のリンクリストに似ていますが、最後のリンクと最初のリンクへの参照という1つの追加機能があります。二重リンクリストでは、各リンクは1つではなく他のリンクへの2つの参照を持っています。最初は、通常のリストと同様に、次のリンクへのリンクです。 2つ目は前のリンクです。

3

二重にリンクされたリストは、要素がリスト内の前後の両方の要素へのポインターを持っているリストです。

両端のリストは、私の理解によると、両端記号と同じです。これは、上と下の両方からアイテムを追加および削除できるキューです。

3
Einar Sundgren

シングルリンクは一方向であり、メモリ使用量が少なく、挿入の複雑さはO(n)です。二重リンクは双方向(次と前)ですが、単一リストよりも多くのメモリを使用し、挿入と削除の複雑さはO(n)です。

2
PAULINAK