[Time Complexity] Python - Find Value in List vs Set vs Dict

[시간 복잡도] 파이썬 - List vs Set vs Dict 에서 Value 찾기

code n = 100000 n = 1000000 n = 1000000 Time Complexity
x in list 0.000494 0.019270
0.235368
O(n)
list.index(x) 0.000537
0.020288
0.246275
O(n)
for a in list:  if(a==x) 0.010289
0.107806
1.036934
O(n)
x in set 0.000002
0.000002
0.000006
O(1)
list to set 0.115826
0.066516
0.716471
 
x in dict 0.000005
0.000005
0.000004 O(1)
list to dict 0.147385
0.223651
2.232983  

결론

1. Set, Dict 에서 value를 찾을 경우에 시간 복잡도 O(1)로 가장 빠름

2. 다만 List to Set/Dict conversation이 필요한 경우에 일정 값 이하의 n에서는 List를 사용

+ Recent posts