本文へスキップ

FE SUBJECT B

基本情報技術者 科目Bの問題解説

データ構造及びアルゴリズム 難しい fe_b_v89_alg_sortsearch_001

問題

次の手続 hashProbeScore() を実行したときの戻り値はどれか。

○整数型: hashProbeScore()
  整数型の配列: key ← {14, 22, 30, 9, 17}
  整数型の配列: table[1..8] ← すべて空
  各keyを (key mod 8) + 1 を初期位置として線形探索法で格納する
  整数型: p30 ← 30を探索するときに調べた位置数
  整数型: p17 ← 17を探索するときに調べた位置数
  return p30 × 10 + p17
  1. 22
  2. 23
  3. 32
  4. 33
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目B範囲

正解と解説

正解:32

正解:32

14,22,30はいずれも初期位置7で衝突するため、14は7、22は8、30は1に入る。9は2、17は2が埋まっているので3に入る。30を探すと7→8→1の3か所、17を探すと2→3の2か所を調べるので、戻り値は3×10+2=32。

23はp30とp17を逆にした値。22は30の探索で循環して1を見る必要を落とした場合、33は17も3回調べると誤った場合に出やすい。

ハッシュ表の線形探索では、格納時と探索時で同じ衝突処理をたどる。何番目に見つかるかを数える問題では、空き場所ではなく調べた位置数を数える。

この問題について

出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目B範囲

公開問題・サンプル問題の形式、擬似言語記法、アルゴリズム読解・トレース・空欄補充・セキュリティ事例判断の傾向を参考にした独自問題です。本文・数値・選択肢は新規作成しています。

公式試験問題、公開問題、市販教材、外部問題サイトの問題文を転載・改題したものではありません。

参考範囲: 2026年度現行科目B・シラバスVer.9.x参考

RELATED

関連問題