λ°μν
ν(Queue)
- μ μ μ μΆ(First-In-First-Out, FIFO) μμΉμ λ°λΌ λ°μ΄ν°λ₯Ό μ μ₯νλ μλ£κ΅¬μ‘°
- κ°μ₯ λ¨Όμ λ€μ΄μ¨ λ°μ΄ν°κ° κ°μ₯ λ¨Όμ λκ°λ ꡬ쑰
- νμͺ½ λμμλ§ μ½μ μ΄ μ΄λ£¨μ΄μ§κ³ , λ€λ₯Έ νμͺ½ λμμλ μμ μ°μ°λ§ μ΄λ£¨μ΄μ§λ μ ν μμ 리μ€νΈ
- μΌμμνμμ μ€μ μμ κΈ°λ€λ¦¬λ κ²κ³Ό μ μ¬
- λκΈ°μ΄μ΄λ μμ μ€μΌμ€λ§ λ±μμ μ μ©νκ² μ¬μ©
- μ½μ λ° μμ μ O(1), νμμ O(n) μ μκ° λ³΅μ‘λλ₯Ό κ°μ§
ν(Queue)μ ꡬν
- νλ λκ° λ°°μ΄μ΄λ μ°κ²° 리μ€νΈλ₯Ό μ΄μ©ν΄ ꡬν
- λ°°μ΄μ μ΄μ©νλ κ²½μ°, frontμ rearλΌλ λ κ°μ μΈλ±μ€ λ³μλ₯Ό μ¬μ©νμ¬ νμ μμκ³Ό λμ κ°λ¦¬ν΄
- λ°μ΄ν°λ₯Ό μ½μ ν λμλ rear λ³μλ₯Ό μ¦κ°μμΌ μλ‘μ΄ λ°μ΄ν°λ₯Ό λ§μ§λ§μ μΆκ°
- λ°μ΄ν°λ₯Ό μΆμΆν λμλ front λ³μλ₯Ό μ¦κ°μμΌ κ°μ₯ μ²μμ μλ λ°μ΄ν°λ₯Ό μΆμΆ
- μ°κ²° 리μ€νΈλ₯Ό μ΄μ©νλ κ²½μ°μλ, κ° λ Έλκ° λ€μ λ Έλλ₯Ό κ°λ¦¬ν€λ ν¬μΈν°λ₯Ό κ°μ§κ³ μμΌλ©°, frontμ rearλ κ°κ° 첫 λ²μ§Έ λ Έλμ λ§μ§λ§ λ Έλλ₯Ό κ°λ¦¬ν΄
ν(Queue)μ μ£Όμ λμλ€
- enQueue(): νμ λ°μ΄ν°λ₯Ό μ½μ
- deQueue(): νμμ λ°μ΄ν°λ₯Ό μμ
- isEmpty(): νκ° λΉμ΄μλμ§ νμΈ
- isFull(): νκ° κ½ μ°¨ μλμ§ νμΈ
- peek(): μμ μλ μμλ₯Ό μμ νμ§ μκ³ λ°ν
ν(Queue)μ μ¬μ© μ¬λ‘
λ°μ΄ν°κ° μ λ ₯λ μκ° μμλλ‘ μ²λ¦¬ν΄μΌ ν νμκ° μλ μν©μ μ΄μ©νλ€.
- λλΉ μ°μ νμ(BFS, Breadth-First Search) ꡬν
- μ²λ¦¬ν΄μΌ ν λ Έλμ 리μ€νΈλ₯Ό μ μ₯νλ μ©λλ‘ ν(Queue)λ₯Ό μ¬μ©
- λ Έλλ₯Ό νλ μ²λ¦¬ν λλ§λ€ ν΄λΉ λ Έλμ μΈμ ν λ Έλλ€μ νμ λ€μ μ μ₯
- λ Έλλ₯Ό μ κ·Όν μμλλ‘ μ²λ¦¬ν μ μμ
- μΊμ(Cache) ꡬν
- μ°μ μμκ° κ°μ μμ μμ½ (μΈμ λκΈ°μ΄)
- μ μ μ μΆμ΄ νμν λκΈ°μ΄ (ν°μΌ μΉ΄μ΄ν°)
- μ½μΌν° κ³ κ° λκΈ°μκ°
- νλ¦°ν°μ μΆλ ₯ μ²λ¦¬
- μλ μμ€ν μ λ©μμ§ μ²λ¦¬κΈ°
- νλ‘μΈμ€ κ΄λ¦¬
λ°ν¬(Deque)
- Double-ended Queue
- μμͺ½ λμμ μ½μ κ³Ό μμ κ° λͺ¨λ κ°λ₯ν μλ£κ΅¬μ‘°
- νλ₯Ό μΌλ°νν ννμ μΆμ μλ£ν(ADT)
λ°μν
'π Computer Science > Data Structure' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[μλ£κ΅¬μ‘°] κ·Έλν(Graph) (0) | 2023.03.08 |
---|---|
[μλ£κ΅¬μ‘°] Time Complexity (μκ° λ³΅μ‘λ) (0) | 2023.03.07 |
[μλ£κ΅¬μ‘°] μ€ν(Stack) (0) | 2023.02.14 |
[μλ£κ΅¬μ‘°] μ°κ²° 리μ€νΈ(Linked List) (0) | 2023.02.10 |
[μλ£κ΅¬μ‘°] λ°°μ΄(Array)μ΄λ? (0) | 2023.02.10 |