221207 힙, Heap

Jongleee·2022년 12월 7일
0

TIL

목록 보기
123/576

힙(Heap)

  1. 힙은 Complete Binary Tree(완전 이진 트리) 이다.

  2. 모든 노드에 저장된 값(우선순위)들은 자식 노드들의 것보다 (우선순위가) 크거나 같다.
    ※ 직접 연결된 자식-부모 노드 간의 크기만 비교하면 됨

따라서 힙은 루트 노드에 우선순위가 높은 데이터를 위치시키는 자료구조

종류

  1. 최대 힙(Max Heap)
    완전 이진트리이면서, 루트 노드로 올라갈수록 저장된 값이 커지는 구조
    우선순위는 값이 큰 순서대로
  1. 최소 힙(Min Heap)
    완전 이진트리이면서, 루트 노드로 올라갈수록 값이 작아지는 구조
    우선순위는 값이 작은 순서대로

즉, 최대 힙이던 최소 힙이던 루트 노드에는 우선순위가 높은 것이 자리

힙(Heap)의 데이터 저장

  1. 상황
    최소 힙에 어떤 노드 하나가 추가로 들어오게 되는 상황

  2. 새 노드를 맨 끝에 저장
    새 노드는 우선순위가 가장 낮다는 가정

  3. 부모 노드와 우선 순위를 비교
    부모 노드와 비교해서 위치가 기준과 다른 경우 위치를 바꿈

  4. 위치가 맞을 때까지 계속 반복

0개의 댓글