Computer science/Algorithm

heap

잔망루피 2020. 11. 26. 18:36

최악의 경우에 시간복잡도는 O(nlog2n)

heap은 2가지 조건을 만족한다.

1. complete binary tree

2. heap property를 만족해야 함.

- max heap property : 부모 노드 값 >= 자식

- min heap property : 부모 노드 값 <= 자식

 

full binary tree는 모든 레벨에 노드들이 꽉 차 있다. full binary tree는 complete binary tree를 포함.

complete binary tree는 마지막 레벨에 몇 개의 노드가 비어있는 트리.

 

힙은 일차원 배열로 표현 가능함.

루트 노드는 A[1]이다.

A[i]의 부모는 A[i/2]

A[i]의 왼쪽 자식은 A[2i], 오른쪽 자식은 A[2i+1]

 

# 힙 정렬

max heap은 작은 값을 가진 노드의 왼쪽과 오른쪽 자식 중 더 큰 자식과 자리를 바꾸는 방식으로 정렬.

반응형

'Computer science > Algorithm' 카테고리의 다른 글

Recursive Algorithm(재귀 호출)  (0) 2020.12.04
divide & conquer algorithm  (0) 2020.12.04
검색  (0) 2020.02.27
부분집합  (0) 2020.02.22
2차원 List  (0) 2020.02.01