ハッシュ表とは、索引など高速に検索が必要な場合に利用されるデータ形式である。データを識別するキー値から、演算でデータの格納場所を求めることができる。問題のなかには、ハッシュ表に関する知識がなくても、単純に数値変換の計算問題として回答することができるものもある。

まず、55550を11進数とみなし10進数に変換すると、
5*11^4+5*11^3+5*11^2+5*11^1+0*11^0
=5*11*(11^3+11^2+11^1+11^0)
=55*(1331+121+11+1)
=55*1454
=80520

たとえば、これの下4桁のみが計算対象の場合、下4桁を抜き出す。
その0520に0.5を掛けると、
アドレス=0520×0.5=0260
その結果、アドレスは0260になる。

ハッシュ表でデータの格納場所を求める方法を図でしめす

hash_table

基数変換:ある進数から別の進数に置き換えること 

スポンサーリンク