はによると:This Tutorialマップと無秩序マップの違いは何ですか?
私はstd::map
とstd::unorderedmap
の違いを理解することはできません。いつ、なぜ使用するのですか地図とUnorderedmap?
はによると:This Tutorialマップと無秩序マップの違いは何ですか?
私はstd::map
とstd::unorderedmap
の違いを理解することはできません。いつ、なぜ使用するのですか地図とUnorderedmap?
提供したチュートリアルで読んだとおり、std::unorderedmap
の検索速度はO(1)
です。 std::map
にある間はO(log2(n))
です。n
は地図のサイズです。
std::find
を頻繁に呼び出す必要がある場合は、このオプションを検討することができます。ハッシュ関数を選択するのは簡単な作業ではありません。
"std :: unorderedmapの検索速度はO(1)です"これはあまり真実ではありません。 – Slava
@Slavaさて、私は 'std :: unorderedmap'を使用しませんでしたが、チュートリアルではキーのハッシュが計算されて比較されると述べています。これは対数的な複雑さよりも 'O(1)'の方が多いですか? –
それはそうではありません、 'std :: map'と' std :: unordered_map'のO(1)のO(log2(n))を比較しますが、AppleとAppleの比較ではないので比較できません。 'std :: unordered_map'は通常O(1)を持ちますが、O(n)に劣化する可能性がある間、' std :: map'はO(log2(n))を保証します。あなたの声明では、検索速度は常にO(1)であることが示されていますが、これは間違いであり、誤解を招く可能性があります。 – Slava
この回答はテーブルの違いを表示します:https://stackoverflow.com/a/13799886/5601284 – byxor
['std :: map'](http://en.cppreference.com/w/ ['std :: unordered_map'](http://en.cppreference.com/w/cpp/container/unordered_map)が存在しない間に、cpp/container/map)が*整列*されていますか? –
あなたが投稿した同じリンクに別の投稿 'http:// thispointer.com/map-vs-unordered_map-one-over-anotherを選択する/ –