ITの基礎知識|ITパスポート・基本情報

基本情報技術者 平成21年春 問5

2017.10.02

関数や手続きを呼び出す際に、戻り番地や処理途中のデータを一時的に保存するのに適したデータ構造はどれか。

 

  • ア: 2分探索木
  • イ: キュー
  • ウ: スタック
  • エ: 双方向連結リスト

Show answer

正解: ウ

解説:

スタックは、後入れ先出しのデータ構造なので、関数や手続きを呼び出す際に、戻り番地や処理途中のデータを一時的に保存するのに適したデータ構造です。

例えば、関数 A の中で関数 B を、関数 B の中で関数 C を呼ぶ場合、以下の順で処理すると、関数 A の続きを実行できる。

  1. push ”関数B終了後の関数Aの再開位置”
  2. push ”関数C終了後の関数Bの再開位置”
  3. 関数Cを実行
  4. pop (”関数C終了後の関数Bの再開位置”が得られる)
  5. 関数Bの続きを実行
  6. pop (”関数B終了後の関数Aの再開位置”が得られる)

 

  • ア: 2分探索木は木構造の一種で、探索向きのデータ構造。
  • イ: キューは先入れ先出しのデータ構造なので、待ち行列の実装に向く。
  • エ: 双方向探索リストは、挿入削除が頻発する場合に適する。