アルゴリズム・プログラミング応用問題

ハッシュ表の負荷率(ロードファクター)が限りなく 1.0 に近づいた場合、探索性能はどのように変化するか。

A.コリジョンが減少し、O(1) の性能が安定して維持される
✗ 負荷率が高くなるほどコリジョンは増加します。O(1) が安定するのは負荷率が低い場合です。
B.コリジョンが増加し、最悪の場合 O(n) に近い性能に劣化する← 正解
✓ 正解です。負荷率が 1.0 に近づくほど空きスロットが減りコリジョンが頻発し、チェーン長や探索ステップが増えて最悪 O(n) に劣化します。
C.コリジョンは変わらないが、ハッシュ関数の計算コストが増大する
✗ ハッシュ関数の計算コスト自体はデータ量に依存せず一定です。性能劣化の原因はコリジョン増加です。
D.表が自動的にリハッシュされ、性能は O(log n) に安定する
✗ リハッシュは自動では行われず、実装に依存します。また O(log n) になるという記述も正確ではありません。

基本情報技術者試験 の問題一覧