μ΅œλŒ€ 1 λΆ„ μ†Œμš”

Heap κ΄€λ ¨ μ„€λͺ…


κ°œλ… 링크 μ°Έμ‘°
이진 트리 μ°Έμ‘°
κ΅¬ν˜„λ°©λ²• : 배열을 μ΄μš©ν•œ νž™, μ—°κ²°λ¦¬μŠ€νŠΈλ₯Ό μ΄μš©ν•œ νž™ log(n) : n개 λ…Έλ“œ 가지고 μžˆλŠ” 히브 높이

νž™ κ΅¬ν˜„


πŸ“š κ΅¬ν˜„

1. μš°μ„ μˆœμœ„ 큐 좔상 μžλ£Œν˜• ADT (Abstract Datat Type)

배열을 μ΄μš©ν•œ νž™

create() // μš°μ„ μˆœμœ„ 큐 생성
init(q) // μš°μ„ μˆœμœ„ 큐 μ΄ˆκΈ°ν™”
is_empty(q) // μš°μ„ μˆœμœ„ 큐가 λΉ„μ–΄μžˆλŠ”μ§€ 확인
is_full(q) // μš°μ„ μˆœμœ„ 큐가 가득 μ°¨ μžˆλŠ”μ§€ 확인
insert(q, item) // μš°μ„ μˆœμœ„ 큐에 item μ‚½μž…
delete(q) // μš°μ„ μˆœμœ„ νμ—μ„œ κ°€μž₯ 높은 μš°μ„ μˆœμœ„ ν•­λͺ© μ‚­μ œ
find(q) // μš°μ„ μˆœμœ„ νμ—μ„œ κ°€μž₯ 높은 μš°μ„ μˆœμœ„ ν•­λͺ© μ°ΎκΈ°
λ°°μ—΄ νž™

μ™Όμͺ½ μžμ‹ λ…Έλ“œ : 2 * (λΆ€λͺ¨ index)
였λ₯Έμͺ½ μžμ‹ λ…Έλ“œ : 2 * (λΆ€λͺ¨ index) + 1
λΆ€λͺ¨ λ…Έλ“œ : (μžμ‹ index) / 2