アルゴリズム学習/キュー

キュー

FIFO(First In First Out)構造。最初に入ったデータが最初に出ます。

易しいデータ構造FIFOキュー

定義

キュー(Queue)は先入先出し(FIFO、First In First Out)方式のデータ構造です。最初に入れたものが最初に出てくる、まるで列に並ぶようなイメージです。

主な特性

  • FIFO(先入先出)構造 - 最初に入ったものが最初に出る
  • EnqueueとDequeueの演算がO(1)時間で可能
  • Front(前)とRear(後ろ)の2つのポインタで管理
  • BFS(幅優先探索)、タスクスケジューリングなどで活用

活用事例

こんな場面で使われます:

🏦

銀行の待ち列

先に来たお客様が先にサービスを受けます。実生活で最もよく見られるキューの例です。

🖨️

プリンター待ち列

複数の人がプリンターを使用する際、先にリクエストした作業が先に出力されます。

🌳

BFS探索

グラフやツリーを幅優先で探索する際にキューを使用します。近い頂点から順に訪問します。

⚙️

タスクスケジューラー

オペレーティングシステムやプログラムでタスクを順番に処理する際にキューを使用します。

主な操作

主な操作:

enqueue

O(1)

キューの後ろ(Rear)に新しい要素を追加します。

dequeue

O(1)

キューの前(Front)から要素を削除して返します。

front / peek

O(1)

キューの先頭要素を削除せずに確認します。

isEmpty

O(1)

キューが空かどうかを確認します。

計算量

時間計算量

最良
O(1)
平均
O(1)
最悪
O(1)

空間計算量

O(n)

可視化でより深く理解する

ステップごとのアニメーションとコード実行を通じて、アルゴリズムの動作を直接確認してください。

可視化を開始