λ°μν
Notice
Recent Posts
Recent Comments
Link
μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 리μ‘νΈλ€μ΄ν°λΈ
- μΉκ°λ°
- νλ‘κ·Έλλ°
- ChatGPT
- μλ£κ΅¬μ‘°
- 컴곡
- 컴곡μ
- λ¨μν μ€νΈ
- μ»΄ν¨ν°κ³΅ν
- μ°μ μμν
- κ°λ°μ
- 리μ‘νΈ
- μ€νλ§
- λͺ¨λ°μΌμ±νλ‘κ·Έλλ°
- μκ³ λ¦¬μ¦
- λ°±μ€1436
- νμ΄μ¬
- μ½λ©ν μ€νΈ
- SSE
- μ½λ©
- λ°±μ€
- 그리λμκ³ λ¦¬μ¦
- spring
- νλ‘ νΈμ€λ
- λ°±μ€νμ΄
- λ°±μλ
- μΉκ°λ°κΈ°λ‘
- 그리λ
- μ΄νκ³μ
- boj11653
Archives
- Today
- Total
π»ππ§π
μ°μ μμ ν (Priority Queue) λ³Έλ¬Έ
λ°μν
μ°μ μμ νλ?
- μ°μ μμκ° κ°μ₯ λμ λ°μ΄ν°λ₯Ό κ°μ₯ λ¨Όμ μμ νλ μλ£κ΅¬μ‘°
- μ°μ μμ νλ λ°μ΄ν°λ₯Ό μ°μ μμμ λ°λΌ μ²λ¦¬νκ³ μΆμ λ μ¬μ©ν¨.
ꡬν νλ λ°©λ²
1) λ¨μν 리μ€νΈλ₯Ό μ΄μ©νμ¬ κ΅¬ν
2) ν(heap)μ μ΄μ©νμ¬ κ΅¬ν
μ°μ μμ ν ꡬν λ°©μ | μ½μ μκ° | μμ μκ° |
리μ€νΈ | O(1) | O(N) |
ν(Heap) | O(logN) | O(logN) |
- λ¨μν Nκ°μ λ°μ΄ν°λ₯Ό νμ λ£μλ€κ° λͺ¨λ κΊΌλ΄λ μμ
μ μ λ ¬κ³Ό λμΌνλ€.
- μ΄ κ²½μ° μκ° λ³΅μ‘λλ O(NlogN)
ν(Heap)μ νΉμ§
- νμ μμ μ΄μ§ νΈλ¦¬ μλ£κ΅¬μ‘°μ μΌμ’ μ΄λ€.
- νμμλ νμ λ£¨νΈ λ Έλ(root node)λ₯Ό μ κ±°νλ€.
- μ΅μ ν(min heap)
- λ£¨νΈ λ Έλκ° κ°μ₯ μμ κ°μ κ°μ§λ€
- λ°λΌμ κ°μ΄ μμ λ°μ΄ν°κ° μ°μ μ μΌλ‘ μ κ±°λλ€.
- μ΅λ ν(max heap)
- λ£¨νΈ λ Έλκ° κ°μ₯ ν° κ°μ κ°μ§λ€.
- λ°λΌμ κ°μ΄ ν° λ°μ΄ν°κ° μ°μ μ μΌλ‘ μ κ±°λλ€.
μμ μ΄μ§ νΈλ¦¬ (Complete Binary Tree)
- μμ μ΄μ§ νΈλ¦¬λ λ£¨νΈ λ ΈλλΆν° μμνμ¬ μΌμͺ½ μμ λ Έλ, μ€λ₯Έμͺ½ μμ λ Έλ μμλλ‘ λ°μ΄ν°κ° μ°¨λ‘λλ‘ μ½μ λλ νΈλ¦¬λ₯Ό μλ―Έν¨.
μ΅μ ν κ΅¬μ± ν¨μ : Min-Heapify()
- (μν₯μ) λΆλͺ¨ λ Έλλ‘ κ±°μ¬λ¬ μ¬λΌκ°λ©°, λΆλͺ¨λ³΄λ€ μμ μ κ°μ΄ λ μμ κ²½μ°μ μμΉλ₯Ό κ΅μ²΄ν©λλ€.
μ°μ μμ ν λΌμ΄λΈλ¬λ¦¬λ₯Ό νμ©ν ν μ λ ¬ ꡬν μμ
import sys
import heapq
input = sys.stdin.readline
def heapsort(iterable):
h = []
result = []
# λͺ¨λ μμλ₯Ό μ°¨λ‘λλ‘ νμ μ½μ
for value in iterable:
heapq.heappush(h, value)
# νμ μ½μ
λ λͺ¨λ μμλ₯Ό μ°¨λ‘λλ‘ κΊΌλ΄μ΄ λ΄κΈ°
for i in range(len(h)):
result.append(heapq.heappop(h))
return result
n = int(input())
arr = []
for i in range(n):
arr.append(int(input()))
res = heapsort(arr)
for i in range(n):
print(res[i])
λ°μν
'μκ³ λ¦¬μ¦' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
νμ΄μ¬ μ½λ©ν μ€νΈ μ ν·κ°λ¦¬λ λΆλΆ μ 리 (0) | 2024.03.02 |
---|---|
λ€μ΄λλ―Ή νλ‘κ·Έλλ° (Dynamic Programming) (4) | 2023.01.23 |
DFS & BFS μκ³ λ¦¬μ¦ (0) | 2023.01.20 |
그리λ μκ³ λ¦¬μ¦ (Greedy Algorithm) (0) | 2023.01.16 |