Data Structure - Stack & Queue (1)

๐ŸŽ‰๋“ค์–ด๊ฐ€๊ธฐ์— ์•ž์„œ

9์‹œ ๋ถ€ํ„ฐ ํ•œ ์‹œ๊ฐ„ ๋™์•ˆ ์œ ์–ด ํด๋ž˜์Šค์—์„œ ํ•™์Šตํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด ๋ณธ๋‹ค.

์ž๋ฃŒ : ๋ฌธ์ž, ์ˆซ์ž, ์†Œ๋ฆฌ, ๊ทธ๋ฆผ ๋“ฑ์˜ ํ˜•ํƒœ๋กœ ๋œ ์˜๋ฏธ ๋‹จ์œ„๋ฅผ ๋œปํ•˜๋ฉฐ, ์ด๋Ÿฌํ•œ ์ž๋ฃŒ๋ฅผ ์˜๋ฏธ ์žˆ๊ฒŒ ์ •๋ฆฌํ•˜๋ฉด ์ •๋ณด๊ฐ€ ๋œ๋‹ค.

์ปดํ“จํ„ฐ๋Š” 0๊ณผ 1๋งŒ ์ดํ•ดํ•˜๋Š” ๋ฌผ๋ฆฌ์ ์ธ ํ•œ๊ณ„๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ์ธ๊ฐ„์˜ ์–ธ์–ด๋ฅผ ์ค‘๊ฐ„์—์„œ ๋ฒˆ์—ญํ•ด์ฃผ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ํ†ตํ•ด, ์ปดํ“จํ„ฐ (๊ธฐ๊ณ„์–ด) ์—๊ฒŒ ๋ช…๋ นํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.

๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์‚ฌ๋žŒ๋“ค์€ 0๊ณผ 1๋กœ ์“ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ธฐ ์‹ซ์–ด์„œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ง€์ •ํ•˜๊ฒŒ ๋œ๋‹ค.

๋งˆ์น˜ ์—ฌ๋Ÿ ์ž๋ฆฌ์˜ (1byte) ์ด์ง„์ˆ˜๋ฅผ 10์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ๋Š” ์žˆ์ง€๋งŒ ๊ทธ๊ฒƒ๋งˆ์ €๋„ ๋ณด๊ธฐ๊ฐ€ ์‹ซ์€ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ ๊ทธ๊ฒƒ๋„ ๋ฌธ์ž๋กœ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ๋งŒ๋“ค์—ˆ๋‹ค.

๊ทธ๊ฒŒ ๋ฐ”๋กœ ASCII TABLE ์ด๋‹ค.

https://ko.wikipedia.org/wiki/ASCII

์ฆ‰ ๋ฐ์ดํ„ฐ ํƒ€์ž…์˜ ์ •์˜๋Š”,

  • ์ปดํ“จํ„ฐ์— 0๊ณผ 1๋กœ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ธ๊ฐ„์ด ์‚ฌ์šฉํ•˜๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐ์ดํ„ฐ๋“ค์˜ ์ข…๋ฅ˜๋กœ ํ•ด์„ํ•˜๊ธฐ ์œ„ํ•œ ์žฅ์น˜
  • ๊ฐ™์€ ์ด์ง„ ๋ฐ์ดํ„ฐ๋ผ๋„ ์ธ๊ฐ„์˜ ํ•ด์„์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๊ฐ€ ๋  ์ˆ˜๋„ ์žˆ์Œ์„ ์˜๋ฏธํ•œ๋‹ค. ๋‹ค๋ฅธ ๋ฌธ์ž๋กœ ํ‘œ๊ธฐ๊ฐ€ ๊ฐ€๋Šฅํ•ด์„œ?
  • ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด์„ํ•  ์ง€ ์ •์˜ ํ•œ ๊ฒƒ

๊ทธ๋Ÿผ ์ž๋ฃŒ ๊ตฌ์กฐ์˜ ์ •์˜๋Š”?

  • ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋“ค์˜ ๋ฌถ์Œ์„ ์–ด๋–ป๊ฒŒ ์ €์žฅํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ง€ ์ •์˜ํ•œ ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

