Stack
μμ± | |
---|---|
top | stack μ΅μμμ μλ λ°μ΄ν°μ μμΉ(index) κ°. μλ‘ μ½μ λλ μλ£λ topμ΄ κ°λ¦¬ν€λ μλ£μ μμ μμΈλ€. |
λ©μλ | |
---|---|
size | μ€νμ μΆκ°λ λ°μ΄ν°μ ν¬κΈ°(κΈΈμ΄)λ₯Ό 리ν΄νλ€. |
push | μ€νμ λ°μ΄ν°λ₯Ό μΆκ°νλ€. |
pop | κ°μ₯ λμ€μ μΆκ°λ λ°μ΄ν°λ₯Ό μ€νμμ μμ νκ³ μμ ν λ°μ΄ν°λ₯Ό 리ν΄νλ€. |
peek | κ°μ₯ λμ€μ μΆκ°λ λ°μ΄ν°λ₯Ό νμΈνλ€. |
μλ€, ν¬κ°λ€. μ μλ₯Ό μμ λμ ννμ λΉμ·ν μλ£κ΅¬μ‘°.
κ°μ₯ λ§μ§λ§μ λ£μ λ°μ΄ν°κ° κ°μ₯ λ¨Όμ λμ¨λ€. LIFO(Last In First OUt)
λ¨Όμ λ€μ΄κ° μλ£μΌμλ‘ λμ€μ λμ¨λ€. FILO(First In Last Out)
μ¦, μ½μ
κ³Ό μμ κ° νμͺ½ λμμλ§ μΌμ΄λλ€. (λ°λ₯μ΄ λ§ν κΈ΄ κ΄)
μ€μ¬μ© μμ : λΈλΌμ°μ μ λ€λ‘ κ°κΈ°, μμΌλ‘ κ°κΈ° / μ£Όλ‘ ctrl + Zλ‘ μ¬μ©νλ Undo κΈ°λ₯
1) μλ‘μ΄ νμ΄μ§λ‘ μ μν λ νμ¬ νμ΄μ§λ₯Ό Prev Stackμ 보κ΄νλ€.
2) λ€λ‘ κ°κΈ° λ²νΌμ λλ μ λ νμ¬ νμ΄μ§λ₯Ό Next Stackμ 보κ΄νκ³ Prev Stackμμ λ§μ§λ§μ 보κ΄λ νμ΄μ§λ₯Ό κ°μ Έμ¨λ€.
3) μμΌλ‘ κ°κΈ° λ²νΌμ λλ μ λ νμ¬ νμ΄μ§λ₯Ό Prev Stackμ 보κ΄νκ³ Next Stackμμ λ§μ§λ§μ 보κ΄λ νμ΄μ§λ₯Ό κ°μ Έμ¨λ€.
Array
μ push()
λ‘ λ°μ΄ν°λ₯Ό λ£κ³ , pop()
μΌλ‘ λ°μ΄ν°λ₯Ό κΊΌλ΄λ νμμΌλ‘ Stackκ³Ό μ μ¬νκ² λμνλλ‘ λ§λ€ μ μλ€.
λ°°μ΄λ‘ ꡬννμ λμ λ¨μ
Queue
μμ± | |
---|---|
front | Queueμ κ°μ₯ μμ μλ λ°μ΄ν°μ μμΉ(index) κ°. |
rear | Queueμ κ°μ₯ λ€μ μλ λ°μ΄ν°μ μμΉ(index) κ°. μλ‘ μ½μ λλ μλ£λ rearκ° κ°λ¦¬ν€λ μλ£μ λ€μ μμΈλ€. |
λ©μλ | |
---|---|
size | νμ μΆκ°λ λ°μ΄ν°μ ν¬κΈ°(κΈΈμ΄)λ₯Ό 리ν΄νλ€. |
enqueue | νμ λ°μ΄ν°λ₯Ό μΆκ°νλ€. |
dequeue | κ°μ₯ λ¨Όμ μΆκ°λ λ°μ΄ν°λ₯Ό μ€νμμ μμ νκ³ μμ ν λ°μ΄ν°λ₯Ό 리ν΄νλ€. |
μ€μ μμ κΈ°λ€λ¦¬λ€, λκΈ° νλ ¬. ν°μΌμ μ¬λ €κ³ μ€μ μμ κΈ°λ€λ¦¬λ λͺ¨μ΅κ³Ό ν‘μ¬ν μλ£κ΅¬μ‘°.
λ¨Όμ λ€μ΄κ° μλ£κ° λ¨Όμ λμ¨λ€. FIFO(First In First Out)
λμ€μ λ€μ΄κ° μλ£κ° λμ€μ λμ¨λ€. LILO(Last In Last Out)
μ€μ¬μ© μμ : νλ¦°ν°μμ λ¬Έμλ₯Ό μΈμ / μ½μΌν° κ³ κ° λκΈ° μκ° λ± λ°μ΄ν°κ° μ
λ ₯λ μκ° μμλλ‘ μ²λ¦¬λμ΄μΌ ν λ.
μ»΄ν¨ν° μ₯μΉλ€ μ¬μ΄μμ μλ£(data)λ₯Ό μ£Όκ³ λ°μ λ κ° μ₯μΉλ€ μ¬μ΄μ μ‘΄μ¬νλ μλ, μκ° μ°¨μ΄λ₯Ό 극볡νκΈ° μν μμ κΈ°μ΅ μ₯μΉλ‘ Queueλ₯Ό μ¬μ©νλ€. μ΄κ±Έ ν΅νμ΄ λ²νΌ(buffer)λΌκ³ νλ€. λ³΄ν΅ νλ¦°ν°λ μλκ° λλ¦¬κ³ , μλμ μΌλ‘ CPUλ μλκ° λΉ λ₯΄λ€.
1) CPUκ° λΉ λ₯Έ μλλ‘ μΈμ μλ£λ₯Ό λ§λ λ€.
2) μΈμ μμ
Queueμ μ μ₯νκ³ λ€λ₯Έ μμ
μ μννλ€.
3) νλ¦°ν°κ° μΈμ μμ
Queueμμ μλ£λ₯Ό κ°μ Έκ°μ μΌμ ν μλλ‘ μΈμνλ€.
Array
μ push()
λ‘ λ°μ΄ν°λ₯Ό λ£κ³ , shift()
λ‘ λ°μ΄ν°λ₯Ό κΊΌλ΄λ νμμΌλ‘ Queueμ μ μ¬νκ² λμνλλ‘ λ§λ€ μ μλ€.
λ°°μ΄λ‘ ꡬννμ λμ λ¨μ
μ λͺ ν Stack Overflowμ κ·Έ Stackμ λ°°μ λ€! μ΄λ‘ λ§ μ½μμ λλ μ΄? κ½€ μ¬μ΄λ°? νλλ° μ€μ λ‘ μκ³ λ¦¬μ¦μ μ μ©ν΄ 보λ μ...γ γ λ§λ§μΉ μλ€.