SET、MAP底层原理

SET、MAP底层原理
1. SET
集合 底层实现 是否有序 是否可重复 是否可修改 查询效率 增删效率
std::set 红黑树 有序 O(logn) O(logn)
std::multiset 红黑树 有序 O(logn) O(logn)
std::unorded_set 哈希表 无序 O(1) O(1)
2. MAP
映射 底层实现 是否有序(key) 是否重复(key) 是否修改(key) 查询效率 增删效率
std::map 红黑树 O(logn) O(logn)
std::multimap 红黑树 O(logn) O(logn)
std::unordered_map 哈希表 O(1) O(1)
3. 总结:

在STL中,虽然不同的底层实现的数据结构相同,但是分清不同的底层实现,了解其异同,根据不同的应用场景选择不同的底层实现,对提高程序的性能,减少不必要的计算大有用处。

猜你喜欢

转载自blog.csdn.net/qq_44733706/article/details/128522839