取り出す順番で構造を選ぶ
- 連結リストへの挿入で必要な参照を選ぶ
- 追加と取出しが混ざるキューの先頭を追う
- 追加と取出しが混ざるスタックの最上部を追う
- 子をもたない葉を判定する
点線のことばを押すと、意味と使い方を調べられます。
表示・保存
このページの目次 4節・復習と4問
- 1説明を読む
- 2復習する
- 3問題を解く
- 4次へ進む
1次の要素への道しるべで並びを作る
リストは、要素に順序があるデータの並びです。連結リストでは、各要素に「次の要素はどこか」を示す参照を持たせます。参照は、別のデータをたどるための情報です。配列のように、要素を連続した位置に並べる仕組みとは区別します。
例えばA→B→Cという連結リストで、AとBの間にXを入れるなら、まずXの次をBへつなぎ、次にAの次をXへつなぎます。並びはA→X→B→Cになり、Bの次がCであることは変わりません。ここで矢印は、時間の経過ではなく「次の要素への参照」です。
途中への挿入は参照のつなぎ替えで行えますが、挿入場所を見つける探索は別に必要です。何でも配列より高速と考えず、どんな操作をよく行うかで選びます。
A → B → C
Xの次をBにする
Aの次をXにする
A → X → B → C
矢印は次の要素への参照です。Bの次はCのままです。実際のメモリで隣同士に置くという意味ではありません。
2キューは先に来たものから
キューは先入れ先出し、FIFO(First In, First Out)で取り出す構造です。A、B、Cの順に追加すれば取り出す順もA、B、Cです。印刷要求を到着順に処理する場面に使います。
末尾に追加し先頭から取り出す、という操作を守ることが特徴です。優先度による処理を行う場合は、通常の到着順キューと違う規則を用意します。
A → B → C
A
B → C
数値は学習用の例。
3スタックは最後に入れたものから
スタックは後入れ先出し、LIFO(Last In, First Out)で取り出します。A、B、Cの順に積むと、最初に取り出すのはCです。追加をpush、取り出しをpopと呼びます。
直前の操作から取り消す処理や、関数を呼び出した後に戻る場所の管理で利用できます。空の状態から取り出すことはできないので、空かどうかの確認も必要です。
A、B、Cの順
C、B、Aの順
直前の操作から取り消す
数値は学習用の例。
4木は親子で階層を表す
木構造は根(ルート)から親子関係で枝分かれする構造です。節(ノード)のうち子をもたないものを葉と呼び、2分木では一つの節がもつ子は高々二つです。
フォルダ階層では子をもつ中間の節がディレクトリ、葉はファイル又は空ディレクトリです。空フォルダも子がないので葉になれます。「節」という語は広義では葉を含む全ノード、問題によっては葉と対比した中間ノードを指すので文脈を読みます。
ハルとビットで、使い方を確かめよう
何も入っていないフォルダも葉?
子がないから葉に当たるよ。ファイルだけとは限らないんだ。
復習
このレッスンを振り返ろう
BとCの間へXを入れるには、どこをつなぐ?
答え方と、確認するポイント
Xの次をC、Bの次をXへつなぎます。
途中で追加しても、キューは何を先に出す?
答え方と、確認するポイント
先に入って残っている要素です。
スタックで次に取り出すのは?
答え方と、確認するポイント
最後に入れた、まだ残っている要素です。
空フォルダも葉になれる?
答え方と、確認するポイント
子がなければ葉です。ファイルだけに限定しません。
問題で確かめる
学んだことを問題で確かめよう
ここではオリジナル問題3問で、学んだ考え方を使います。答えを選んだら、正解の理由とほかの選択肢の違いも確認しましょう。
ヒントを見る
挿入後の並びをAから書き、Xの直前と直後の要素を確かめましょう。
オリジナル入門問題 · シラバス 6.5
4問中0問の答えと解説を確認しました。選んだ答えの理由も確かめてから、次へ進みましょう。
出典・参考資料を確認する
学習範囲:IPA シラバス Ver.6.5 ↗ 項目36。身近な例・会話・図解・確認問題は当サイトのオリジナルです。
学習範囲と参考資料
シラバスは学習範囲の根拠です。説明・図の数値・身近な事例は学習用に作成しています。2026年9月14日確認。