์ƒˆ์†Œ์‹

CS

[์ž๋ฃŒ๊ตฌ์กฐ] ์„ ํ˜•๊ตฌ์กฐ์™€ ๋น„์„ ํ˜•๊ตฌ์กฐ

  • -

๐Ÿฃ ์ž๋ฃŒ๊ตฌ์กฐ์˜ ์„ ํ˜• ๊ตฌ์กฐ์™€ ๋น„์„ ํ˜• ๊ตฌ์กฐ


 1ํ•™๊ธฐ ์ž๋ฃŒ๊ตฌ์กฐ ๊ฐ•์˜์™€ ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ๋ฅผ ์ค€๋น„ํ•˜๋ฉด์„œ ์ž๋ฃŒ ๊ตฌ์กฐ ๊ทธ ์ค‘ ์„ ํ˜•๊ตฌ์กฐ์™€ ๋น„์„ ํ˜•๊ตฌ์กฐ์— ๋Œ€ํ•ด์„œ๋„ ์‚ดํŽด๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ทธ๋ž˜๋„ ํ•œ๋ฒˆ ์ •๋ฆฌํ•˜๊ณ  ๊ฐ€๋Š” ๊ฒƒ์ด ๋‚˜์ค‘์„ ์œ„ํ•ด์„œ๋„ ํŽธํ•  ๊ฒƒ ๊ฐ™์•„์„œ ๋„์ ๋„์  ์ ์–ด๋ณธ๋‹ค. ์ƒˆ์‚ผ ๋А๋ผ๋Š” ๊ฑฐ์ง€๋งŒ ๋น„์ „๊ณต์ž๋Š” ์Šค์Šค๋กœ ์ฐพ์•„์„œ ๊ณต๋ถ€ ํ•˜๋Š” ์Šต๊ด€์„ ๊ธธ๋“ค์—ฌ์•ผ ํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ๋– ๋จน์—ฌ ์ฃผ์ง€ ์•Š์œผ๋‹ˆ ํ•˜๋‚˜์”ฉ ์ฐจ๊ทผ์ฐจ๊ทผ! ๋‚˜์•„๊ฐ€๋ณด์ž!

 


๐Ÿฃ ์ž๋ฃŒ๊ตฌ์กฐ


1. ์ž๋ฃŒ๊ตฌ์กฐ์˜ ๊ฐœ๋…

  • ์ž๋ฃŒ ๊ตฌ์กฐ๋Š” ์ปดํ“จํ„ฐ์ƒ ์ž๋ฃŒ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ๋…ผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ
  • ์ž๋ฃŒ ๊ตฌ์กฐ์˜ ํ˜„๋ช…ํ•œ ์„ ํƒ์„ ํ†ตํ•˜์—ฌ ํšจ์œจ์  ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์—ฌ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ด

2. ์ž๋ฃŒ ๊ตฌ์กฐ์˜ ๋ถ„๋ฅ˜

์ž๋ฃŒ ๊ตฌ์กฐ๋Š” ์„ ํ˜• ๊ตฌ์กฐ์™€ ๋น„์„ ํ˜• ๊ตฌ์กฐ๋กœ ํฌ๊ฒŒ ๋‚˜๋‰˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ

 

๊ตฌ์กฐ ์„ค๋ช… ์ข…๋ฅ˜
์„ ํ˜• ๊ตฌ์กฐ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ์†์ ์œผ๋กœ ์—ฐ๊ฒฐํ•œ ์ž๋ฃŒ ๊ตฌ์กฐ ๋ฆฌ์ŠคํŠธ, ์Šคํƒ, ํ, ๋ฐํฌ
๋น„์„ ํ˜• ๊ตฌ์กฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋น„์—ฐ์†์ ์œผ๋กœ ์—ฐ๊ฒฐํ•œ ์ž๋ฃŒ ๊ตฌ์กฐ ํŠธ๋ฆฌ, ๊ทธ๋ž˜ํ”„

 

  • ์•„๋ž˜์˜ ๊ทธ๋ฆผ์„ ํ†ตํ•ด ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•ด๋ณด์ž

