[자료구조] 힙(Heap)

이진이·2023년 8월 30일
0

JavaScript 자료구조

목록 보기
6/6
post-thumbnail

힙 트리

우선순위 큐를 위해 만들어진 자료구조

최소 값이나 최대 값을 빠르게 찾아내기 위해 완전 이진 트리를 기반으로 한 자료구조

  • 우선순위 큐 : 우선순위 개념을 큐에 도입한 자료구조.
    • 데이터들이 우선순위를 가지고 있어 우선순위가 높은 데이터가 먼저 나간다.
  • 반 정렬 상태
  • 완전 이진 트리의 일종
  • 중복 값을 허용

종류

  • 최대 힙 : 부모 노드의 키 값이 자식 노드의 키 값보다 크거나 같은 완전 이진 트리
  • 최소 힙 : 부모 노드의 키 값이 자식 노드의 키 값보다 작거나 같은 완전 이진 트리


구현

  • 힙 구현의 표준은 배열이다.
  • 부모와 자식 인덱스는 항상 정해져 있다.
왼쪽 자식 index = (부모 index) * 2
오른쪽 자식 index = (부모 index) * 2 + 1
부모 index = (자식 index) / 2



관련 알고리즘

힙 생성(정렬)

profile
프론트엔드 공부합니다. 블로그 이전: https://jinijana.tistory.com

0개의 댓글