1
A
回答
2
O(N)
这些功能不缓存它们的结果。
在任何stl参考中搜索标题为“复杂性”的部分,例如
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)cahe /维持最小值/最大值自己
(2)使用堆或树木代替矢量
0
一个好地方,检查STL组件的复杂性:http://www.sgi.com/tech/stl/
相关问题
- 1. `append`复杂度
- 2. Kolmogorov复杂度
- 3. 时间复杂度和空间复杂度,如何计算空间复杂度
- 4. 时间复杂度
- 5. 堆栈复杂度
- 6. 时间复杂度
- 7. 时间复杂度
- 8. 时间复杂度
- 9. Android OnClickListener复杂度
- 10. 渐近复杂度
- 11. stl list - 复杂度
- 12. 计算函数的空间复杂度和时间复杂度
- 13. 将标量乘以复数valarray
- 14. 'if'in'时间复杂度
- 15. map.find()的时间复杂度
- 16. Dijkstra的算法 - 复杂度
- 17. A *的时间复杂度
- 18. 时间复杂度(Java,Quicksort)
- 19. 降低时间复杂度
- 20. NSGA ii算法复杂度
- 21. 算法复杂度时间
- 22. Math.Sqrt()的时间复杂度?
- 23. 非大O复杂度
- 24. 2^n复杂度算法
- 25. 时间复杂度说明
- 26. 二叉树复杂度
- 27. 字谜时间复杂度
- 28. 基本复杂度混淆
- 29. JQUERY时间复杂度
- 30. 运行时间复杂度
他们怎么能比'O(N)'其他的什么吗? – ildjarn 2011-06-11 05:19:17
当第一次被叫时,是的,他们应该花'O(N)'的时间。但也许有可能将它存储在一个字段中,以便将来的调用可以获取存储的值,而不是再次检查它。 – loudandclear 2011-06-11 05:23:18
它是可能的(如果你保持跟踪数组的变化值) - 但它没有指定。也就是说,你可能(虽然我怀疑它)有一个不同的实现,但是标准指定了O(n)。 – nimrodm 2011-06-11 06:29:31