We will find a way, we always have.

-interstellar

Programming Language/파이썬

[파이썬] list, dict 주요 함수 시간복잡도

Redddy 2022. 4. 13. 22:41
List
Operation Example Big-O Notes
Index a[i] O(1)  
Store a[i] = 0 O(1)  
Length len(i) O(1)  
Append a.append(5) O(1)  
Pop a.pop() O(1) a.pop(-1)과 동일
Clear a.clear() O(1) a = [] 과 유사
Slice a[a:b] O(b-a) a[:] : O(len(a)-0) = O(N)
Extend a.extend(...) O(len(...)) 확장 길이에 따라
Construction list(...) O(len(...)) 요소 길이에 따라
check ==, != |1 == |2 O(N) 비교
Delete del a[i] O(N)  
Remove a.remove(...) O(N)  
Containment x in/not in a O(N) 검색
Copy a.copy() O(N) a[:] 과 동일 -O(N)
Pop a.pop(i) O(N) a.pop(0):O(N)
Extreme value min(i)/max(i) O(N) 검색
Reverse a.reverse() O(N) 그대로 반대로
Iteration for v in a: O(N)  
Sort a.sort() O(N Log N)  
Multiply k*a O(k N) [1,2,3] * 3 >> O(N**2)
Dict
Operation Example Big-O Notes
Index d[k] O(1)  
Store d[k] = v O(1)  
Length len(d) O(1)  
Delete del d[k] O(1)  
get/setdefault d.method O(1)  
Pop d.pop(k) O(1)  
Pop item d.popitem() O(1)  
Clear d.clear() O(1) s = {} or = dict() 유사
View d.keys() O(1) d.values() 동일
Construction dict(...) O(len(...))  
Iteration for k in d: O(N)