큐 / μŠ€νƒ / νž™


큐(Queue)


  • μ„ ν˜•μžλ£Œκ΅¬μ‘° > ν•œ λ°©ν–₯으둜만 데이터λ₯Ό λ„£κ³  κΊΌλ‚Ό 수 있음

  • 큐 λ©”λͺ¨λ¦¬ κ΅¬μ‘°λŠ” λ³„λ„μ˜ μΈν„°νŽ˜μ΄μŠ€ ν˜•νƒœλ‘œ 제곡됨

  • μ„ μž…μ„ μΆœ(FIFO, First In First Out)


μŠ€νƒ(Stack)


  • ν•¨μˆ˜μ˜ 호좜될 λ•Œ 지역 λ³€μˆ˜μ™€ λ§€κ°œλ³€μˆ˜κ°€ μ €μž₯λ˜λŠ” μ˜μ—­

  • μ„ ν˜•μžλ£Œκ΅¬μ‘°>데이터λ₯Ό μŒ“λŠ” ꡬ쑰, ν•œμͺ½ λμ—μ„œλ§Œ 자료λ₯Ό λ„£κ³  λΊ„ 수 있음

  • ν•¨μ†Œμ˜ 호좜과 ν•¨κ»˜ ν• λ‹Ή, ν•¨μˆ˜μ˜ 호좜이 μ™„λ£Œλ˜λ©΄ μ†Œλ©Έ

  • ν›„μž…μ„ μΆœ(LIFO, Last-In First-Out) > κ°€μž₯ 늦게 μ €μž₯된 데이터가 κ°€μž₯ λ¨Όμ € 인좜됨

  • 컴파일 νƒ€μž„μ— λ©”λͺ¨λ¦¬ν¬κΈ° κ²°μ •


νž™(heap)


  • μƒμ„±λœ μΈμŠ€ν„΄μŠ€λŠ” 동적 λ©”λͺ¨λ¦¬(heap memory)에 할당됨

  • Cλ‚˜ C++μ—μ„œλŠ” μ‚¬μš©ν•œ 동적메λͺ¨λ¦¬λ₯Ό ν”„λ‘œκ·Έλž˜λ¨Έκ°€ ν•΄μ œ μ‹œμΌœμ•Όν•˜μ§€λ§Œ, μžλ°”μ—μ„œλŠ” Garbage Collectorκ°€ 주기적으둜 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” λ©”λͺ¨λ¦¬λ₯Ό 수거

  • ν•˜λ‚˜μ˜ ν΄λž˜μŠ€λ‘œλΆ€ν„° μ—¬λŸ¬κ°œμ˜ μΈμŠ€ν„΄μŠ€κ°€ μƒμ„±λ˜κ³  각각 λ‹€λ₯Έ λ©”λͺ¨λ¦¬ μ£Όμ†Œλ₯Ό κ°€μ§€κ²Œ 됨

  • 런 νƒ€μž„μ— 크기 κ²°μ •

Categories:

DataStructure