힙정렬

·CS/알고리즘
힙이란? 힙은 이진트리구조이다. 최대힙과 최소힙이 있으며 자식노드로 올수록 커지면 최소힙, 작아지면 최대힙이라 할 수 있겠다. 최소힙기준으로 설명을 하자면 양 자식노드의 값은 루트노드보다 작아야한다. 힙 구현 힙은 배열형태로 구현할 수 있다. 부모노드 인덱스 * 2가 왼쪽자식, 부모노드 인덱스*2+1이 오른쪽 자식 되시겠다. 삽입 힙의 삽입은 배열로 구현할 경우, 배열의 마지막 인덱스에 요소를 추가하는 것으로 시작된다. 그리고 해당 인덱스와 부모노드를 인덱스값이 작을떄까지(클때까지) 비교하며 둘의 위치를 조정한다. 루트까지 진행한다. add(value) { this.heap.push(value); let currentIndex = this.heap.length - 1; let parentIndex = M..
_0422
'힙정렬' 태그의 글 목록