[์ž๋ฃŒ๊ตฌ์กฐ] 02. Queue

2021. 8. 9. 08:00ใ†์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์ค€๋น„/์ž๋ฃŒ๊ตฌ์กฐ

728x90
๋ฐ˜์‘ํ˜•

์•ˆ๋…•ํ•˜์„ธ์š”? ์ฃผ๋‹ˆํ•˜๋ž‘ ์ž…๋‹ˆ๋‹ค.

์˜ค๋Š˜์€ ์ž๋ฃŒ๊ตฌ์กฐ์—์„œ ํ์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ ํ•ด ๋ณด๋„๋ก ํ•  ๊ฒƒ์ด์—์š”!

์ œ๊ฐ€ ํ‘ผ ์ฝ”๋“œ๊ฐ€ ๊ถ๊ธˆํ•˜์‹œ๋‹ค๋ฉด? ์ฃผ๋‹ˆํ•˜๋ž‘์˜ ๊นƒ ํ—ˆ๋ธŒ์— ๊ด€์‹ฌ์„ ์ฃผ์„ธ์š”!

๋ฐ”๋กœ ์‹œ์ž‘ ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค!



 


 

๐Ÿ“Œ ํ ( Queue )


ํ๋Š” ๋Œ€ํ‘œ์ ์ธ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ธ ๊ฒƒ์ด๋ฏ€๋กœ, ๊ผญ ์•Œ์•„์•ผ ํ•˜๋Š” ๊ฒƒ์ด์—์š”.

 

   ๐Ÿ“ Queue์˜ ๊ตฌ์กฐ

  • ์ค„์„ ์„œ๋Š” ํ–‰์œ„์™€ ์œ ์‚ฌ
  • ๊ฐ€์žฅ ๋จผ์ € ๋„ฃ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์žฅ ๋จผ์ € ๊บผ๋‚ธ๋‹ค.
    • ์Œ์‹์ ์—์„œ ๊ฐ€์žฅ ๋จผ์ € ์ค„์„ ์„  ์‚ฌ๋žŒ์ด ์ œ์ผ ๋จผ์ € ์Œ์‹์ ์— ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ๊ณผ ๋™์ผ
    • FIFO(First-In, First-Out) ํ˜น์€ LILO (Last-In, Last-Out) ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•˜๋ฉฐ, Stack์ด๋ผ๋Š” ๊ตฌ์กฐ์™€๋Š” ์ˆœ์„œ๊ฐ€ ๋ฐ˜๋Œ€

 

์ถœ์ฒ˜ : ํŒจ์ŠคํŠธ ์บ ํผ์Šค : ์•Œ๊ณ ๋ฆฌ์ฆ˜ / ๊ธฐ์ˆ ๋ฉด์ ‘ ์™„์ „ ์ •๋ณต ์˜ฌ์ธ์› ํŒจํ‚ค์ง€ ๊ต์žฌ ์ค‘

 

 

 

 

   ๐Ÿ“ ์šฉ์–ด ์ •๋ฆฌ

  • Enqueue : Queue์— Data๋ฅผ ๋„ฃ๋Š”๋‹ค.

์ถœ์ฒ˜ : https://visualgo.net/ko/list

 

Queue์—์„œ Data 28์„ Enqueue ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด tail ๋ถ€๋ถ„์— ์ค„์„ ์„œ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋’ค์— ์ƒ๊ธฐ๋Š” ๊ฒƒ์ด์—์š”.

 

์ถœ์ฒ˜ : https://visualgo.net/ko/list

 

  • Dequeue : Queue์—์„œ Data๋ฅผ ๊บผ๋‚ธ๋‹ค.

 

์ถœ์ฒ˜ : https://visualgo.net/ko/list

 

๊ทธ๋ฆฌ๊ณ , Dequeue๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋งจ ์•ž์— ์žˆ์—ˆ๋˜ ๊ฐ’์ด ๋น ์ ธ๋‚˜๊ฐ€๊ฒŒ ๋˜๋Š” ํ˜•์‹์ด ๋ฐ”๋กœ Queue์ธ ๊ฒƒ์ด์—์š”!

 

 

   ๐Ÿ“ Python Queue Library ํ™œ์šฉํ•˜์—ฌ Queue ์ž๋ฃŒ ๊ตฌ์กฐ ์‚ฌ์šฉ

  • Queue Library์—๋Š” ๋‹ค์–‘ํ•œ Queue ๊ตฌ์กฐ๋กœ Queue(), LifoQueue(), PriorityQueue() ์ œ๊ณต
  • ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑ ์‹œ ํ”„๋กœ๊ทธ๋žจ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ์ž๋ฃŒ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.
    • Queue() : ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ Queue ์ž๋ฃŒ ๊ตฌ์กฐ
    • LifoQueue() : ๋‚˜์ค‘์— ์ž…๋ ฅ๋œ Data๊ฐ€ ๋จผ์ € ์ถœ๋ ฅ ๋˜๋Š” ๊ตฌ์กฐ (Stack ๋ฐฉ์‹์˜ ๊ตฌ์กฐ)
    • PriorityQueue() : Data๋งˆ๋‹ค ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋„ฃ์–ด ์šฐ์„  ์ˆœ์œ„๊ฐ€ ๋†’์€ ์ˆœ์œผ๋กœ Data ์ถœ๋ ฅ
    • ์ด ์™ธ์— ๋‹ค์–‘ํ•œ ์ •์ฑ…์ด ์ ์šฉ๋œ Queue ์กด์žฌ

 

 

 

 

   ๐Ÿ“ Queue๊ฐ€ ๋งŽ์ด ์‚ฌ์šฉ ๋˜๋Š” ๊ณณ

๋ฉ€ํ‹ฐ ํƒœ์Šคํ‚น์„ ์œ„ํ•œ ํ”„๋กœ์„ธ์Šค (์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ) ์Šค์ผ€์ฅด๋ง ๋ฐฉ์‹์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์ด์—์š”.

ํ์˜ ๊ฒฝ์šฐ ์žฅ, ๋‹จ์ (ํŠน๋ณ„ํžˆ ์–ธ๊ธ‰๋˜๋Š” ์žฅ, ๋‹จ์ ์ด ์—†๋‹ค.) ๋ณด๋‹ค๋Š” ํ์˜ ํ™œ์šฉ ์˜ˆ๋กœ ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ฅด๋ง ๋ฐฉ์‹์„ ํ•จ๊ป˜ ์ดํ•ดํ•ด ๋‘๋Š” ๊ฒƒ์ด ์ข‹๋‹ต๋‹ˆ๋‹ค!

 

 

์˜ˆ์ „ alleh ๊ด‘๊ณ ๋ฅผ ๋ณด๋ฉด ํ์— ๋Œ€ํ•ด ์ข€ ๋” ์ดํ•ด ํ•˜๊ธฐ ํŽธํ•˜์‹ค ๊ฒƒ์ด์—์š”!

 

 

 


 

์ฃผ๋‹ˆํ•˜๋ž‘์˜ ๊ธ€์ด ๋งˆ์Œ์— ๋“œ์…จ๋‚˜์š”? ๊ตฌ๋…๊ณผ ๊ณต๊ฐ! ๊ทธ๋ฆฌ๊ณ , ๋Œ“๊ธ€์€ ์ฃผ๋‹ˆํ•˜๋ž‘์—๊ฒŒ ๋งŽ์€ ํž˜์ด ๋ฉ๋‹ˆ๋‹ค

728x90
๋ฐ˜์‘ํ˜•