std::unordered_set
には、2つのオブジェクトAとオブジェクトBが等しいかどうかを示す述語があります。私の質問は、AとBが等しいかどうかを判断するのに、O(k)
時間が必要であるとします。 unordered_set::find
はまだ償却された一定の時間を取るか、償却されたO(k)
時間かかりますか?std :: unordered_setは、述語にかかわらずオブジェクトの償却定数ルックアップ時間を取るか?
0
A
答えて
0
std::unordered_map
によって保証される平均一定ルックアップの複雑さは、マップ内の要素の数のみを参照します。同じハッシュ値*を持つ少なくとも1つの要素がマップに含まれている場合、少なくとも1つのキーの完全比較を実行する必要があります。その比較がO(k)ならば、明らかにルックアップもO(k)となるが、それはかなり大きなkにのみ関係するはずである。
*)ほとんどの実装では、同じハッシュについてだけでなく、同じバケットに要素があると思います。
+0
定数は償却されません。平均的なケース定数です。この区別は少し微妙だが重要である。 –
+0
@ T.C。 :ありがとう、固定 – MikeMB
関連する問題
- 1. 動的配列の償却時間
- 2. std :: vector挿入の償却解析
- 3. Goでappend()を償却された一定時間実行しますか?
- 4. SQLは一定時間内にわずか数時間しか値を取得しませんか?
- 5. std :: vector :: resizeとstd :: vector :: push_backで償却する
- 6. O(1)償却時間でデキューできるスタックを設計しますか?
- 7. ハッシュテーブルO(1)償却またはO(1)平均償却?
- 8. std :: setの代わりにstd :: unordered_setを使用する場合
- 9. std :: unordered_setのKeyEqualとは何ですか?
- 10. NS代理返却オブジェクトが定義されているにもかかわらずAsyncがnullを返す
- 11. 式の述語を式の述語から取得するには?
- 12. は、どのように私はNSDateオブジェクトからわずかの時間を得るのですか?
- 13. アップデートにmysql_connect()を償却
- 14. Swift 2からSwift 3に償却されたコード
- 15. は、減価償却mutate_
- 16. python wheelは、多くのインストールでコンパイル時間を償却するとはどういう意味ですか?
- 17. 標準からunordered_set
- 18. `set_time_limit(0); 'にかかわらずPHPスクリプト時間
- 19. std :: unordered_setコンストラクタ
- 20. std :: hash_setとstd :: unordered_setは同じですか?
- 21. データベースから特定の述語を取り出す
- 22. フィボナッチヒープの償却分析はなぜですか?
- 23. app.yamlはappengineのjavaで償却されますか?
- 24. Google Chrome Flash減価償却
- 25. フィールド追加Netsuite償却スケジュール
- 26. VB減価償却額
- 27. TensorFlow:SKCompat減価償却警告
- 28. ポインタのセットにstd :: setまたはstd :: unordered_setを使うべきですか?
- 29. 一定時間前にPaperTrail版からオブジェクトを取得する方法は?
- 30. ThreeHS setHSL()は償却されましたか?
O(k)がヒットしました。少なくとも1つの完全な比較を行う必要があります。 – MikeMB