ハッシュキーとハッシュ値のフェッチの複雑さを尋ねるインタビューの質問を読んだところです。私は常に、O(1 + n/k) (k はバケットの数) で、両方が同じであると考えていました。私は何が欠けていますか?
質問する
194 次
2 に答える
4
ハッシュキーを取得すると、キーの長さがO(lk)になります。これは、ハッシュする必要があるためですが、n/k
特定のハッシュテーブルに対して一定であると想定されています。n
これは通常、に依存しないため O(1) と呼ばれますが、キー サイズが固定されていない限り、厳密にはO(1) ではありません。
ただし、ハッシュ値を取得するには、事前に注文していないと仮定して、テーブル全体を繰り返し処理する必要があります (O(log(n)) のバイナリ ルックアップもサポートできるハッシュ テーブルを設計できますが、これは一般的ではありません)。 .
于 2013-01-19T17:50:52.363 に答える
2
ハッシュ値は、最初の検索場所です。必要なデータがそのインデックスに格納されていない場合は、検索対象のデータが見つかるまで反復してハッシュ キーを取得します。
于 2013-01-19T17:49:59.883 に答える