Stack, Queue

2020. 11. 9. 18:02ใ†Backend/๐Ÿ Python

ํ•œ์ค„ ์ •๋ฆฌ

  • Stack : ๋‚˜์ค‘์— ๋„ฃ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋จผ์ € ๋‚˜์˜ค๋Š” ํ˜•ํƒœ
  • Queue : ๋จผ์ € ๋„ฃ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋จผ์ € ๋‚˜์˜จ ํ˜•ํƒœ

Stack / Last In First Out

  • ์ •ํ•ด์ง„ ๋ฐฉํ–ฅ์—์„œ๋งŒ ๋ฐ์ดํ„ฐ์˜ ์ž…์ถœ๋ ฅ(์‚ฝ์ž…(push) / ์‚ญ์ œ(pop))์ด ์ด๋ฃจ์–ด์ง€๋ฉฐ, ์ด ๊ณณ์„ ์Šคํƒ์˜ top์ด๋ผ ๋ถ€๋ฅธ๋‹ค.

Queue / First In First Out


  • ํ•œ์ชฝ ๋์—์„œ๋Š” ์‚ฝ์ž… ์ž‘์—…(enQueue)์ด, ๋‹ค๋ฅธ ์ชฝ ๋์—์„  ์‚ญ์ œ ์ž‘์—…(deQueue)์ด ๊ฐ๊ฐ ์ด๋ฃจ์–ด์ง„๋‹ค(ํ•œ์ชฝ์ด ์‚ฝ์ž…/์‚ญ์ œ ๋ชจ๋‘๋ฅผ ๋‹ด๋‹นํ•  ์ˆœ ์—†๋‹ค.)
    • ์‚ญ์ œ์—ฐ์‚ฐ๋งŒ ์ด๋ฃจ์–ด์ง€๋Š” ๊ณณ์„ front, ์‚ฝ์ž…์—ฐ์‚ฐ๋งŒ ์ด๋ค„์ง€๋Š” ๊ณณ์„ rear๋กœ ์นญํ•œ๋‹ค.
    • ์ฆ‰ ํ์˜ ๊ฐ€์žฅ ์ฒซ ์›์†Œ๋Š” front์—, ๋งˆ์ง€๋ง‰ ์›์†Œ๋Š” rear์— ์œ„์น˜ํ•œ๋‹ค.

(Deque์€ ์Šคํƒ๊ณผ ํ๋ฅผ ํ•ฉ์นœ ํ˜•ํƒœ)