キーが小文字のアルファベット1文字(a, b, …, zのいずれか)であるデータを、大きさが10のハッシュ表に格納する。
ハッシュ関数として、アルファベットのASCIIコードを10進表記法で表した時の1の位の数を用いることにする。
衝突が起こるキーの組み合わせはどれか。
ASCIIコードでは、昇順に連続した2進数が、アルファベット順にコードとして割り当てられている。
答え エ
【解説】
ASCIIコードでアルファベットは順番に並んでいるので、ハッシュ関数としてASCIIコードを10進表記法のときの1の位を用いたときに衝突が発生するのは、10か20離れた文字である。
選択肢から10離れた文字の組み合わせを探すと、dとx(エ)になる。
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
a |
b |
c |
d |
e |
f |
g |
h |
i |
j |
k |
l |
m |
n |
o |
p |
q |
r |
s |
t |
u |
v |
w |
x |
y |
z |
【キーワード】
・ハッシュ表
【キーワードの解説】
- ハッシュ表
データの格納方法で、データからハッシュ関数で用いたハッシュ値をキーとして格納位置を決めます。
異なったデータから同じハッシュ値になることを衝突(コリジョン)といい、衝突が発生した場合の格納位置の求め方も考慮しておく必要があります。
もっと、「ハッシュ表」について調べてみよう。
戻る
一覧へ
次へ
|