티스토리 뷰
1. sort()
- len(list) 가 N일때 : N log N
2. list의 in
- 내부적으로 for문을 돈다 => worst의 경우 O(N)
# 예시
lst = [1, 2, 3, 4, 5]
print(3 in lst)
found = False
for item in lst:
if item == 3:
found = True
break
print(found)
*대안 : set이나 dict의 in
- 해시 테이블 기반이라 in 연산이 매우 빠르다 => O(1) 평균
3. remove
- 내부적으로 for문을 돈다 => worst의 경우 O(N)
def remove(x):
for i in range(len(lst)): # O(N)
if lst[i] == x:
shift elements left # O(N) in worst case
return
- shift elements left의 동작 원리
# 예시
lst = [10, 20, 30, 40]
lst.remove(20)
# 동작
Before: [10, 20, 30, 40]
↑ ← 삭제 대상
After: [10, 30, 40]
↑ ← 당겨짐!
반응형
'AI > CS' 카테고리의 다른 글
| [CS] 자료구조 - 스택, 큐, 트리, 힙 (1) | 2025.04.04 |
|---|---|
| [CS] BFS - 너비 우선 탐색(최단거리) (0) | 2025.04.01 |
| [CS] 코딩테스트 접근 방법 (0) | 2025.03.27 |
| [CS] 재귀함수, 재귀 깊이, 메모이제이션, 동적 프로그래밍 (0) | 2025.03.27 |
| [CS] 알고리즘 - 정렬 (0) | 2025.03.26 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 프로그래머스
- IH
- 운동
- Ai
- opic
- 영어회화
- 뉴스
- 습관
- 갓생
- 빅데이터 분석기사
- 실기
- 루틴
- llm
- 줄넘기
- 오픽
- 아침
- Python
- 경제
- SQL
- C언어
- 고득점 Kit
- 스크랩
- 다이어트
- ChatGPT
- 오블완
- 아침운동
- 기초
- 티스토리챌린지
- 미라클모닝
- 30분
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
글 보관함