std::unordered_map<int, int>
應該比std :: map`更快嗎?我不關心順序,只是快速查找,所以我認爲我應該使用哈希表。但後來我想也許它會嘗試另外哈希我的密鑰或類似的東西(我不需要)?是否有意義使用std :: unordered_map <int, int>而不是std :: map <int, int>?
和一個相關的問題:我需要通過int
鍵檢索int
值。我應該使用unordered_map<int, int>
還是unordered_set<pair<int, int> >
(在這種情況下,我需要爲我的配對正確實現散列函數)?
重點是,我已經提供散列值的散列表(我的密鑰是散列)。是否有意義? –
不,你沒有準確地爲散列值提供散列值,除非它的容量是'2 <<(sizeof(int)* 8)',這樣每個int值都可以映射到它自己的單元格,但在這種情況下, int [2 <<(sizeof(int)* 8]'數組就足夠了,問題將與數據的緩存有關,而不是數據結構的性能 – Jack
當然,我現在看到了,謝謝。 –