Skip to content

Commit dcfea1f

Browse files
committed
[211124] 이진 힙
1 parent a8bcc5a commit dcfea1f

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Min Heap
2+
3+
```
4+
1 5
5+
/ \ / \
6+
2 3 4 3
7+
/ \ / \
8+
4 5 1 2
9+
Min Heap Max Heap
10+
```
11+
12+
- Heap
13+
14+
- 최대 혹은 최소 값을 빠르게 찾기 위해 구현된 완전 이진트리를 기본으로한 자료구조
15+
16+
- Min Heap
17+
18+
- Root Node가 가장 작은 값이 되도록한 트리
19+
20+
- Max Heap
21+
22+
- 가장 큰 값이 맨 위에 오도록 자기 부모 노드에 자기 값보다 큰값을 두게 한 트리
23+
24+
## 최소 힙에 노드 삽입하기
25+
26+
1. 완전 트리에 맨끝에 노드를 추가
27+
28+
2. 자신의 부모 노드와 비교해 자기 값이 작을 경우 부모 노드와 값 변경
29+
30+
3. 2번 반복
31+
32+
### 시간 복잡도
33+
34+
- O(logn)
35+
36+
- 한 레벨에 절반씩 떨어짐
37+
38+
## 최소 힙에 노드 꺼내오기
39+
40+
1. 최소 힙에서 노드를 요청할땐 가장 작은 값인 루트를 꺼내온다.
41+
42+
2. 루트 자리에 가장 마지막 노드를 넣는다.
43+
44+
3. 자식 노드와 비교했을 때 더 작은 자식 노드의 값과 자리 교체
45+
46+
4. 3번 반복
47+
48+
### 시간 복잡도
49+
50+
- O(logn)

0 commit comments

Comments
 (0)