나는 그것이 파이썬 2와 3 max
의 sort
함수 보다 느리다 는 것을 발견했습니다 .
파이썬 2
$ python -m timeit -s 'import random;a=range(10000);random.shuffle(a)' 'a.sort();a[-1]'
1000 loops, best of 3: 239 usec per loop
$ python -m timeit -s 'import random;a=range(10000);random.shuffle(a)' 'max(a)'
1000 loops, best of 3: 342 usec per loop
파이썬 3
$ python3 -m timeit -s 'import random;a=list(range(10000));random.shuffle(a)' 'a.sort();a[-1]'
1000 loops, best of 3: 252 usec per loop
$ python3 -m timeit -s 'import random;a=list(range(10000));random.shuffle(a)' 'max(a)'
1000 loops, best of 3: 371 usec per loop
( )이 함수 ( ) 보다 느린 이유 는 무엇 입니까?max
O(n)
sort
O(nlogn)
a.sort()
제자리에서 작동합니다. 시도sorted(a)
sort
다음 종류의, 그리고 a
영원히 정렬