2011-07-04 14 views
37

ルックアップ操作またはシングルの場合containsは、最悪の場合はO(n)になる可能性がありますか?だから、nの要素はhashSetで検索するとO(n^2)になりますか?HashSetのルックアップの複雑さ?

+3

"for n elements"とはどういう意味ですか?各要素のルックアップを実行しますか?最悪の場合はO(n)であっても、通常はO(1)です。 –

答えて

59

はいOがかかりますが、それは本当に最悪のケースです:HashSet内のすべての要素が同じハッシュコード(またはにつながるハッシュコードを持っている場合同じバケット)。 hashCodeと正しく配布されたキーサンプルでは、​​参照はO(1)です。

-18

lookpは(C)

C =一定値

6

はい、しかし、私たちがHashSetsを持っている理由は、このワーストケースに非常に低い確率で遭遇し、通常、ヒープや(セルフバランシング)TreeSetの保証されたnlognよりもはるかに高速です。ソートされていないリストに対して保証されたn^2。

関連する問題