๐Ÿ“ฆ Data Structure

๐Ÿ“ฆ Data Structure

[์ž๋ฃŒ๊ตฌ์กฐ] ํ(Queue) (python ํŒŒ์ด์ฌ)

ํ(Queue) ํ๋Š” ๊ฐ€์žฅ ๋จผ์ € ๋„ฃ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ๋‚˜์˜ค๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋‹ค. ์Šคํƒ์ด๋ž‘ ๋น„๊ตํ•˜๋ฉด ์Šคํƒ์€ ์ž…๊ตฌ๊ฐ€ 1๊ฐœ์ธ ํ†ต ๊ฐ™์€ ๊ตฌ์กฐ์ด๊ณ , ํ๋Š” ํ„ฐ๋„ ๊ฐ™์€ ๊ตฌ์กฐ๋‹ค. ๊ฐ€์žฅ ๋จผ์ € ๋“ค์–ด์˜จ ์ฐจ๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ๋‚˜๊ฐ„๋‹ค. ์ด๋Ÿฐ ๊ตฌ์กฐ๋ฅผ First In First Out(FIFO, ์ผ๋ช… ํ”ผํฌ)๋ผ๊ณ  ํ•œ๋‹ค. ํ์—๋Š” ๋‘๊ฐœ์˜ ํฌ์ธํ„ฐ๊ฐ€ ์กด์žฌํ•œ๋‹ค. ํ•˜๋‚˜๋Š” rear, ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” front๋‹ค. rear์—์„œ๋Š” Enqueue, front์—์„œ๋Š” dequeue์—ฐ์‚ฐ์ด ์ˆ˜ํ–‰๋œ๋‹ค. ํ์˜ ์—ฐ์‚ฐ - enqueue(): ํ๊ฐ€ ๊ฐ€๋“์ฐผ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ๊ฐ€๋“์ฐจ์žˆ์ง€ ์•Š์œผ๋ฉด rear ์œ„์น˜์— ๋ฐ์ดํ„ฐ ์‚ฝ์ž…. - dequeue(): ํ๊ฐ€ ๋น„์–ด์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ๋น„์–ด์žˆ์ง€ ์•Š์œผ๋ฉด front์œ„์น˜์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ returnํ•˜๊ณ  remove. - peek(): ํ์˜ front ์œ„์น˜์— ..

๐Ÿ“ฆ Data Structure

[์ž๋ฃŒ๊ตฌ์กฐ] ์Šคํƒ(Stack) (python ํŒŒ์ด์ฌ)

์Šคํƒ(Stack) ์Šคํƒ์€ ๊ฐ€์žฅ ๋‚˜์ค‘์— ๋„ฃ์€(push) ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์žฅ ๋จผ์ € ๊บผ๋‚ด๋Š”(pop) ์ž๋ฃŒ๊ตฌ์กฐ๋‹ค. ์ด๋Ÿฐ ๊ตฌ์กฐ๋ฅผ Last In First Out(ํ›„์ž…์„ ์ถœ, LIFO) ๋˜๋Š” First In Last Out(์„ ์ž…ํ›„์ถœ, FILO)๋ผ๊ณ  ํ•œ๋‹ค. ํ”ํžˆ ํƒ๋ฐฐ ํŠธ๋Ÿญ์— ์žˆ๋Š” ํƒ๋ฐฐ ์ƒ์ž๋“ค์„ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ๊ฐ€์žฅ ๋‚˜์ค‘์— ๋„ฃ์€ ํƒ๋ฐฐ ์ƒ์ž๋ถ€ํ„ฐ ๋จผ์ € ๊บผ๋‚ด๋‹ˆ๊นŒ ์Šคํƒ์˜ ์—ฐ์‚ฐ - push(): ์Šคํƒ์ด ๊ฐ€๋“ ์ฐผ๋Š”์ง€(isFull) ํ™•์ธํ•˜๊ณ  ๊ฐ€๋“ ์ฐจ์žˆ์ง€ ์•Š์œผ๋ฉด top ๋‹ค์Œ ์œ„์น˜์— ๋ฐ์ดํ„ฐ ์‚ฝ์ž…. - pop(): ์Šคํƒ์ด ๋น„์–ด์žˆ๋Š”์ง€(isEmpty) ํ™•์ธํ•˜๊ณ  ๋น„์–ด์žˆ์ง€ ์•Š์œผ๋ฉด top์œ„์น˜์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ return ํ•˜๊ณ  ์‚ญ์ œ. - peek():์Šคํƒ์˜ top์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ return. - isFull(): ์Šคํƒ์ด ๊ฐ€๋“ ์ฐผ๋Š”์ง€ ํ™•์ธ. ์Šคํƒ์˜ ์‚ฌ์ด์ฆˆ์™€..

์ œ๋ด‰์•„
'๐Ÿ“ฆ Data Structure' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก