피드로 돌아가기
Big O Notation explained
Dev.toDev.to
Backend

입력 규모에 따른 실행 시간 복잡도 분석 및 알고리즘 최적화 전략

Big O Notation explained

Caique Santos2026년 4월 22일3beginner

Context

입력 데이터 규모 증가에 따른 소프트웨어 실행 속도의 변동성 파악 필요성 제기. 적절한 알고리즘 미선택 시 발생하는 시스템 성능 저하 및 Resource 낭비 문제 분석.

Technical Solution

  • Dictionary 기반 Key 접근을 통한 O(1) Constant Time 구현으로 입력 크기와 무관한 성능 유지
  • Binary Search 적용 및 데이터 정렬 전제 조건 활용을 통한 O(log n) Logarithmic Time 달성
  • 단일 루프 구조 설계를 통한 O(n) Linear Time 구현 및 입력 크기에 비례한 선형적 시간 증가 제어
  • Merge Sort 및 Quick Sort 적용을 통한 O(n log n) Linearithmic Time 기반의 효율적 데이터 정렬 수행
  • 중첩 루프 제거를 통한 O(n²) Quadratic Time의 기하급수적 실행 시간 증가 방지

- 데이터 접근 패턴 분석을 통한 Dictionary vs List 선택 기준 수립 - 대규모 정렬 작업 시 내장 Sort 함수의 시간 복잡도(O(n log n)) 검토 - 중첩 루프 발생 시 시간 복잡도 분석을 통한 알고리즘 개선 가능성 탐색 - 데이터 정렬 상태에 따른 Binary Search 도입 가능 여부 판단

원문 읽기