スポンサーリンク

ITパスポート試験 平成30年度秋期 [問76] 過去問解説

問題

問76

複数のデータが格納されているスタックからのデータの取出し方として、適切なものはどれか。

  • 格納された順序に関係なく指定された任意の場所のデータを取り出す。
  • 最後に格納されたデータを最初に取り出す。
  • 最初に格納されたデータを最初に取り出す。
  • データがキーをもっており、キーの優先度でデータを取り出す。

[出典:ITパスポート試験 平成30年度秋期 問76]

正解

正解は「」です。

解説

 正解は「最後に格納されたデータを最初に取り出す」です。 スタックは、データを格納したり取り出したりする際、「LIFO(Last-In, First-Out:後入れ先出し)」という原則に従うデータ構造の一つです。LIFOとは、一番最後にスタックに格納されたデータが、一番最初に取り出されるという仕組みを指します。

 例えば、お皿を何枚か積み重ねていく状況を想像してみてください。積み重ねたお皿の中から一枚取り出すとき、一番上に置いたお皿(つまり、最後に置いたお皿)を最初に取り出しますよね。これがスタックの基本的な動作と同じです。 コンピュータの分野では、プログラムが関数を呼び出すときの履歴管理や、Webブラウザの「戻る」ボタンの機能、テキストエディタの「元に戻す」機能などにスタックが使われています。最後に実行した操作が最初にキャンセルされる、という仕組みは、まさにスタックのLIFO特性を応用したものです。

ア(格納された順序に関係なく指定された任意の場所のデータを取り出す。):
 これは、配列やリストといったデータ構造で可能な操作であり、スタックの特性ではありません。スタックでは、データの取り出し順序が決まっています。
ウ(最初に格納されたデータを最初に取り出す。):
 これは、キュー(Queue)と呼ばれるデータ構造の特性です。キューは「FIFO(First-In, First-Out:先入れ先出し)」という原則に従います。例えば、レジに並んだ行列のように、先に並んだ人からサービスを受けるのと同じ考え方です。
エ(データがキーをもっており、キーの優先度でデータを取り出す。):
 これは、優先度キューやハッシュテーブルなど、特定のキーや優先度に基づいてデータを管理するデータ構造の特性です。スタックにはこのような機能はありません。

スポンサーリンク

難易度

 この問題は、ITパスポート試験で頻出する基本的なデータ構造「スタック」の概念を問うものです。スタックが持つ「LIFO(Last-In, First-Out:後入れ先出し)」という特性を理解していれば、比較的容易に解答できるでしょう。身近な例(積まれたお皿など)と結びつけて覚えると、理解しやすくなります。

用語補足

スタック:
 「LIFO(Last-In, First-Out:後入れ先出し)」という原則に基づいてデータを格納・取り出す、線形なデータ構造の一種です。例として、積まれたお皿の一番上のお皿を取り出すようなイメージです。

LIFO (Last-In, First-Out):
 「後入れ先出し」と訳され、データ構造の原則の一つです。最後に格納されたデータが、最も早く取り出されるという方式を指します。スタックで用いられます。

キュー (Queue):
 「FIFO(First-In, First-Out:先入れ先出し)」という原則に基づいてデータを格納・取り出すデータ構造です。例として、レジの行列で先に並んだ人からサービスを受けるようなイメージです。

FIFO (First-In, First-Out):
 「先入れ先出し」と訳され、データ構造の原則の一つです。最初に格納されたデータが、最も早く取り出されるという方式を指します。キューで用いられます。

対策

 この問題を解くためのポイントは、主要なデータ構造である「スタック」と「キュー」の基本的な動作原理を正確に理解することです。特に、スタックは「LIFO(Last-In, First-Out:後入れ先出し)」、キューは「FIFO(First-In, First-Out:先入れ先出し)」という原則をしっかりと覚え、それぞれの仕組みを混同しないようにしましょう。身近な例と紐付けて覚えることで、より記憶に定着しやすくなります。例えば、スタックは「積み重ねたお皿」、キューは「行列」と考えると良いでしょう。


error:
タイトルとURLをコピーしました