map
是基于红黑树实现,O(lgn) 的时间复杂度完成查找、插入和删除,内部是有序的
unordered_map
是基于 hash_table
实现
map | unordered_map | |
---|---|---|
实现原理 | 红黑树 | hash_table |
有序性 | 有序 | 无序 |
时间复杂度 | 查找、插入和删除都是 O(lgn) | 查找、插入和删除平均 O(1),最坏 O(n) |
内存占用 | 更少 | 更多 |
使用场景 | 需要数据有序;对内存敏感 | 大多数情况下选择 unordered_map,特别是需要查找的情况 |