基本情報技術者試験の基本データ構造:スタック/キューとは?
スタック(Stack)とキュー(Queue)は、データの格納・取り出しを行う基本的なデータ構造であり、
処理の順序制御やアルゴリズムの実装で広く使われます。基本情報技術者試験でも頻出の重要項目です。
スタック(Stack)とは?
- データを後から追加した順に取り出す構造
- LIFO(Last In, First Out:後入れ先出し)の動作
- 追加操作はプッシュ(push)、取り出し操作はポップ(pop)と呼ぶ
スタックの使用例
- 関数呼び出し時の戻り先記憶(コールスタック)
- 逆ポーランド記法の評価
- 再帰処理の内部管理
キュー(Queue)とは?
- データを先に入れた順に取り出す構造
- FIFO(First In, First Out:先入れ先出し)の動作
- 追加操作はエンキュー(enqueue)、取り出し操作はデキュー(dequeue)と呼ぶ
キューの使用例
- 印刷ジョブの管理
- タスクの順番処理
- 幅優先探索(BFS)の実装
スタックとキューの比較
項目 | スタック | キュー |
構造 | 後入れ先出し(LIFO) | 先入れ先出し(FIFO) |
挿入 | push | enqueue |
削除 | pop | dequeue |
主な用途 | 再帰・逆順処理 | 待ち行列・順次処理 |
基本情報技術者試験での出題ポイント
- データ構造の動作理解(push/pop や enqueue/dequeue の順序)
- スタックやキューの挙動を疑似言語でトレースできるか
- 用途ごとの使い分けができるか(例:関数処理にはスタック)
学習のコツ
- 小さな数値を使って、手でスタック・キュー操作を試す
- 処理順(入れる順・出す順)を紙に書いて追跡する
- ルールを意識しながら擬似コードを読む
まとめ
- スタック:後から入れたものを先に取り出す(LIFO)
- キュー:先に入れたものを先に取り出す(FIFO)
- 基本情報技術者試験では、構造と用途を正しく理解しておくことが重要
スタックとキューは、プログラム設計やデータ処理の基本を支える重要な概念です。
試験では処理の流れを正確に追える力が問われるので、実際に手を動かして感覚をつかんでおきましょう。
|