アルゴリズムとプログラミング

基本情報技術者試験 科目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 回(公開問題での観測値)

この知識をアプリで解いて覚える レッスン「スタックとキュー(LIFO と FIFO)」で学ぶ

同じ知識の過去問