Hello, λλ's world !
ν(Queue) / λ±(Deque) λ³Έλ¬Έ
1. ν(Queue)
νμͺ½ λμμλ§ μλ£λ₯Ό λ£κ³ , λ€λ₯Ένμͺ½ λμμλ§ λΊμμλ μλ£κ΅¬μ‘°
FIFO(First In Firtst Out) μ μ
μ μΆ νμμ΄λ€.
μΌμ°¨μ λ°°μ΄ νλλ‘ κ΅¬νκ°λ₯νλ€.
int queue[1000];
int begin = 0;
int end = 0;
//begin ~ end-1 κΉμ§ ν¬ν¨
νλ λΌμ΄λΈλ¬λ¦¬κ° μ 곡λκ³ μλ€.
-> κ° O(1) μ μκ°λ³΅μ‘λλ κ°λλ€
- C++
push νμ μλ£λ£λ μ°μ°
pop νμμ μλ£λ₯Ό λΉΌλ μ°μ°
front κ°μ₯ μμ μλ μλ£λ₯Ό 보λ μ°μ°
back κ°μ₯ λ€μ μλ μλ£λ 보λ μ°μ°
empty νκ° λΉμ΄μλμ§ μλμ§ νμΈ
size νμ μ μ₯λμ΄μλ μλ£μ κ°μ μμ보기
- Java
add() νμ μλ£λ£λ μ°μ°
remove() νμμ μλ£λ₯Ό λΉΌλ μ°μ°
peek() κ°μ₯ μμ μλ μλ£λ₯Ό 보λ μ°μ°
isEmpty() νκ° λΉμ΄μλμ§ μλμ§ νμΈ
size() νμ μ μ₯λμ΄μλ μλ£μ κ°μ μμ보기
void push(int data){
queue[end] = data;
ent += 1;
}
void pop(int data){
queue[begin] = data;
begin -= 1;
}
void empty() {
if (start == end) return true;
else return false;
}
int size() {
return end-begin
}
-
μ‘°μΈνΌμ€ μμ΄
1λ²λΆν° Nλ²κΉμ§ Nλͺ μ μ¬λλ€μ΄ λλ¬μμμλ€.
μμλ°λΌ μμλλ‘ M λͺ μ© μ κ±°νλ€.
μ΄κ³Όμ μ Nλͺ μ μ¬λμ΄ μ κ±°λ λκΉμ§ λ°λ³΅νλ€.
ex) N = 7, M = 3μΌλ
(νλ‘ μνμ΄λ λλλ¬Έμ μ΄κ³ λ³λ‘ μ€μνμ§ μλ€γ )
νλ BFSμμ μ λ§ μ€μν μνμ νκΈ°λλ¬Έμ λ€μκΈμ μμΈν λ€λ£¨μ΄λ³΄κ² λ€.
2. λ± (Deque)
μ λμμ μλ£λ₯Ό λ£κ³ , μ λμμ μλ£λ₯Ό λΊ μ μλ ꡬ쑰
Double Ended Qieirμ μ½μμ΄λ€.
λ±μ μ λ§ μ€μν μλ£κ΅¬μ‘°μ΄λ€. μλνλ©΄ μ°μ°μ λ°λΌ μ€νμ΄ λ μ μκ³ , νκ° λ μλ μλ€.
λ±μ ꡬννμλ€λ©΄ μ€νκ³Ό νλ₯Ό λͺ¨λ ꡬννμλ€κ³ 보μλ λλ€.
λ±μ μ±μ§λ§ μ¬μ©νμ¬ νΈλ λ¬Έμ λ κ±°μ μλ€.
λ± λν BFSμμ μ λ§ μ€μν μνμ νκΈ° λλ¬Έμ λ€μκΈμμ μμΈν λ€λ£¨μ΄λ³΄κ² λ€.
<μ°Έκ³ >
λ°±μ€μ¬μ΄νΈ
gorani95.tistory.com/150
'π‘ μκ³ λ¦¬μ¦' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μκ³ λ¦¬μ¦ λ¬Έμ νλ μ’μκΈ (0) | 2021.01.22 |
---|---|
μ€ν(Stack) (0) | 2021.01.08 |
μκ°λ³΅μ‘λ (0) | 2021.01.07 |