为什么C STL映射容器O(log(n))的复杂性?

前端之家收集整理的这篇文章主要介绍了为什么C STL映射容器O(log(n))的复杂性?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对于诸如向量和列表之类的C STL容器,查找元素和插入或删除元素的复杂性是不言自明的.然而,对于地图容器,即使我从阅读中知道访问和插入复杂性/性能是O(log(n)),我无法解释为什么.我显然不了解我所需要的地图,所以对这个话题的启发将会非常感激.

解决方法

地图或集合的元素包含在树结构中;每次检查树的节点时,都可以确定要尝试查找/插入的元素是否小于或大于节点.您需要执行此操作的次数(适用于平衡树)为log2(N),因为每次比较都会抛出一半的可能性.

猜你在找的C&C++相关文章