stl中unordered_map 和 map的区别 ?
生活随笔
收集整理的這篇文章主要介紹了
stl中unordered_map 和 map的区别 ?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
stl中unordered_map 和 map的區別
- 目錄
- 一、hash_map與unordered_map
- 二、unordered_map與map
- 三、unordered_map與unordered_set
目錄
一、hash_map與unordered_map
這兩個的內部結構都是采用哈希表來實現。區別在哪里?unordered_map在C++11的時候被引入標準庫了,而hash_map沒有,所以建議還是使用unordered_map比較好。
哈希表的好處是什么?查詢平均時間是O(1)。顧名思義,unordered,就是無序了,數據是按散列函數插入到槽里面去的,數據之間無順序可言,但是有些時候我只要訪問而不需要順序,因此可以選擇哈希表。舉個最好的例子,就是我的LeetCode的博文里------Longest Consecutive Sequence這一題,我的方法二就是用的unordered_map來實現“空間彌補時間”這樣的做法。
二、unordered_map與map
雖然都是map,但是內部結構大大的不同哎,map的內部結構是R-B-tree來實現的,所以保證了一個穩定的動態操作時間&#x
總結
以上是生活随笔為你收集整理的stl中unordered_map 和 map的区别 ?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么创建可启动u盘 制作可启动U盘,应该
- 下一篇: C/C++中extern的用法 ?