https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLndbj%2FbtqSa9FxX1x%2FrmBM8kJTQIrFzRYs6aPFGK%2Fimg.png

 

 

๐Ÿฃ ์„ ํ˜• ๊ตฌ์กฐ


1. ๊ฐœ๋…

์„ ํ˜• ๊ตฌ์กฐ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋น„์—ฐ์†์ ์œผ๋กœ ์—ฐ๊ฒฐํ•œ ์ž๋ฃŒ ๊ตฌ์กฐ

 

์„ ํ˜• ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์—์„œ ๋ฐ์ดํ„ฐ ์š”์†Œ๋Š” ์ˆœ์ฐจ์  ์ˆœ์„œ๋กœ ๋ฐฐ์—ด๋˜๋ฉฐ, ๊ฐ ์š”์†Œ๋Š” ์ด์ „ ๋ฐ ๋‹ค์Œ ์ธ์ ‘ ์š”์†Œ์— ์—ฐ๊ฒฐ. ์ด ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ์Œ. ์‚ฝ์ž…, ์‚ญ์ œ, ์•ก์„ธ์Šค์™€ ๊ฐ™์€ ์ผ๋ฐ˜์ ์ธ ์ž‘์—…์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์ˆœ์ฐจ์ ์œผ๋กœ ์ˆ˜ํ–‰.

 

2. ์ข…๋ฅ˜

  2-1. ๋ฆฌ์ŠคํŠธ

  ์„ ํ˜• ๋ฆฌ์ŠคํŠธ(Linear List)

   ๋‹จ์ผ ์—ฐ๊ฒฐ(๊ฐ ๋…ธ๋“œ๊ฐ€ ๋‹ค์Œ ๋…ธ๋“œ๋ฅผ ๊ฐ€๋ฆฌํ‚ด) ๋˜๋Š” ์ด์ค‘ ์—ฐ๊ฒฐ(๊ฐ ๋…ธ๋“œ๊ฐ€ ๋‹ค์Œ ๋…ธ๋“œ์™€ ์ด์ „ ๋…ธ๋“œ๋ฅผ ๋ชจ๋‘ ๊ฐ€๋ฆฌํ‚ด)์ผ ์ˆ˜ ์žˆ์Œ

 

  ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ(Linked List)

   ๊ฐ ๋…ธ๋“œ๊ฐ€ ๋ฐ์ดํ„ฐ์™€ ๋‹ค์Œ ๋…ธ๋“œ์— ๋Œ€ํ•œ ์ฐธ์กฐ(๋˜๋Š” ๋งํฌ)๋ฅผ ํฌํ•จํ•˜๋Š” ์ผ๋ จ์˜ ๋…ธ๋“œ

 

์ž์„ธํ•œ ๊ฐœ๋…?
์„ ํ˜•๋ฆฌ์ŠคํŠธ, ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ  - ํ•ด๋‹น ๊ฐœ๋…์€ ์•„๋ž˜ ์ •๋ฆฌ๊ธ€์„ ์ฐธ๊ณ !

 

  2-2. ์Šคํƒ stack

ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ์ž๋ฃŒ๋ฅผ ๋„ฃ๊ณ  ๊บผ๋‚ผ ์ˆ˜ ์žˆ๋Š” LIFO(Last-In First-Out) ํ›„์ž… ์„ ์ถœ ํ˜•์‹์˜ ์ž๋ฃŒ ๊ตฌ์กฐ

 

  2-3. ํ Queue

ํ•œ ์ชฝ ๋์—์„œ๋Š” ์‚ฝ์ž…, ๋ฐ˜๋Œ€์ชฝ ๋์—์„œ๋Š” ์‚ญ์ œ ์ž‘์—…์ด ์ด๋ฃจ์–ด์ง€๋Š” FIFO(First-In First-Out) ํ˜•์‹์˜ ์ž๋ฃŒ ๊ตฌ์กฐ

 

  2-4. ๋ฐํฌ Deque

