Last In First OutμΌλ‘ μ΅κ·Όμ μΆκ°ν νλͺ©μ΄ κ°μ₯ λ¨Όμ μ κ±°λλ λ°μ΄ν° λ°©μ
- pop() : μ€νμμ κ°μ₯ μμ μλ νλͺ©μ μ κ±°
- push() : itemνλλ₯Ό μ€νμ κ°μ₯ μ λΆλΆμ μΆκ°
- peek() : μ€νμ κ°μ₯ μμμλ νλͺ©μ μ κ±°μμ΄ κ°λ§ λ°ν
- isEmpty() : μ€νμ΄ λΉμλμ§ κ²μ¬
- μ¬κ· μκ³ λ¦¬μ¦
- μΉ λ°©λ¬ΈκΈ°λ‘
- μ€ν μ·¨μ
μ°κ²° listλ₯Ό μ΄μ©ν μ½λ μ(C μΈμ΄)
First In First OutμΌλ‘ κ°μ₯ λ¨Όμ μΆκ°ν λ°μ΄ν°κ° λ¨Όμ μ κ±°λλ λ°μ΄ν° λ°©μ
- add(inQueue)() : νμ λ λΆλΆμ λ°μ΄ν° μΆκ°
- remove(deQueue)() :νμ 첫λ²μ§Έ νλͺ©μ μ κ±°
- peek() : νμ κ°μ₯ μμμλ νλͺ©μ μ κ±°μμ΄ κ°λ§ λ°ν
- isEmpty() : νκ° λΉμλμ§ κ²μ¬
- νλ‘μΈμ€ κ΄λ¦¬
- λλΉ μ°μ νμ(BFS)
- μΊμ ꡬν
- μ°μ μμ ν
- λ±
μ°κ²° listλ₯Ό μ΄μ©ν μ½λ μ(C μΈμ΄)
μ°μ μμμ κ°λ
μ νμ λμ
ν μλ£ κ΅¬μ‘°.
μΌλ°μ μΈ νλ FIFOμ κ·μΉμΌλ‘ λ¨Όμ λ€μ΄μ¨κ²μ΄ λκ°κ² λλ μ°μ μμ νλ μ°μ μμκ° λμ μμλλ‘ λκ°κ² λλ€.
- λ°°μ΄
- 리μ€νΈ
- ν(Heap)
| νν λ°©λ² | μ½ μ | μ μ |
|---|---|---|
| μμ μλ λ°°μ΄ / 리μ€νΈ | O(1) | O(n) |
| μ λ ¬λ λ°°μ΄ / 리μ€νΈ | O(n) | O(1) |
| ν | O(logn) | O(logn) |
Double-ended queueμ μ½μ.
μ λμμλ§ μλ£λ₯Ό λ£κ³ λΊ μ μλ μλ£κ΅¬μ‘°
μΌλ° νμμ μ°¨μ΄μ μ push,pop ν μ μλ λ°©ν₯μ΄ μλ°©ν₯μ΄λΌλ κ²μ΄ μ°¨μ΄μ μ΄λ€.