ハッシュ関数がO(1)でなくても、辞書の要素にキーでアクセスするとO(1)になるのはなぜか?
2023-09-28 22:18:10
質問
キーでコレクションにアクセスできるのはわかりました。しかし、ハッシュ関数自体は裏でいろいろと操作していますよね?
非常に効率的な素晴らしいハッシュ関数があるとして、それでも多くの演算が必要な場合があります。
これは説明できるのでしょうか?
どのように解決するのですか?
<ブロッククオート
その
HashFunc
自体は、裏側で多くの操作をしています
確かにその通りです。しかし、これらの操作の数は、サイズによって キー のサイズではなく ハッシュテーブル ハッシュ関数を計算するための操作の数は、10 個のエントリを持つテーブルのキーでも、1 万個のエントリを持つテーブルのキーでも同じになります。
そのため、ハッシュ関数の呼び出しはしばしばO(1)とみなされます。これは固定サイズのキー(整数値や固定長の文字列)では問題なく動作します。また、実用的な上限を持つ可変サイズのキーに対しても、適切な近似値を提供します。
しかし一般的に、ハッシュテーブルのアクセス時間はO(k)であり、ここで
k
はハッシュキーの大きさの上限です。
関連
-
[解決済み】C#はJavaのcharAt()と同等?)
-
[解決済み】ランダムなブーリアンを生成する最速の方法
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] 辞書のキーが利用できない場合、デフォルト値を返す
-
[解決済み] コンストラクタのシグネチャを定義するインターフェース?
-
[解決済み] 辞書のキーの名前を変更する
-
[解決済み] JavaScriptにおけるマップとオブジェクトの比較
-
[解決済み】辞書内の最小値に対応するキーを取得する
-
[解決済み] ハッシュテーブルとトライ(プレフィックスツリー)のどちらを選べばいいですか?
-
[解決済み] ハッシュテーブルは本当にO(1)になるのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】WebForms UnobtrusiveValidationModeは、jqueryのScriptResourceMappingを必要とする
-
[解決済み】C#はJavaのcharAt()と同等?)
-
[解決済み】SmtpException: トランスポート接続からデータを読み取れません:net_io_connectionclosed
-
[解決済み] 'SubSonic.Schema .DatabaseColumn' 型のオブジェクトをシリアライズする際に、循環参照が検出されました。
-
[解決済み] [Solved] 不正な文字列値: '\xEFxBFxBD' for column
-
[解決済み】「...は'型'であり、与えられたコンテキストでは有効ではありません」を解決するにはどうすればよいですか?(C#)
-
[解決済み】ランダムなブーリアンを生成する最速の方法
-
[解決済み】画像のペイントにTextureBrushを使用する方法
-
[解決済み] アクセス時間O(1)」とはどういう意味ですか?
-
[解決済み] ハッシュテーブルは本当にO(1)になるのか?