알고리즘/힙
[Python] 힙 정렬
힙 정렬이란? - 루트 노드에 최대/최소 값만 위치할 수 있는 힙의 특성을 이용해서 인덱스를 제한해나가면서 정렬. 추상적 구현 - 리프 노드가 아닌 노드들부터 heapify()를 이용해 느슨한 정렬 유지. - 마지막 인덱스 ~ 루트 노드 직전 인덱스까지 최대/최소 값인 루트 노드 값과 끝 값 위치 교환하며 heapify() 반복. # PYTHON CODE n = int(input('정렬할 리스트 원소의 수를 입력하시오: ')) seq = [] for _ in range(n): a = int(input('리스트의 원소를 입력하시오: ')) if a == - 1: break seq.append(a) def heap_sort(seq): for i in range(n // 2 - 1, -1, -1): # 리프 ..