힙 정렬이란? 주어진 데이터들을 이진 트리로 구성하여 정렬하는 방법 입니다. 조금더 디테일 하게는 내림차순 정렬을 위해서는 최대 힙 트리를 구성하고 오름차순 정렬을 위해서는 최소 힙 트리를 구성하여 정렬을 하는 방법입니다. 그러고 보니 힙(heap)이라는 것이 무엇일까요? 힙(heap)이란? 힙은 최댓값 및 최솟값을 찾아내는 연산을 빠르게 하기 위해 고안된 완전이진트리를 기본으로 한 자료구조 입니다. 힙에서 두가지 최대힙과 최소힙으로 나눠집니다. 따라서, 최대힙(Max Heap)은 큰 값이 위로 오도록, 최소힙(Min Heap)은 작은 값이 위로 오도록 구성하는 트리구조 입니다. 이처럼, root에 가장 큰 값 또는 가장 작은 값을 올리고 최종적으로 해당 값을 마지막 위치로 교환하여 정렬을 하는 방식입니..