最終更新日:2026年6月23日
fe fe-technology data-structure algorithm
まず結論
キューとは、先に入れたデータから先に取り出すデータ構造です。
基本情報技術者試験では、キューは FIFO(First In, First Out:先入れ先出し) として出題されます。
スタックが「最後に入れたものを先に出す」のに対して、キューは「先に並んだものから順番に処理する」と考えると判断しやすいです。
直感的な説明
キューは、順番待ちの列をイメージすると分かりやすいです。
例えば、レジに並ぶ人を考えます。
- 先に並んだ人から会計する
- 後から来た人は列の後ろに並ぶ
- 途中で順番を飛ばさない
このように、入った順番を守って処理する仕組みがキューです。
英語では、待ち行列のことを queue と言います。
FEでは、この日常的な「列」のイメージを、データ構造として理解できるかが大切です。
定義・仕組み
キューは、データを入れる場所と取り出す場所が分かれているデータ構造です。
主な操作は次の2つです。
| 操作 | 意味 |
|---|---|
| enqueue | キューの後ろにデータを入れる |
| dequeue | キューの前からデータを取り出す |
例えば、空のキューに A、B、C の順にデータを入れるとします。
enqueue A → [A]
enqueue B → [A, B]
enqueue C → [A, B, C]
この状態で取り出すと、先に入れた A から出てきます。
dequeue → A
dequeue → B
dequeue → C
つまり、キューでは 入れた順番と取り出す順番が同じ になります。
キューは、基本情報技術者試験の「アルゴリズムとプログラミング」や「データ構造」と関係が深いテーマです。公式の出題範囲は、IPA:基本情報技術者試験 から確認できるシラバスで確認できます。
科目Aでどう出る?
科目Aでは、キューはデータ構造の基本用語として出やすいです。
特に見るべきポイントは次の3つです。
- キューは FIFO
- 先に入れたデータを先に取り出す
- スタックとは逆の取り出し順になる
選択肢で次のような表現があれば、キューの説明として正しい可能性が高いです。
先に格納したデータから順に取り出す。
反対に、次のような表現はスタックの説明です。
最後に格納したデータから順に取り出す。
ここを取り違えると、かなり簡単な問題でも落としやすいです。
FEでは、キュー単体の定義だけでなく、スタックとの違いで問われることが多いと考えるとよいです。
科目Bでどう使う?
科目Bでは、キューという言葉が直接出なくても、先に入れたものから処理する流れとして現れることがあります。
例えば、次のような処理です。
未処理のデータを順番に取り出す
処理したいデータを末尾に追加する
先頭のデータから確認する
このような処理が出たら、キューの考え方が関係している可能性があります。
科目Bで大切なのは、用語を暗記することよりも、どこから入れて、どこから取り出しているか を追うことです。
読むときは、次の順で確認すると整理しやすいです。
- データを追加している場所を見る
- データを取り出している場所を見る
- 取り出し順が「先に入れた順」か確認する
配列でキューを表す問題では、先頭位置や末尾位置を表す変数が出ることもあります。
例えば、front が取り出し位置、rear が追加位置を表すような形です。
この場合は、変数名を丸暗記するよりも、どちらが取り出し側で、どちらが追加側か を処理の流れから確認するのが安全です。
よくある誤解・混同
キューで一番混同しやすいのは、スタックです。
| 用語 | 取り出し順 | イメージ |
|---|---|---|
| スタック | 後入れ先出し | 積み重ねた皿 |
| キュー | 先入れ先出し | レジの順番待ち |
スタックは LIFO です。
キューは FIFO です。
アルファベットだけで覚えると混乱しやすいので、次のように日本語で覚えると安定します。
- スタック:後から入れたものが先に出る
- キュー:先に入れたものが先に出る
また、キューは「優先度付きキュー」と混同することもあります。
通常のキューは、入った順番で処理します。
一方、優先度付きキューは、順番だけでなく優先度によって取り出すデータが変わります。
FEの基本では、まず通常のキューを FIFO として押さえるのが大切です。
まとめ(試験直前用)
- キューは 先入れ先出し(FIFO) のデータ構造
enqueueは後ろに入れる、dequeueは前から取り出す- スタックは後入れ先出し、キューは先入れ先出し
- 科目Bでは「どこから入れて、どこから出すか」を追う
- 判断に迷ったら、レジの順番待ちを思い出す