平成28年 秋期 基本情報技術者 午前 問20

格納アドレスが1〜6の範囲の直接編成ファイルにおいて、次の条件でデータを格納した場合、アドレス1に格納されているデータのキー値はどれか。

[条件]
 (1)  キー値が3、4、8、13、14、18の順でデータを格納する。
 (2)  データのキー値を5で割った余りに1を加えた値を格納アドレスにする。
 (3)  格納アドレスに既にデータがある場合には、次のアドレスに格納する。
これを格納できるまで繰り返す。
最終アドレスの次は先頭とする。
 (4)  初期状態では、ファイルは何も格納されていない。

 ア  8  イ  13  ウ  14  エ  18


答え イ


解説
条件に沿ってキー値が3、4、8、13、14、18の順でデータを格納すると

  • キー値3のデータは、格納アドレス4に格納します。
  • キー値4のデータは、格納アドレス5に格納します。
  • キー値8のデータは、格納アドレス4、格納アドレス5にすでにデータが格納されているので格納アドレス6に格納します。
  • キー値13のデータは、格納アドレス4、格納アドレス5、格納アドレス6にすでにデータが格納されているので格納アドレス1に格納します。
  • キー値18のデータは、格納アドレス4、格納アドレス5、格納アドレス6、格納アドレス1にすでにデータが格納されているので格納アドレス2に格納します。


キーワード
・ハッシュインデックス

キーワードの解説
  • ハッシュインデックス
    ハッシュ関数と呼ぶ計算式でキー値から格納位置を算出する方法です。
    使用するハッシュ関数に決まりはありませんが、キー値の取りうる値についてユニークな結果になるものになることが条件となります。
    異なったキー値にたいしハッシュ関数で算出した結果が同じだった場合も考慮して格納位置を決定するようにします。

もっと、「ハッシュインデックス」について調べてみよう。

戻る 一覧へ 次へ