파이썬의 리스트 조작함수 시간 복잡도 정리

d d·2022년 10월 14일
1
post-thumbnail

파이썬 리스트 관련함수의 시간 복잡도 정리

파이썬의 리스트를 조작하는 함수의 시간복잡도

OperationExampleClassNotes
1Indexl[i]O(1)인덱스로 값 찾기
2Storel[i] = 0O(1)인덱스로 데이터 저장
3Lengthlen(l)O(1)리스트 길이
4Appendl.append(5)O(1)리스트 뒤에 데이터 저장
5Popl.pop()O(1)가장 뒤의 데이터 pop
6Clearl.clear()O(1)l = []
7Slicel[a:b]O(b-a)슬라이싱되는 요소들 수 만큼 비례
8Extendl.extend(...)O(len(...))확장되는 길이만큼
9Constructionlist(...)O(len(...))리스트 길이만큼
10check ==, !=l1 == l2O(N)전체 리스트가 동일한지 확인
11Insertl[a:b] = ...O(N)데이터 삽입
12Deletedel l[i]O(N)데이터 삭제
13Containmentx in/not in lO(N)포함 여부 확인
14Copyl.copy()O(N)복제
15Removel.remove(...)O(N)제거
16Popl.pop(i)O(N)제거된 값 이후를 전부 한칸씩 당겨줘야함
17Extreme valuemin(l)/max(l)O(N)전체 데이터를 확인해야함
18Reversel.reverse()O(N)뒤집기
19Iterationfor v in l:O(N)전체 데이터 확인하므로
20Sortl.sort()O(N Log N)파이썬 기본 정렬 알고리즘
21Multiplyk*lO(k N)리스트의 곱은 리스트 개수 늘어남
profile
광주 인공지능 사관학교

1개의 댓글

comment-user-thumbnail
2022년 10월 18일

날먹하지마

답글 달기