320x100
320x100
위에서 아래로 빠른 순
O(1) < O(log n) < O(n) < O(n log n) < O(n²) < O(2ⁿ) < O(n!)
표기 | 이름 | 의미 | 예시 |
O(1) | 상수 시간 | 입력 크기와 관계없이 항상 같은 시간 (한 번의 연산) | 배열에서 인덱스로 원소 접근 |
O(log n) | 로그 시간 | 입력을 매번 절반씩 줄여가며 처리함. 입력이 커질수록 실행 시간이 느리게 증가 |
이진 탐색(Binary Search) |
O(n) | 선형 시간 | 모든 데이터를 한 번씩 확인해야 함. 입력 크기에 비례해서 실행 시간 증가 |
배열 전체 순회 |
O(n log n) | 로그 선형 시간 | n 개의 데이터 각각이 log n의 깊이에서 비교됨 효율적인 정렬 알고리즘들이 이에 속함 |
병합 정렬, 퀵 정렬 평균 |
O(n²) | 제곱 시간 | 모든 원소 쌍을 비교하는 경우 n이 2배 되면 실행 시간은 4배 |
버블 정렬, 삽입 정렬 |
O(n³) | 세제곱 시간 | 모든 조합을 탐색함. n이 2배 되면 실행 시간은 8배 |
3중 for문 알고리즘 |
O(2ⁿ) | 지수 시간 | 가능한 모든 경우(부분집합 등)를 시도함. 입력 크기 조금만 커져도 급격히 증가 |
부분집합 탐색, 재귀적 조합 |
O(n!) | 팩토리얼 시간 | 순열처럼 가능한 모든 순서를 전부 시도함. 매우 느림 (n이 10만 되어도 거의 불가능) |
외판원 순회 문제(Brute force) |
300x250
728x90
'Development > Development' 카테고리의 다른 글
IKEA 설명서 스타일로 알고리즘 설명하기 (0) | 2025.10.19 |
---|---|
개발을 효율화하는 최신 도구 8선 (0) | 2025.10.19 |
커서 (cursor)를 더 똑똑하게 사용하고 싶은 분들을 위한 팁 12개 (0) | 2025.10.19 |
GoF 디자인 패턴 한 줄 요약 (2) | 2025.08.27 |
프로젝트 내 줄바꿈 문자를 CSRF에서 LF로 일괄변경 (0) | 2025.08.24 |