Queue
キュー(Queue)関連のデータ構造、一般キュー、双方向キュー、優先キューを含む。
Queue (キュー)
| 特性 | 説明 |
|---|---|
| 正式名称 | Queue |
| 操作原則 | FIFO (先入れ先出し) |
| 挿入操作 | 末尾 (rear) のみ |
| 削除操作 | 先頭 (front) のみ |
| 主要操作 | enqueue, dequeue |
| 内部実装 | Array / LinkedList |
| 時間計算量 (平均) | 挿入と削除: O(1) |
| 応用シナリオ | タスクスケジューリング、幅優先探索 |
| 特徴 | シンプル、順序処理 |
Dequeue (双方向キュー)

| 特性 | 説明 |
|---|---|
| 正式名称 | Doubly Ended Queue |
| 操作原則 | FIFO または LIFO (両端で操作可能) |
| 挿入操作 | 先頭または末尾 |
| 削除操作 | 先頭または末尾 |
| 主要操作 | enqueueFront, enqueueRear, dequeueFront, dequeueRear |
| 内部実装 | Array / Doubly LinkedList / RingBuffer |
| 時間計算量 (平均) | 挿入と削除: O(1) / Array: PushFront O(n)、PushBack 拡張時は O(n) |
| 応用シナリオ | 回文チェック、スライディングウィンドウ問題 |
| 特徴 | 柔軟、双方向操作 |
Priority Queue (優先キュー)
| 特性 | 説明 |
|---|---|
| 正式名称 | Priority Queue |
| 操作原則 | 優先度に基づく |
| 挿入操作 | 任意の位置 |
| 削除操作 | 最高優先度要素を削除 |
| 主要操作 | enqueue (優先度付き)、dequeue |
| 内部実装 | Heap |
| 時間計算量 (平均) | 挿入: O(log n)、最大/最小削除: O(log n) |
| 応用シナリオ | イベント駆動シミュレーション、Dijkstraアルゴリズム |
| 特徴 | 優先度に基づく、自動ソート |