平成30年度秋期 応用情報技術者試験 午前 問8

分野:アルゴリズムとプログラミング|実際に出題されたIPA過去問題

探索表の構成法を例とともにa~cに示す。最も適した探索手法の組合せはどれか。ここで,探索表のコードの空欄は表の空きを示す。

問題の図表(IPA公式問題冊子より引用)
図表:IPA公式問題冊子より
  1.  a:2分探索 b:線形探索 c:ハッシュ表探索
  2.  a:2分探索 b:ハッシュ表探索 c:線形探索
  3.  a:線形探索 b:2分探索 c:ハッシュ表探索
  4.  a:線形探索 b:ハッシュ表探索 c:2分探索
解答・解説を見る

正解:ア

AI解説

探索手法は表の構成に依存する。キーの値の順に整列された表なら中央と比較して範囲を半分に絞る2分探索、整列されていない表なら先頭から順に調べる線形探索、キーから計算した位置に格納する(空きが混在する)表ならハッシュ表探索が適する。例a〜cの構成にこの対応を当てはめると、a:2分探索、b:線形探索、c:ハッシュ表探索のアが正しい。 ア: 正しい。aはコードが整列済みの表なので2分探索、bは整列されていない表なので線形探索、cはコードから計算した位置に空きを設けて格納する表なのでハッシュ表探索が最適である。 イ: bとcの対応が逆である。空きを含みキーから格納位置が決まる表がハッシュ表であり、未整列の表には線形探索を使う。 ウ: aとbの対応が逆である。2分探索は整列済みの表にしか適用できない。 エ: 2分探索を空き混在のハッシュ的な表に割り当てており、整列表・未整列表との対応も崩れているため誤りである。 💡 「整列済み→2分探索」「未整列→線形探索」「キーから位置を計算・空きあり→ハッシュ」の3対応を覚える。2分探索は整列が前提という点が最大の判断基準である。

出典:平成30年度 秋期 応用情報技術者試験 午前 問8 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

「アルゴリズムとプログラミング」分野の攻略ポイント

データ構造・アルゴリズム・探索と整列・計算量・擬似言語・プログラム言語・データ記述言語が対象です。擬似言語のトレースは時間はかかるものの、落ち着いて表を書けば必ず正解にたどり着く「確実に取れる」問題です。

アルゴリズムとプログラミングの攻略ポイントをすべて見る(要点6項目・ひっかけ3項目)→

同じ分野(アルゴリズムとプログラミング)の過去問