힙큐
-
우선순위 큐 (최소 힙) 구현하기CS/자료구조_알고리즘 2024. 4. 30. 16:19
프로그래머스에서 자바스크립트로 코테 문제 풀면서 힙큐를 직접 구현해야 하는 김에 블로그에 정리 함.힙의 필요 기능 2개 push,pop힙에서의 각각의 원소들은 배열로 이루어져 있고 최소힙과 최대힙을 구현할 때 값의 기준은들어가는 배열의 첫번 째 인덱스 값을 비교값으로 구현함1. 삽입(push)힙은 트리 형태로 되어 있지만 배열로도 구현 하는게 더 편함.인덱스로 접근하면 root부터 left right가 존재함.삽입을 구현할려면 일단 배열 제일 마지막에 현재 삽입값을 넣어준다.이후 자신의 부모 노드를 비교해가며 부모 노드가 현재의 값보다 작다면 swap해줄것.이것을 루트까지 반복 ( 작은 값을 만난다면 멈추고 )push(a) { this.heap.push(a); if (this.h..