poll()
4
15 6 5
8
19
2
20
By yaboong
https://yaboong.github.io
minHeap.poll() 메소드 호출
2
By yaboong
https://yaboong.github.io
minHeap.poll() 메소드 호출
-> root 노드 return 후 삭제
poll()
4
15
8
19
20
6 5
By yaboong
https://yaboong.github.io
minHeap.poll() 메소드 호출
-> root 노드 return 후 삭제
poll()
4
15
8
19
20
6 5
By yaboong
https://yaboong.github.io
마지막 node 를 root 로 옮김
poll()
4
15
8
19
20
6 5
8
By yaboong
https://yaboong.github.io
마지막 node 를 root 로 옮김
poll()
4
1519
20
6 5
By yaboong
https://yaboong.github.io
8이 가야할 곳을 찾아줌
-> heapifyDown()
heapifyDown()
8
4
1519
20
6 5
By yaboong
https://yaboong.github.io
Left child, right child 중 더 작은 값
을 가지는 녀석의 Index 를 찾는다.
heapifyDown()
8
4
1519
20
6 5
By yaboong
https://yaboong.github.io
heapifyDown()
누가 더 작지?
8
4
1519
20
6 5
By yaboong
https://yaboong.github.io
heapifyDown()
누가 더 작지? -> right child!
8
4
1519
20
6 5
By yaboong
https://yaboong.github.io
heapifyDown()
Child 중 작은 놈이랑 parent 랑 비
교한다
누가 더 작지?
8
4
1519
20
6 5
By yaboong
https://yaboong.github.io
heapifyDown()
Child 중 작은 놈이랑 parent 랑 비
교한다
누가 더 작지? -> 4
8
4
1519
20
6 5
By yaboong
https://yaboong.github.io
heapifyDown()
Parent 가 더 작으면 break,
그렇지 않으면 swap
지금은 child 가 더 작으니까 swap
누가 더 작지? -> 4
8
4
1519
20
6 5
By yaboong
https://yaboong.github.io
heapifyDown()
SWAP
8
4
1519
20
6 5
By yaboong
https://yaboong.github.io
heapifyDown()
1519
20 8
4
Left child, right child 중 더 작은 값
을 가지는 녀석의 Index 를 찾는다.
6 5
By yaboong
https://yaboong.github.io
heapifyDown()
1519
20 8
4
누가 더 작지?
Left child, right child 중 더 작은 값
을 가지는 녀석의 Index 를 찾는다.
6 5
By yaboong
https://yaboong.github.io
heapifyDown()
1519
20 8
4
누가 더 작지? -> right child!
Left child, right child 중 더 작은 값
을 가지는 녀석의 Index 를 찾는다.
6 5
By yaboong
https://yaboong.github.io
heapifyDown()
1519
20 8
4
누가 더 작지?
Child 중 작은 놈이랑 parent 랑 비
교한다
6 5
By yaboong
https://yaboong.github.io
heapifyDown()
1519
20 8
4
누가 더 작지? -> 5
Child 중 작은 놈이랑 parent 랑 비
교한다
6 5
By yaboong
https://yaboong.github.io
heapifyDown()
1519
20 8
4
Parent 가 더 작으면 break,
그렇지 않으면 swap
이번에도 child 가 더 작으니까 swap
SWAP
6 5
By yaboong
https://yaboong.github.io
heapifyDown()
1519
20
4
더이상 left child 가 없다.
5
6 8
By yaboong
https://yaboong.github.io
heapifyDown()
15 619
20
4
더이상 left child 가 없다.
-> left child 가 없으면 right child
도 없으므로 종료
8
5

Heapify down