TIL ( μŠ€νƒκ³Ό 큐 )

2024. 8. 1. 23:59ㆍTIL

πŸ’‘μŠ€νƒ(Stack)κ³Ό 큐(Queue)

 

 κΈ°λ³Έ κ°œλ…

 

β€’ μŠ€νƒ (Stack)

- μŠ€νƒμ€ LIFO(Last In, First Out) ꡬ쑰둜, κ°€μž₯ λ‚˜μ€‘μ— λ“€μ–΄μ˜¨ 데이터가 κ°€μž₯ λ¨Όμ € λ‚˜κ°€λŠ” κ΅¬μ‘°μž…λ‹ˆλ‹€.

 

[ μ£Όμš” μ—°μ‚° ]

- push: μŠ€νƒμ˜ 맨 μœ„μ— μš”μ†Œλ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

- pop: μŠ€νƒμ˜ 맨 μœ„μ—μ„œ μš”μ†Œλ₯Ό μ œκ±°ν•˜κ³  λ°˜ν™˜ν•©λ‹ˆλ‹€.

- peek: μŠ€νƒμ˜ 맨 μœ„μ— μžˆλŠ” μš”μ†Œλ₯Ό λ°˜ν™˜ν•˜μ§€λ§Œ μ œκ±°ν•˜μ§€λŠ” μ•ŠμŠ΅λ‹ˆλ‹€.

 

β€’  큐 (Queue)

- μ •μ˜: νλŠ” FIFO(First In, First Out) ꡬ쑰둜, κ°€μž₯ λ¨Όμ € λ“€μ–΄μ˜¨ 데이터가 κ°€μž₯ λ¨Όμ € λ‚˜κ°€λŠ” κ΅¬μ‘°μž…λ‹ˆλ‹€.

 

[ μ£Όμš” μ—°μ‚° ]

- enqueue: 큐의 맨 뒀에 μš”μ†Œλ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

- dequeue: 큐의 맨 μ•žμ—μ„œ μš”μ†Œλ₯Ό μ œκ±°ν•˜κ³  λ°˜ν™˜ν•©λ‹ˆλ‹€.

- front: 큐의 맨 μ•žμ— μžˆλŠ” μš”μ†Œλ₯Ό λ°˜ν™˜ν•˜μ§€λ§Œ μ œκ±°ν•˜μ§€λŠ” μ•ŠμŠ΅λ‹ˆλ‹€.

 

ꡬ쑰적 차이

 

β€’  μŠ€νƒ

- 데이터가 μŒ“μ΄λŠ” ν˜•νƒœλ‘œ, ν•œμͺ½ 끝(맨 μœ„)μ—μ„œλ§Œ μ‚½μž…κ³Ό μ‚­μ œκ°€ μ΄λ£¨μ–΄μ§‘λ‹ˆλ‹€.

예: μ±… 더미, μ ‘μ‹œ μŒ“κΈ°

 

β€’  큐

- 데이터가 쀄을 μ„œλŠ” ν˜•νƒœλ‘œ, ν•œμͺ½ 끝(맨 λ’€)μ—μ„œ μ‚½μž…ν•˜κ³ , λ‹€λ₯Έ μͺ½ 끝(맨 μ•ž)μ—μ„œ μ‚­μ œκ°€ μ΄λ£¨μ–΄μ§‘λ‹ˆλ‹€.

예: λŒ€κΈ°μ—΄, ν”„λ¦°ν„° μž‘μ—… λŒ€κΈ°