[Time Complexity] Python - Numpy vs List of zeros declaration

[시간 복잡도] 파이썬 - Numpy vs List의 제로 배열 선언 비교

code n = 10000000 n = 100000000 n = 1000000000 Time Complexity
[0] * n 0.0831630230  0.8130910397 8.0924339294 O(n)
[0 for i in xrange(n)] 0.3735442162  3.7914631367  37.1647899151  O(n)
x = [] 
for i in xrange(n):
    x.append(0)
0.9481530190  9.4668169022  94.6755440235  O(n)
numpy.zeros((n,)) 0.0000300407 0.0000290871  0.0000340939  O(1)
numpy.full((n,),0) 0.0420970917 0.4114339352 4.0288629532 O(n)
numpy to list 0.5932991505 5.9227490425 59.9193470478 O(n)

결론

1. 제로 리스트 선언은 numpy.zeros가 가장 빠름

2. 다만 numpy to list 시간 복잡도가 O(n)이므로 리스트로 변환이 필요시에 [0] * n 가 가장 빠름

+ Recent posts