基本情報技術者試験 - 令和5年7月修了 - 問15
ハッシュ法の説明として,適切なものはどれか。
| ア | 関数を用いてレコードのキー値からレコードの格納アドレスを求めることによってアクセスする方法 |
|---|---|
| イ | それぞれのレコードに格納されている次のレコードの格納アドレスを用いることによってアクセスする方法 |
| ウ | レコードのキー値とレコードの格納アドレスの対応表を使ってアクセスする方法 |
| エ | レコードのキー値をレコードの格納アドレスとして直接アクセスする方法 |
答え : ア
分野 : テクノロジ系 › 基礎理論 › アルゴリズムとプログラミング › アルゴリズム
解説 :
「ハッシュ法」とは,データ(レコード)を格納したり検索したりする際に,ハッシュ関数と呼ばれる計算式を使って,レコードのキー値から,そのレコードを格納すべきアドレス(場所)を直接計算する方法です。この方法を使うことで,目的のレコードがどこにあるかを,順番に探し回ることなく,計算だけで素早く求めることができます。従って,正解は「ア」です。
「イ」は,それぞれのレコードに格納されている次のレコードの格納アドレスを用いてアクセスする方法についての説明で,これは「連結リスト」(ポインタを使ったリスト構造)を利用したアクセス方法についての説明です。
「ウ」は,レコードのキー値とレコードの格納アドレスの対応表を使ってアクセスする方法についての説明で,これは「索引」(インデックス)を用いたアクセス方法についての説明です。
「エ」は,レコードのキー値をレコードの格納アドレスとして直接アクセスする方法についての説明で,これはキー値がそのままアドレスとして使える特殊な場合(直接アドレス指定)についての説明であり,ハッシュ関数による計算を介するハッシュ法とは異なります。
分野 : テクノロジ系 › 基礎理論 › アルゴリズムとプログラミング › アルゴリズム
解説 :
「ハッシュ法」とは,データ(レコード)を格納したり検索したりする際に,ハッシュ関数と呼ばれる計算式を使って,レコードのキー値から,そのレコードを格納すべきアドレス(場所)を直接計算する方法です。この方法を使うことで,目的のレコードがどこにあるかを,順番に探し回ることなく,計算だけで素早く求めることができます。従って,正解は「ア」です。
「イ」は,それぞれのレコードに格納されている次のレコードの格納アドレスを用いてアクセスする方法についての説明で,これは「連結リスト」(ポインタを使ったリスト構造)を利用したアクセス方法についての説明です。
「ウ」は,レコードのキー値とレコードの格納アドレスの対応表を使ってアクセスする方法についての説明で,これは「索引」(インデックス)を用いたアクセス方法についての説明です。
「エ」は,レコードのキー値をレコードの格納アドレスとして直接アクセスする方法についての説明で,これはキー値がそのままアドレスとして使える特殊な場合(直接アドレス指定)についての説明であり,ハッシュ関数による計算を介するハッシュ法とは異なります。