What is a Linked List?
Coddyの「連結リスト - データ構造シリーズ #5」コースのレッスン 2/14。
連結リストは、各値が独自のノードに格納され、各ノードが次のノードへのポインタを保持する一連の値のシーケンスです。リストはその最初のノード(ヘッド)を認識しており、そこからnextポインタの鎖をたどることで、他のすべてのノードに到達できます。
配列とは異なり、連結リストは単一の連続したメモリブロックを必要としません。ヘッドに項目を追加するのはO(1)です。新しいノードを作成し、それを現在のヘッドに向けるだけです。トレードオフとして、n番目の項目に到達するのはO(n)になります。これは、鎖を一度に1ノードずつ辿る必要があるためです。
連結リストにおける主な5つの操作は以下の通りです:
- AddFirst: リストの先頭に値を追加します。
- AddLast: リストの末尾に値を追加します。
- Get: 指定されたインデックスの値を返します。
- Remove: 指定されたインデックスの値を削除します。
- Size: 現在格納されている値の数を返します。
まずはNodeクラスを作成し、その上にLinkedListを構築しましょう!
自分で試してみよう
このレッスンにはコードチャレンジは含まれていません。
連結リスト - データ構造シリーズ #5のすべてのレッスン
自分で練習してみよう: Cオンラインコンパイラ