問題

選択肢
- 1{-1, 3, -1, 18, 11}
- 2{-1, 11, -1, 3, -1}
- 3{-1, 11, -1, 18, -1}
- 4{-1, 18, -1, 3, 11}
- 5{-1, 18, 11, 3, -1}
正解
4. {-1, 18, -1, 3, 11}
詳しい解説を見る解説を閉じる
解説
ハッシュ法(衝突時は別関数で再計算するオープンアドレス法)の問題です。hashArray は要素数 5・全要素 -1 から始まり、calcHash1(v)=(v mod 5)+1、calcHash2(v)=((v+3) mod 5)+1 です。add(3):calcHash1=4 が空なので 3 を格納 →{-1,-1,-1,3,-1}。add(18):calcHash1=(18 mod 5)+1=4 は埋まっているので calcHash2=(21 mod 5)+1=2 に 18 を格納 →{-1,18,-1,3,-1}。add(11):calcHash1=(11 mod 5)+1=2 は埋まっているので calcHash2=(14 mod 5)+1=5 に 11 を格納 →{-1,18,-1,3,11}。よって正解はエです。(出典: 令和5年度 基本情報技術者試験 科目B 問4)
一問一答
科目A 180問+科目B 60問