Files
2nd/10_Wiki/Topics_GD/Algorithm-Complexity-Big-O.md
T

2.1 KiB

id, category, confidence_score, tags, last_reinforced
id category confidence_score tags last_reinforced
BIG-O-001 10_Wiki/💡 Topics/AI 1.0
computer-science
algorithm
complexity
Optimization
big-o
2026-04-26

Algorithm Complexity (Big O, 알고리즘 복잡도)

📌 한 줄 통찰 (The Karpathy Summary)

"데이터가 무한히 늘어날 때, 알고리즘이 얼마나 버틸 수 있는지 측정하라" — 입력 데이터의 크기(n)에 따른 시간적(Time) 및 공간적(Space) 자원 소모량의 증가 추세를 나타내는 수학적 표기법.

📖 구조화된 지식 (Synthesized Content)

  • 추출된 패턴: 구체적인 실행 시간 대신 최악의 경우(Worst-case)를 기준으로 알고리즘의 확장성(Scalability)을 분류하여 효율적인 설계를 돕는 추상화 패턴.
  • 주요 복잡도 단계:
    • O(1): 상수 시간. 입력 크기와 무관하게 즉시 처리 (예: 배열 인덱스 접근).
    • O(\log n): 로그 시간. 처리 범위가 절반씩 줄어듦 (예: 이진 탐색).
    • O(n): 선형 시간. 입력 크기에 비례 (예: 단순 반복문).
    • O(n \log n): 선형 로그 시간. 효율적인 정렬 알고리즘 (예: Merge Sort, Quick Sort).
    • O(n^2): 이차 시간. 이중 반복문. 대규모 데이터에서 기하급수적으로 느려짐.
    • O(2^n): 지수 시간. 매우 위험한 복잡도 (예: 피보나치 재귀).
  • 의의: AI 모델 학습이나 대규모 인덱싱 시 알고리즘 선택의 결정적 기준이 됨.

⚠️ 모순 및 업데이트 (Contradictions & RL Update)

  • 과거 데이터와의 충돌: 단순히 '빠른' 알고리즘을 찾던 시기에서, 메모리 사용량(Space Complexity)과 캐시 효율성까지 고려하는 다각적 최적화 시대로 진화.
  • 정책 변화: Antigravity 프로젝트는 모든 지식 검색 및 클러스터링 알고리즘 도입 시 최악의 경우 O(n \log n) 이하의 복잡도를 유지하는 것을 원칙으로 함.

🔗 지식 연결 (Graph)