Computer science/Algorithm

Heap

잔망루피 2021. 2. 4. 19:27

Heap

완전 이진 트리에 있는 노드 중에서 키값이 가장 큰 노드나 키값이 가장 작은 노드를 찾기 위해 만든 자료구조

1. 최대 힙(Max heap)

키값이 가장 큰 노드를 찾기 위한 완전 이진 트리

부모 노드의 키값 > 자식 노드의 키값

루트 노드 : 키값이 가장 큰 노드

최대 힙

2. 최소 힙(Min heap)

키값이 가장 작은 노드를 찾기 위한 완전 이진 트리

부모 노드의 키값 < 자식 노드의 키값

루트 노드 : 키값이 가장 작은 노드

최소 힙

 

 

삽입 연산

 

최대힙이기 때문에 정렬이 필요할 경우 해야함.

 

 

삭제 연산

1. 힙에서는 루트 노드의 원소만을 삭제할 수 있음

2. 루트 노드의 원소만을 삭제하여 반환

3. 힙의 종류에 따라 최대값 또는 최소값을 구할 수 있음. 이를 이용하여 우선순위 큐를 힙으로 구현할 수 있음.

 

 

 

참고 SW expert academy

 

 

반응형

'Computer science > Algorithm' 카테고리의 다른 글

Counting Sort  (0) 2021.02.16
Bubble-Sort  (0) 2021.02.16
Binary search Tree  (0) 2021.02.04
이진 트리  (0) 2021.02.03
Tree  (0) 2021.02.03