์ž๋ฃŒ๊ตฌ์กฐ์• ๋Š” ๋ฐฐ์—ด๋„ ์žˆ๊ณ , stack, queue, tree ๋“ฑ๋“ฑ์ด ์žˆ๋Š”๋ฐ ์˜ค๋Š˜์€ stack, quene ์— ๋Œ€ํ•ด ์•Œ์•„๊ฐ€๋Š” ์‹œ๊ฐ„์ด์˜€๋‹ค.

Stack, Queue

์Šคํƒ์€ ์Šคํƒ ์˜ค๋ฒ„ ํ”Œ๋กœ์šฐ์˜ ๊ทธ ์Šคํƒ ์ธ๋ฐ ๋Œ€์ฒด ๋ญ” ๋œป์ด์ง€.

์ž˜ ์ดํ•ด๊ฐ€ ์•ˆ๊ฐ€๋ฏ€๋กœ ์œ ์–ดํด๋ž˜์Šค์˜ ์„ค๋ช…์„ ๋ณด๋ฉด์„œ ๊ทธ๋ฆผ์„ ๊ทธ๋ ค๋ดค๋‹ค.

stackqueue

  • Stack : ์ž๋ฃŒ๋“ค์„ ์ฐจ๋ก€๋Œ€๋กœ ๋„ฃ๊ณ  (push), ๊บผ๋‚ผ ๋•Œ๋Š” ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ์Œ“์—ฌ์ง„ ์ž๋ฃŒ๋ถ€ํ„ฐ ๋นผ๋‚ธ๋‹ค (pop). ํ›„์ž…์„ ์ถœ์˜ ๋Š๋‚Œ. ์ ‘์‹œ๋ฅผ ์•„๋ž˜๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ์Œ“์•„ ๋†“๊ณ  ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์ œ์ผ ๋‚˜์ค‘์— ์Œ“์€ (๋งจ ์œ„์— ์žˆ๋Š”) ์ ‘์‹œ๋ฅผ ๊บผ๋‚ด ์‚ฌ์šฉํ•œ๋‹ค.
  • Queue : ์ž๋ฃŒ๋ฅผ ์ง‘์–ด ๋„ฃ๊ณ  (Enqueue) ๋นผ๋‚ผ ๋•Œ๋Š” ๋จผ์ € ๋“ค์–ด๊ฐ„ ๊ฐ’๋ถ€ํ„ฐ ๋นผ๋‚ธ๋‹ค(dequeue). ์„ ์ž…์„ ์ถœ์˜ ๋Š๋‚Œ. ๋†€์ด๊ณต์›์—์„œ ์‚ฌ๋žŒ๋“ค์ด ๋งจ ๋๋ถ€ํ„ฐ ์ค„์„ ์„œ๊ณ  ๋งจ์•ž์—์„œ ๋ถ€ํ„ฐ ๋†€์ด๊ธฐ๊ตฌ์— ํƒ‘์Šนํ•˜๋Š” ๋Š๋‚Œ, ํ˜น์€ ์ฃผ๋ฐฉ์—์„œ ์‹์ž์žฌ๋ฅผ ๋ณด๊ด€ํ•˜๊ณ  ์‚ฌ์šฉํ•  ๋•Œ ์ƒ๋ฏธ๊ธฐํ•œ์ด ์ œ์ผ ์ž„๋ฐ•ํ•œ (๋จผ์ € ๋“ค์–ด๊ฐ„) ์‹์ž์žฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Š๋‚Œ.

ํŽ˜์–ด๋‹˜๊ณผ ์™„์„ฑํ•œ ๊ณผ์ œ๋ฅผ ํ•˜๋‚˜์”ฉ ์Šค์Šค๋กœ ์ดํ•ดํ•ด ๊ฐ€๋ฉฐ ๋ธ”๋กœ๊ทธ๋ฅผ ์ž‘์„ฑํ•ด ๋ณด๊ฒ ๋‹ค.


Written by@[DotoriMook]
ํ”„๋ก ํŠธ์—”๋“œ ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž ๋„ํ† ๋ฆฌ๋ฌต์˜ ๊ธฐ์ˆ ๊ฐœ๋ฐœ ๋ธ”๋กœ๊ทธ ์ž…๋‹ˆ๋‹ค.

GitHubMediumTwitterFacebook