我想知道在哪种情况下我应该使用unordered_map而不是std::map。
每次我不注意映射中元素的顺序时,我都要使用unorderd_map?
发布于 2011-05-30 16:39:59
map
通常使用red-black tree.
unordered_map
通常使用hash-table.
发布于 2011-05-30 16:30:14
将哈希表(undorded_map
)与二叉树(map
)进行比较,记住您的CS类并进行相应的调整。
散列映射的查找次数通常为O(1),查找次数为O(logN)。如果您需要许多快速查找,这可能是一个真正的差异。
映射保持元素的顺序,这有时也很有用。
发布于 2011-05-30 16:23:58
map
允许以排序的方式遍历元素,但unordered_map
不允许。
因此,当您需要按排序顺序遍历映射中的项时,请使用std::map
。
https://stackoverflow.com/questions/6173860
复制相似问题