힙(Heap)

연쇄코딩마·2021년 6월 30일
0
post-thumbnail
post-custom-banner

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

힙의 조건

  • 완전 이진 트리 : 위에서 아래로 왼쪽에서 오른쪽으로 순차적으로 채워가는 트리

    출처 : https://robodream.tistory.com/181
  • 부모노드의 키 값 > 자식노드의 키 값
    : 이 조건을 최대힙(Max heap) 이라고 하며 원소가 내림차순으로 정렬되어 있다.
  • 부모노드의 키 값 < 자식노드의 키 값
    : 이 조건을 최소힙(min heap) 이라고 한다. 원소가 각 노드의 자식보다 작다. 즉 오름차순이다.

힙의 삽입 연산

삽입시에 가장 중요한 포인트는 이진트릴 유지해야 된다.

아래의 삽입 애니메이션은 최대 힙인 경우 제일 큰 노드의 값이 삽입이 이루어 졌을때 생기는 과정이다.

힙의 삭제 연산

힙에서의 삭제연산은 언제나 루트 노드에있는 원소를 삭제하며, 최대 힙에서는 가장 큰원소를 삭제한다. 최소힙에서는 가장 작은 원소를 삭제 하여 반환한다.

profile
只要功夫深,铁杵磨成针
post-custom-banner

0개의 댓글