アルゴリズムとプログラミング
基本情報技術者試験 科目A免除 修了試験 20170122 実施分 問5
待ち行列に対する操作を,次のとおり定義する。
ENQ n:待ち行列にデータnを挿入する。
DEQ:待ち行列からデータを取り出す。
空の待ち行列に対し,ENQ 1,ENQ 2,ENQ 3,DEQ,ENQ 4,ENQ 5,DEQ,ENQ 6,DEQ,DEQ の操作を行った。次にDEQ操作を行ったとき,取り出される値はどれか。
答えを選ぶ
出典:基本情報技術者試験 科目A免除 修了試験 20170122 実施分 問5(問題文は IPA の公開問題。解説は当サイト作成)
答えと解説を見る
正解:ウ
覚える知識
待ち行列(キュー)のFIFO操作
キューは最初に入れたデータから順に取り出す先入れ先出し(FIFO)のデータ構造である。
この問題で必要なこと
キューは先入れ先出し。挿入1,2,3の後DEQで1、挿入4,5でDEQ→2、挿入6でDEQ→3、DEQ→4。次のDEQは5が取り出される。
ひっかけ
スタック(LIFO)と混同すると6などが答えに見える。
この知識の出題:本試験系 3 回・免除試験 8 回(公開問題での観測値)