見出し画像

4-5. データ構造 キュー

 本記事では、データ構造のキューについて解説します。

キューとは

 キュー(queue) は、先に入れたデータを先に取り出すという操作で扱われるデータ構造です。この操作は先入れ先出し(FIFO)と呼ばれます。

 コンピュータの世界では、例えば、ネットワークを通じて次々とデータが送られてきて、到着した順序で一つずつ処理を実行していくといった場合に、データを一時的に待たせておく場所としてキューが利用されます。なお、キューにデータを格納する処理をエンキュー、キューからデータを取得する処理をデキューということがあります。

問題 キューに値7が最初に格納され、続けて2, 5, 8 の順で値が格納されたとする。このキューから最初に取り出される値はいくつか。

選択肢
ア 2 イ 5 ウ 7 エ 8

解答

補足
キューの用途

図1. キューの主な用途

配列での基本操作

enqueue(n): キューの末尾にデータを追加(Rear を更新)
dequeue(): キューの先頭からデータを削除(Front を更新)

配列によるキューの実装

// キューの初期化
配列 queue[MAX_SIZE]  // 最大サイズの配列
front ← 0  // 取り出し位置
rear ← 0   // 挿入位置

// データを追加(enqueue)
手順 enqueue(n):
    もし rear = MAX_SIZE ならば
        エラー「キューが満杯」
    queue[rear] ← n
    rear ← rear + 1

// データを取り出し(dequeue)
手順 dequeue():
    もし front = rear ならば
        エラー「キューが空」
    data ← queue[front]
    front ← front + 1
    返す data

まとめ

キューは FIFO(先入れ先出し) で管理される
用途:OSのタスク管理、ネットワーク通信、BFS など
配列を使った実装 では、front と rear を管理する
Python では list や deque を使うのが一般的(今回の例は配列ベース)

キューは 「順番通りに処理をしたい場面」 で活用されます。

以上です。

いいなと思ったら応援しよう!