【发布时间】:2015-02-10 02:01:12
【问题描述】:
是 O(1) 还是 O(logN) 但系数较小?
如果未指定,我至少想知道答案是基于一个合理的假设,即地图/集合是使用红黑或 AVL 树实现的。我认为插入元素的一般算法类似于:
- 找到正确的地方 - O(logN)
- 实际插入 - ?
- 必要时重新平衡树 - ?
现在如果我们提供正确的迭代器提示,那么第一步就变成了O(1)。其他步骤也是O(1)还是O(logN)?
【问题讨论】:
-
想想吧。如果您正在编写插入方法,您会执行哪些步骤?如果您需要重新平衡树,您会采取哪些步骤?步骤是否取决于节点数?
标签: c++ data-structures set binary-search-tree tree-balancing