πŸ“Œ Heap κ°œλ…

image.png


🧩 Heap의 μ’…λ₯˜

μ’…λ₯˜ νŠΉμ§•
μ΅œλŒ€ νž™ (Max Heap) λΆ€λͺ¨ λ…Έλ“œ β‰₯ μžμ‹ λ…Έλ“œ. 루트 λ…Έλ“œκ°€ κ°€μž₯ 큰 값을 가짐. μ΅œλŒ€κ°’μ„ λΉ λ₯΄κ²Œ 찾을 수 있음.
μ΅œμ†Œ νž™ (Min Heap) λΆ€λͺ¨ λ…Έλ“œ ≀ μžμ‹ λ…Έλ“œ. 루트 λ…Έλ“œκ°€ κ°€μž₯ μž‘μ€ 값을 가짐. μ΅œμ†Œκ°’μ„ λΉ λ₯΄κ²Œ 찾을 수 있음.

βš™οΈ Heap의 λ™μž‘ 방식

βœ… μ΅œμ†Œ νž™μ˜ μ‚½μž… κ³Όμ •

  1. 트리의 κ°€μž₯ 끝 μœ„μΉ˜μ— 데이터λ₯Ό μ‚½μž…
  2. λΆ€λͺ¨ λ…Έλ“œμ™€ key 값을 비ꡐ
  3. μž‘μ„ 경우 λΆ€λͺ¨ λ…Έλ“œμ™€ ꡐ체λ₯Ό 반볡 (heapify-up)

heapify-upν•œλ‹€.