CS

Binary Heap

서머스 2022. 9. 30. 17:22

이진 힙(Binary Heap)

= heap

- 최댓값 및 최솟값을 찾아내는 연산을 빠르게 하기 위해 고안된 완전 이진트리(complete binary tree)를 기본으로 한 자료구조

- 시간 복잡도는 O(log n) 이다.

이진 힙 특징

- 완전하다 : 트리가 왼쪽에서 오른쪽으로 다 채워짐 = 완전 이진 트리(Complete Binary Tree)

https://garysummers.tistory.com/124

 

Tree

- 비선형 자료구조 - 계층적 관계(Hierarchical Relationship)를 표현하는 자료구조 - 가지를 늘려가며 표현하게 된다. Tree의 구조 - 노드(node) : 2, 7, 5, 2, 6, 5, 11, 4, 9와 같은 요소들 - 간선(edge) : 노..

garysummers.tistory.com

 

- *힙 순서 속성을 만족한다

최대 힙(Max Heap)일 때

   - 모든 노드는 그 자식노드보다 크거나 같다

   - 루트 노드는 항상 가장 큰 노드이다 => 최대 힙

 

최소 힙(Min Heap)일 때

  - 모든 노드는 그 자식노드보다 작거나 같다

  - 루트 노드는 항상 가장 작은 노드이다.

 

 

힙 순서 속성

- 힙은 제한된 순서 정보를 제공한다.

- 각각의 경로는 정렬되어 있고, 서브트리는 정렬되어 있지 않다. => binary heap != binary search tree

 

 

Binary Heap과 BST의 차이

Binary Heap은 좌, 우 자식노드 보다 값이 작다

BST는 좌 자식노드보다 크고, 우 자식노드보다 작다

 

 

- binary heap은 완전한 트리이다. -> 우측 가장 아래를 제외하곤 다 사용된다.

 

 

 

 

 

--참조

https://courses.cs.washington.edu/courses/cse373/06sp/handouts/lecture10.pdf

 

https://ko.wikipedia.org/wiki/%ED%9E%99_(%EC%9E%90%EB%A3%8C_%EA%B5%AC%EC%A1%B0) 

 

힙 (자료 구조) - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 1부터 100까지의 정수를 저장한 최대 힙의 예시. 모든 부모노드들이 그 자식노드들보다 큰 값을 가진다. 힙(heap)은 최댓값 및 최솟값을 찾아내는 연산을 빠르게

ko.wikipedia.org

https://yoongrammer.tistory.com/80

 

[자료구조] 힙 (Heap) or 이진 힙(binary heap)

목차 힙 (Heap) or 이진 힙(binary heap) 알아보기 힙(heap)은 이진 힙(binary heap)이라고도 하며, 최댓값 및 최솟값을 찾아내는 연산을 빠르게 하기 위해 고안된 완전 이진트리(complete binary tree)를 기본으..

yoongrammer.tistory.com

 

'CS' 카테고리의 다른 글

Hash Table  (0) 2022.10.01
Red-Black Tree  (0) 2022.10.01
Tree  (0) 2022.09.24
Array vs Linked List  (0) 2022.09.23
Stack vs Queue  (0) 2022.09.23