etc. μλ£κ΅¬μ‘° - μ€ν(stack) / ν(queue)
Stack | LIFO (Last In First Out) |
Queue | FIFO (First In First Out) |
π‘ μ€ν(Stack)
- κ°μ ꡬ쑰μ ν¬κΈ°μ μλ£λ₯Ό μ ν΄μ§ λ°©ν₯μΌλ‘λ§ μμ μ μμ
- topμΌλ‘ μ ν κ³³μ ν΅ν΄μλ§ μ κ·Ό κ°λ₯ (μμμλΆν°)
- μ λ°μ΄ν° μ½μ λ topμ ν΅ν΄μλ§ κ°λ₯ = push
- μμ λ topμ ν΅ν΄μλ§ κ°λ₯ = pop
>> λΉμ΄μλ μ€νμμ μΆμΆμ : stack underflow
μ€νμ΄ κ½ μ°¨μ λμΉ μ : stack overflow
>> νμ© λΆμΌ
- μΉλΈλΌμ°μ λ°©λ¬ΈκΈ°λ‘ (κ°μ₯ λμ€μ μ΄λ¦° νμ΄μ§λΆν°)
- μμ λ¬Έμμ΄ μμ±
- λ€λ‘κ°κΈ° (undo) -> history.back()
π‘ ν(Queue)
- μ€μ μμ κΈ°λ€λ¦¬λ κ². μ μ μ μΆ (FIFO)
- νμͺ½ λμμλ μ½μ / λ€λ₯Έμͺ½ λμμλ μμ = μμͺ½μΌλ‘ μ κ·Ό
- μμ λ§ μνλλ κ³³ = front (νλ‘ νΈ) / μμ μ°μ° = λν(dnQueue)
- μ½μ λ§ μνλλ κ³³ = rear (리μ΄) / μ½μ μ°μ° = μΈν(enQueue)
>> νμ© λΆμΌ
:: μ λ ₯λ μκ° μμλλ‘ μ²λ¦¬ν΄μΌ νλ κ²½μ°μ μ¬μ©
- νλ¦°ν°μ μΈμλκΈ°μ΄
- μν μ 무
- νλ‘μΈμ€ κ΄λ¦¬
- μΊμ(cache)ꡬν