[알고리즘] 힙

더미

완전한 이진 트리 형태의 데이터 구조

일반적으로 그룹 정렬또는 입력된 데이터에서 최소/최대 값을 검색할 때 사용.

또한, 우선순위 큐구현은 또한 힙 데이터 구조를 사용합니다.

파일의 끼워 넣다수업 끄다빠르고 각 실행 시간은 오(logN) 오전.


출처 : https://wonit.203

  • 최소 힙: 부모 노드의 키 값이 자식 노드의 키 값보다 큽니다. 항상 작은.
  • 최대 힙: 부모 노드의 키 값이 자식 노드의 키 값보다 큽니다. 항상 큰.

힙 삽입 작업

  1. 나무의 마지막 위치에게 노드 삽입하다.
  2. 추가된 노드그리고 부모 노드가다 힙 제약 조건이 충족되는지 확인하다.
  3. 만족하지 않으면 부모그리고 어린이~에서 키 값 변경.
  4. 조건에 만족또는 추가된 노드가 루트에 도달~까지 2~3회 반복하다.

힙 삭제 작업

  1. 삭제 작업이 힙에 있습니다. 항상 루트 노드 삭제하다.
  2. 나무의 마지막 매듭붓다 루트로 삽입하다.
  3. 위치의 노드그리고 자식 노드가다 힙 제약 조건이 충족되는지 확인하다.
  4. 만족하지 않으면 왼쪽 아이수업 진짜 아이 센터 적절한 노드 및 키 값으로 대체.
  5. 조건을 충족하다또는 리프 노드에 도달~까지 3~4회 반복하다.