ITパスポート試験 / 平成30年度 春期 ITパスポート試験 公開問題 / 問96
certification-simodake-work

平成30年度 春期 ITパスポート試験 公開問題 問96 解説 FIFOのデータ構造

先入れ先出し(First-In First-Out, FIFO)処理を行うのに適したキューと呼ばれ るデータ構造に対して“8”,“1”,“6”,“3”の順に値を格納してから,取出し を続けて2回行った。2回目の取出しで得られる値はどれか。

  1. ア 1 ✓ 正答
  2. イ 3
  3. ウ 6
  4. エ 8

解説

この問題は、データ構造であるキューのルールを順に追うだけで正解できます。キューは先入れ先出しの原則に従うため、最初に入れたものから順番に取り出されます。

手順は以下の通りです。

  1. 格納の順序:8 → 1 → 6 → 3 の順で入れます。このとき、キューの中は先頭から 8, 1, 6, 3 という並びになります。
  2. 1回目の取出し:先頭にある 8 が取り出されます。残りは 1, 6, 3 です。
  3. 2回目の取出し:次に先頭にある 1 が取り出されます。

したがって、2回目の取出しで得られる値は 1 となります。

キューは、行列に例えられるデータ構造です。レジの待ち行列のように、先に並んだ人が先にサービスを受けられるのと全く同じ仕組みです。対になる概念として、後から入れたものを先に取り出すスタック(LIFO:Last-In First-Out)があり、両者は対比されてよく出題されます。

実務や試験での活用場面として、コンピュータ内部の処理待ち行列が代表的です。例えば、プリンタの印刷待ちデータや、ネットワークを通じて届いたデータの処理順序などは、順番を守るためにキューが利用されています。試験では「先に入れたものから順に処理する」という性質さえ押さえておけば、図を描くまでもなく答えが導き出せます。また、スタックとの違いを問う問題も頻出するため、セットで覚えておくと効率的です。

  • 基本情報技術者試験のアルゴリズムとデータ構造の学習教材(基本情報技術者試験ドットコム)

学習の記録にははてなブックマーク!

気づいたこと・覚えたことをコメントにメモしよう