アルゴリズムとプログラミング
基本情報技術者試験 科目A免除 修了試験 20240128 実施分 問6
アルファベット3文字で構成されるキーがある。次の式によってハッシュ値hを決めるとき,キー“SEP”と衝突するのはどれか。ここで,a mod bは,aをbで割った余りを表す。
h =(キーの各アルファベットの順位の総和)mod 27
| アルファベット | 順位 |
|---|---|
| A | 1 |
| B | 2 |
| C | 3 |
| D | 4 |
| E | 5 |
| F | 6 |
| G | 7 |
| H | 8 |
| I | 9 |
| J | 10 |
| K | 11 |
| L | 12 |
| M | 13 |
| アルファベット | 順位 |
|---|---|
| N | 14 |
| O | 15 |
| P | 16 |
| Q | 17 |
| R | 18 |
| S | 19 |
| T | 20 |
| U | 21 |
| V | 22 |
| W | 23 |
| X | 24 |
| Y | 25 |
| Z | 26 |
- ア APR
- イ FEB
- ウ JAN
- エ NOV
出典:基本情報技術者試験 科目A免除 修了試験 20240128 実施分 問6
答えと解説を見る
正解:イ
覚える知識
ハッシュ関数によるハッシュ値計算
ハッシュ関数は、キーから計算した値で格納位置を決める関数で、同じ値になると衝突する。
この問題で必要なこと
SEPは19+5+16=40で40 mod 27=13。FEBは6+5+2=13で一致する。
ひっかけ
他の選択肢(APR=35→8、JAN=25、NOV=43→16)は計算ミスすると近い値になる。
この知識の出題:本試験系 5 回・免除試験 11 回(公開問題での観測値)