🧠Algorithm/⚑ver.0

🦠Cell Algorithm : μŠ€νƒκ³Ό 큐

4:Bee 2024. 2. 18. 00:34
728x90

μŠ€νƒκ³Ό νλŠ” λ¦¬μŠ€νŠΈμ—μ„œ 쑰금 더 λ°œμ „ν•œ ν˜•νƒœμ˜ μžλ£Œκ΅¬μ‘°μ΄λ‹€. μŠ€νƒκ³Ό 큐의 κ΅¬μ‘°λŠ” λΉ„μŠ·ν•˜μ§€λ§Œ 처리 방식은 λ‹€λ₯΄λ‹€.


  • μŠ€νƒ
    1. ν›„μž…μ„ μΆœ(LIFO)
      • κ°€μž₯ λ§ˆμ§€λ§‰μ— μ‚¬μž…λœ 데이터가 κ°€μž₯ λ¨Όμ € λ‚˜μ˜€λŠ” ꡬ쑰
      • μŠ€νƒμ˜ μœ„μΉ˜λŠ” topμ΄λΌλŠ” κ°œλ…μ΄ μžˆλ‹€.
      • μž¬κ·€ ν•¨μˆ˜ μ•Œκ³ λ¦¬μ¦˜ 원리와 일λ§₯μƒν†΅ν•˜λ‹€.
    2. μŠ€νƒμ— μ‚¬μš©λ˜λŠ” μ½”λ“œ
      • μœ„μΉ˜
        • top : μŠ€νƒμ—μ„œ κ°€μž₯ μœ„μ— μžˆλŠ” 데이터λ₯Ό κ°€λ¦¬λŠ” μ˜μ—­μ΄λ‹€.
      • s.append(data) : top의 μƒˆλ‘œμš΄ 데이터λ₯Ό μ‚½μž…
      • s.pop() : topμœ„μΉ˜μ— ν˜„μž¬ 데이터λ₯Ό μ‚­μ œν•˜κ³  ν™•μΈν•˜λŠ” μ—°μ‚°
      • s[-1] : topμœ„μΉ˜μ— ν˜„μž¬ μžˆλŠ” 데이터λ₯Ό λ‹¨μˆœ ν™•μΈν•˜λŠ” μ—°μ‚°
    3. μŠ€νƒμ„ μ΄μš©ν•œ μ•Œκ³ λ¦¬μ¦˜
      • μš°μ„  탐색
      • λ°±νŠΈλž˜ν‚Ή μ’…λ₯˜μ˜ μ½”λ”© ν…ŒμŠ€νŠΈμ— νš¨κ³Όμ μ΄λ―€λ‘œ λ°˜λ“œμ‹œ μ•Œμ•„λ‘μ–΄μ•Ό ν•œλ‹€.
    4. λ°±νŠΈλž˜ν‚Ή μ’…λ₯˜μ˜ μ½”λ”© ν…ŒμŠ€νŠΈμ— νš¨κ³Όμ μ΄λ―€λ‘œ λ°˜λ“œμ‹œ μ•Œμ•„λ‘μ–΄μ•Ό ν•œλ‹€.

  • 큐
    1. μ„ μž…ν›„μΆœ(FIFO)
      • λ¨Όμ € λ“€μ–΄κ°€λŠ” 데이터가 λ¨Όμ € λ‚˜μ˜€λŠ” ꡬ쑰
      • 큐의 μœ„μΉ˜λŠ” topμ΄λΌλŠ” κ°œλ…μ€ λ”°λ‘œ μ—†λ‹€. rear와 frontλΌλŠ” κ°œλ…μ΄ 쑴재
      • νŒŒμ΄μ¬μ—μ„  덱(deque)을 μ΄μš©ν•΄μ„œ 큐λ₯Ό μ‚¬μš©ν•œλ‹€. 리슀트λ₯Ό μ΄μš©ν•΄μ„œ κ΅¬ν˜„μ΄ κ°€λŠ₯ν•˜λ‹€λ§Œ 덱을 μ΄μš©ν•΄μ•Ό λΉ λ₯΄λ‹€.
      • 덱에 κ΄€ν•œ μ˜μƒμ„ μ°Έκ³ ν•˜κΈΈ λ°”λž€λ‹€.
    2. 큐에 μ‚¬μš©λ˜λŠ” μ½”λ“œ
      • μœ„μΉ˜
        • rear : νμ—μ„œ κ°€μž₯ 끝 데이터λ₯Ό κ°€λ¦¬ν‚€λŠ” μ˜μ—­μ΄λ‹€.
        • front : νμ—μ„œ κ°€μž₯ μ•žμ˜ 데이터λ₯Ό κ°€λ¦¬ν‚€λŠ” μ˜μ—­μ΄λ‹€.
      • s.append(data) : rear 뢀뢄에 μžˆλŠ” 데이터λ₯Ό μ‚­μ œν•˜κ³  ν™•μΈν•˜λŠ” 연산이닀.
      • s.popleft() : front 뢀뢄에 μžˆλŠ” 데이터λ₯Ό μ‚­μ œν•˜κ³  ν™•μΈν•˜λŠ” 연산이닀.
      • s[0] : 큐의 맨 μ•ž(front)에 μžˆλŠ” 데이터λ₯Ό 확인할 λ•Œ μ‚¬μš©ν•˜λŠ” 연산이닀.
    3. 큐λ₯Ό μ΄μš©ν•œ μ•Œκ³ λ¦¬μ¦˜
      • λ„ˆλΉ„ μš°μ„  탐색(BFS)
      • μš°μ„  μˆœμœ„ 큐 : 값이 λ“€μ–΄κ°„ μˆœμ„œμ™€ 상관 없이 μš°μ„ μˆœμœ„κ°€ 높은 데이터λ₯Ό λ¨Όμ € λ‚˜μ˜€λŠ” 자료ꡬ쑰(6μž₯μ—μ„œ μ„€λͺ…)
        • νž™μ„ μ΄μš©ν•΄μ„œ μš°μ„  μˆœμœ„ 큐λ₯Ό κ΅¬ν˜„ : νž™μ€ 트리 μ’…λ₯˜ 쀑 ν•˜λ‚˜μ΄λ‹€.

 

728x90