我想知道在哪种情况下,我应该使用unordered_map而不是std :: map.
每当我不注意地图中元素的顺序时,都要使用unorderd_map?
解决方法
地图
>通常使用red-black tree实现.
元素被排序.
>相对较小的内存使用(不需要额外的内存用于哈希表).
>相对快速查找:O(log N).
unordered_map
>通常使用hash-table实现.
元素没有排序.
>需要额外的内存来保留哈希表.
>快速查找O(1),但是恒定时间取决于可能相对较慢的hash-function.还要记住,你可以见到Birthday problem.