Skip to content

Latest commit

Β 

History

History
40 lines (29 loc) Β· 1.35 KB

File metadata and controls

40 lines (29 loc) Β· 1.35 KB

Queue

Queue(큐)λž€?


νλŠ” μ»΄ν“¨ν„°μ˜ 기본적인 자료ꡬ쑰의 ν•œκ°€μ§€λ‘œ λ¨Όμ € 집어 넣은 데이터가 λ¨Όμ € λ‚˜μ˜€λŠ” 
FIFO(First In First Out)ꡬ쑰둜 μ €μž₯ν•˜λŠ” ν˜•μ‹μ„ λ§ν•œλ‹€.

λ‚˜μ€‘μ— 집어 넣은 데이터가 λ¨Όμ € λ‚˜μ˜€λŠ” μŠ€νƒκ³ΌλŠ” λ°˜λŒ€λ˜λŠ” κ°œλ…μ΄λ‹€. 

μ„ μž…μ„ μΆœ(FIFO)

κ°€μž₯ μ΅œκ·Όμ— λ“€μ–΄μ˜¨ 데이터가 κ°€μž₯ λ¨Όμ € λ‚˜κ°„λ‹€λŠ” 의미

queue



큐 νŠΉμ§•

1. λ¨Όμ € λ“€μ–΄κ°„ μžλ£Œκ°€ λ¨Όμ € λ‚˜μ˜€λŠ” FIFO(First In First Out)ꡬ쑰
2. νλŠ” ν•œ μͺ½ 끝은 ν”„λŸ°νŠΈ(front)둜 μ •ν•˜μ—¬ μ‚­μ œ μ—°μ‚°λ§Œ μˆ˜ν–‰ν•¨
3. λ‹€λ₯Έ ν•œ μͺ½ 끝은 리어(rear)둜 μ •ν•˜μ—¬ μ‚½μž… μ—°μ‚°λ§Œ μˆ˜ν–‰ν•¨  
4. κ·Έλž˜ν”„μ˜ 넓이 μš°μ„  탐색(BFS)μ—μ„œ μ‚¬μš©
5. 컴퓨터 λ²„νΌμ—μ„œ 주둜 μ‚¬μš©, 마ꡬ μž…λ ₯이 λ˜μ—ˆμœΌλ‚˜ 처리λ₯Ό ν•˜μ§€ λͺ»ν•  λ•Œ,
   버퍼(큐)λ₯Ό λ§Œλ“€μ–΄ λŒ€κΈ° μ‹œν‚΄

큐 κΈ°λŠ₯

  • 데이터 μ‚½μž… (push(),offer(),add()) : Enqueue
  • 데이터 μ‚­μ œ (pop(),poll()) : Dequeue
  • 데이터 확인 (peek()) : κ°€μž₯ 처음(front)에 μžˆλŠ” 데이터λ₯Ό ν™•μΈν•©λ‹ˆλ‹€.
  • λΉ„μ–΄μžˆλŠ”μ§€ 확인 (isEmpty())
  • κ½‰μ°¨μžˆλŠ”μ§€ 확인 (isFull())