ํ์˜ ์–‘์ชฝ ๋์—์„œ ์‚ฝ์ž…๊ณผ ์‚ญ์ œ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒ ๊ตฌ์กฐ

 

์ž์„ธํ•œ ๊ฐœ๋…?
์Šคํƒ,ํ,๋ฐํฌ - ํ•ด๋‹น ๊ฐœ๋…์€ ์•„๋ž˜ ์ •๋ฆฌ๊ธ€์„ ์ฐธ๊ณ !

 

๐Ÿฃ ๋น„์„ ํ˜• ๊ตฌ์กฐ


1. ๊ฐœ๋…

๋น„์„ ํ˜• ๊ตฌ์กฐ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ์†์ ์œผ๋กœ ์—ฐ๊ฒฐํ•œ ์ž๋ฃŒ ๊ตฌ์กฐ

 

๋น„์„ ํ˜• ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์—์„œ๋Š” ๋ฐ์ดํ„ฐ ์š”์†Œ๊ฐ€ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ฐฐ์—ด๋˜์ง€ ์•Š์Œ. ๋Œ€์‹  ๊ณ„์ธต์ ์ด๊ฑฐ๋‚˜ ์ƒํ˜ธ ์—ฐ๊ฒฐ๋œ ๋ฐฉ์‹์œผ๋กœ ๋ฐฐ์—ด๋˜์–ด ์š”์†Œ ๊ฐ„์— ๋ณต์žกํ•œ ๊ด€๊ณ„๋ฅผ ํ˜•์„ฑ ๊ฐ€๋Šฅํ•จ. ์ˆœํšŒ๋Š” ์„ ํ˜• ๊ตฌ์กฐ์— ๋น„ํ•ด ๋” ๋ณต์žกํ•  ์ˆ˜ ์žˆ์Œ

 

2. ์ข…๋ฅ˜

  2-1. ํŠธ๋ฆฌ Tree

ํŠธ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ๋“ค์„ ๊ณ„์ธตํ™”์‹œํ‚จ ์ž๋ฃŒ ๊ตฌ์กฐ๋กœ ๊ทธ๋ž˜ํ”„์˜ ํŠน์ˆ˜ํ•œ ํ˜•ํƒœ์ด๋‹ค. ๋…ธ๋“œ(node)์™€ ์„ ๋ถ„(branch)์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ์ •์  ์‚ฌ์ด์— ์‚ฌ์ดํด(Cycle)์ด ํ˜•์„ฑ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉฐ, ์ž๋ฃŒ ์‚ฌ์ด์˜ ๊ด€๊ณ„์„ฑ์ด ๊ณ„์ธต ํ˜•์‹์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ๋น„์„ ํ˜• ๊ตฌ์กฐ

 

  2-2. ๊ทธ๋ž˜ํ”„ Graph

๊ทธ๋ž˜ํ”„๋Š” ๋…ธ๋“œ(Node)์™€ ๋…ธ๋“œ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฐ„์„ (Edge)์„ ํ•˜๋‚˜๋กœ ๋ชจ์•„ ๋†“์€ ์ž๋ฃŒ ๊ตฌ์กฐ

 

์ž์„ธํ•œ ๊ฐœ๋…?
ํŠธ๋ฆฌ์™€ ๊ทธ๋ž˜ํ”„- ํ•ด๋‹น ๊ฐœ๋…์€ ์•„๋ž˜ ์ •๋ฆฌ๊ธ€์„ ์ฐธ๊ณ !

 

๐Ÿฃ ์„ ํ˜• ๊ตฌ์กฐ vs ๋น„์„ ํ˜• ๊ตฌ์กฐ


1. ๋ฉ”๋ชจ๋ฆฌ ํ™œ์šฉ

์„ ํ˜• ๊ตฌ์กฐ

์—ฐ์†๋œ ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„ ๊ณต๊ฐ„์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉ

 

๋น„์„ ํ˜• ๊ตฌ์กฐ

๋” ๋ณต์žกํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ

 

2. ๋ณต์žก์„ฑ

