피드로 돌아가기
Kth Largest Element | Heaps
Dev.toDev.to
Backend

Min Heap 기반 K-size 유지로 시간 복잡도 O(N log K) 달성

Kth Largest Element | Heaps

Jaspreet singh2026년 6월 22일2beginner

Context

전체 배열 정렬을 통한 K번째 요소 추출 방식의 O(N log N) 시간 복잡도 한계 분석. 전체 정렬 없이 Top K 요소만 관리하여 불필요한 연산을 제거하는 최적화 필요성 확인.

Technical Solution

  • Min Heap의 크기를 K로 제한하여 상위 K개 요소만 유지하는 구조 설계
  • 새 요소 추가 시 Heap Size가 K를 초과하면 최소값(poll)을 제거하는 로직 구현
  • Heap의 Root 노드가 항상 현재까지 확인된 요소 중 K번째로 큰 값을 유지하도록 제어
  • 정렬 대상 전체가 아닌 K개의 원소만 힙에 유지함으로써 메모리 사용량 최적화
  • PriorityQueue 자료구조를 활용한 효율적인 요소 삽입 및 삭제 프로세스 구축

Kth Largest/Smallest 요구사항 확인 시 우선적으로 Heap 기반 알고리즘 검토 및 데이터 규모에 따른 K값의 크기와 전체 N의 비율 분석

원문 읽기