valarray复杂性

时间:2011-06-11 05:12:20

标签: c++ stl complexity-theory

STL中valarray::minvalarray::max函数的时间复杂度是多少?

此外,什么是查找各种其他STL组件的时间/空间复杂性的良好来源?

2 个答案:

答案 0 :(得分:2)

O(N)

这些功能不会缓存其结果。

在任何stl参考中搜索标题为“Complexity”的部分,例如

http://www.cplusplus.com/reference/algorithm/max_element/

http://www.sgi.com/tech/stl/min_element.html
http://www.sgi.com/tech/stl/max_element.html

时间复杂度规范是几乎所有方法和功能的STL规范的一部分。

通常不指定记忆复杂性。

这些[低级别]功能有充分的理由不缓存最小/最大结果:
如果你想快速获得经常修改的容器的最小/最大元素,你可以 (1)自己保持最小值/最大值 (2)使用堆或树而不是向量

答案 1 :(得分:0)

检查STL组件复杂性的好地方:http://www.sgi.com/tech/stl/