유튜브블로그Top 10
내 프로필

데브허브 안내
소개업데이트 소식

데브허브 커뮤니티

자료구조 - 힙 정렬

얄팍한 코딩사전

2025. 7. 14.

0

#db
#frontend
  • 힙 정렬은 힙 자료구조의 특성을 활용하여 배열을 정렬하는 알고리즘입니다. 📚
  • 주어진 배열을 최대 힙(Max-Heap)으로 구축한 후, 가장 큰 값을 루트에서부터 하나씩 추출하여 배열의 끝에 배치하며 정렬합니다. 🏗️
  • heapify 메소드를 통해 배열의 특정 부분을 힙 상태로 만들며, 초기 힙 구축과 값 추출 후 힙 재구성 과정에 핵심적으로 사용됩니다. 🌳
  • 정렬 과정은 배열 전체를 최대 힙으로 만든 다음, 루트의 최댓값을 배열의 마지막 요소와 교환하고 힙 크기를 줄인 후 남은 부분을 다시 힙으로 만드는 반복으로 이루어집니다. 🔄
  • 힙 정렬의 시간 복잡도는 항상 N log N으로 빠르고 안정적인 성능을 제공합니다. ⏱️
  • 추가 메모리를 거의 사용하지 않는 제자리 정렬(In-place sorting) 방식이라는 장점이 있습니다. 💾
  • 코드는 heapify 함수와 이를 호출하여 초기 힙을 만들고, 이후 정렬된 요소를 제외한 나머지 부분에 대해 반복적으로 heapify를 적용하는 구조로 되어 있습니다. 💻
  • 힙 정렬은 일정한 시간 복잡도와 낮은 메모리 사용량이 필요한 경우 유용하지만, 메모리 지역성이 낮아 캐시 효율성이 떨어지므로 퀵 정렬만큼 실무에서 널리 사용되지는 않습니다. 📉

Recommanded Videos