开发者

How efficient is Python's max function

The function max() which returns the maximum element from a list . . . what is its running time开发者_运维问答 (in Python 3) in terms of Big O notation?


It's O(n), since it must check every element. If you want better performance for max, you can use the heapq module. However, you have to negate each value, since heapq provides a min heap. Inserting an element into a heap is O(log n).


Of course it is O(n) unless you are using a different datastructure supporting the max of a value collection due to some implementation invariant.


It depends on how you are using it. If you want to maximize based on a function "someFunc", it'll take O(len(l)*k) where k is the time function "someFunc" takes to run.

maxVal = max(l, key=somefunc)

But yes for normal case it should just iterate over the list and find the max using normal compare function.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