즘[자료구조] 힙(Heap)
·
자료구조와 알고리즘/자료구조
1. 개념1.1. 정의힙(Heap) 혹은 힙 트리(Heap Tree)는 최댓값 및 최솟값을 찾아내는 연산을 빠르게 하기 위해 고안된 이진트리의 자료구조를 의미한다.영단어 힙(heap)은 "무엇인가를 차곡차곡 쌓아올린 더미"를 의미1.2. 특징A가 B의 부모노드일 시 A의 키값과 B의 키값 사이에 대소관계가 성립한다(형제 관계에서는 성립X)힙은 항상 완전 이진 트리의 형태이기 때문완전 이진 트리 : 트리의 위부터 아래, 오른쪽부터 왼쪽의 순서로 차있는 이진 트리이런 성질 덕분에 최댓값 혹은 최솟값을 O(1) 안에 찾을 수 있음(루트 노드의 값)삽입과 삭제 연산 시 힙 성질 유지 위해 힙 정렬 수행을 수행한다. 1.3. 종류최대힙부모 노드의 값이 자식 노드의 값보다 크거나 같음최소힙부모 노드의 값이 자식 노..