์„ ํ˜• ๊ตฌ์กฐ

์ผ๋ฐ˜์ ์œผ๋กœ ๊ตฌํ˜„ํ•˜๊ณ  ์ดํ•ดํ•˜๊ธฐ๊ฐ€ ๋” ์‰ฌ์›€

 

๋น„์„ ํ˜• ๊ตฌ์กฐ

๋” ๋ณต์žกํ•œ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ณ ๊ธ‰ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ž์ฃผ ์‚ฌ์šฉ

 

3. ์ˆœํšŒ

์„ ํ˜• ๊ตฌ์กฐ

ํƒ์ƒ‰์ด ๊ฐ„๋‹จ

 

๋น„์„ ํ˜• ๊ตฌ์กฐ

๋น„์„ ํ˜• ๊ตฌ์กฐ์˜ ์ˆœํšŒ๋Š” ๋” ๋ณต์žกํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ํŠน์ˆ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜(์˜ˆ: ์ˆœ์ฐจ, ์‚ฌ์ „ ์ˆœ์„œ, ์‚ฌํ›„ ์ˆœ์„œ์™€ ๊ฐ™์€ ํŠธ๋ฆฌ ์ˆœํšŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜)์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ

 

4. ์‚ฝ์ž…, ์‚ญ์ œ

์„ ํ˜• ๊ตฌ์กฐ

์š”์†Œ๋ฅผ ์ด๋™ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—(ํŠนํžˆ ๋ฐฐ์—ด์—์„œ) ์ด๋Ÿฌํ•œ ์ž‘์—…์— ์‹œ๊ฐ„์ด ๋” ๋งŽ์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Œ

 

๋น„์„ ํ˜• ๊ตฌ์กฐ

์‚ฝ์ž…๊ณผ ์‚ญ์ œ๊ฐ€ ๋” ํšจ์œจ์ ์ผ ์ˆ˜ ์žˆ์ง€๋งŒ ํฌ์ธํ„ฐ๋‚˜ ์ฐธ์กฐ๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•จ

 


์„ ํ˜•๊ตฌ์กฐ์™€ ๋น„์„ ํ˜•๊ตฌ์กฐ์˜ ๊ฐœ๋…๊ณผ ์ข…๋ฅ˜๋“ค์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ณด์•˜๋‹ค. ๊ฐ๊ฐ์˜ ์ž์„ธํ•œ ๊ฐœ๋…๋“ค์€ ๋”ฐ๋กœ ๊ฒŒ์‹œ๊ธ€๋กœ ์ •๋ฆฌํ•ด ๋งํฌ๋ฅผ ๊ฑธ์–ด๋†จ์œผ๋‹ˆ ์ฐธ๊ณ ํ•˜๊ธฐ ๐Ÿค“๐Ÿค–๐ŸŒผ

ํ•˜๋‚˜๋‘˜์”ฉ ๋‚˜์•„๊ฐ€๋‹ค ๋ณด๋ฉด ! _ !

 

 

[์ž๋ฃŒ๊ตฌ์กฐ] ์„ ํ˜• ๋ฆฌ์ŠคํŠธ(Linear List)์™€ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ(Linked List)

๐Ÿฃ ๋ฆฌ์ŠคํŠธ(List)์˜ค๋Š˜์€ ๋ฆฌ์ŠคํŠธ(List)์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ณด๊ฒ ๋‹น! ์•ž์—์„œ ์‚ดํŽด๋ณธ ๊ฒƒ๊ณผ ๊ฐ™์ด! ์ž๋ฃŒ ๊ตฌ์กฐ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ์†์ ์œผ๋กœ ์—ฐ๊ฒฐํ•œ '์„ ํ˜• ๊ตฌ์กฐ'์™€ ๋ฐ์ดํ„ฐ๋ฅผ ๋น„์—ฐ์†์ ์œผ๋กœ ์—ฐ๊ฒฐํ•œ '๋น„์„ ํ˜• ๊ตฌ์กฐ'๋กœ ๋‚˜๋‰œ

haileyham.tistory.com

 

Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.