Linked list

๊ธฐ์กด์˜ ๋ฐฐ์—ด์„ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ •๋ ฌ์„ ํ•˜๊ฒŒ ๋˜๋ฉด
ย 
์ค‘๊ฐ„์— ์ž…๋ ฅ๋˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„ ์‹œ ๊ทธ ๋’ค์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ์˜ ์œ„์น˜๋ฅผ ์˜ฎ๊ฒจ์ฃผ์–ด์•ผ ํ•ด์„œ ๋น„ํšจ์œจ์ ์ด๋‹ค.
ย 
Linked List (์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ)๋Š” ๊ทธ๋Ÿฌํ•œ ๋ถˆํŽธํ•จ์„ ํ•ด์†Œํ•˜๊ณ ์ž ๋„์ž…๋˜์—ˆ๊ณ  ์–ด๋А ์œ„์น˜์—์žˆ๋˜ ์ƒ๊ด€์—†์ด
ย 
๋ฐ์ดํ„ฐ์˜ ์ฃผ์†Œ๊ฐ’์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ์˜ ์ˆœ์„œ๋ฅผ ํ™•์ธํ•œ๋‹ค.
ย 
๋ณดํ†ต Nodeํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ๊ณ 
ย 
๋ฐ์ดํ„ฐ์˜ ๋งจ ์•ž์„ ํ‘œ์‹œํ•˜๋Š” head
ย 
๊ทธ๋ฆฌ๊ณ  next์— ๊ทธ๋‹ค์Œ ์ฃผ์†Œ๊ฐ’์„ ์ž…๋ ฅ ์‹œ์ผœ์ค€๋‹ค.
ย 
๋”ฐ๋ผ์„œ ์ค‘๊ฐ„์ค‘๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ์‹œํ‚ฌ๋•Œ next์˜ ์ฃผ์†Œ๊ฐ’๋งŒ ๋ฐ”๋€Œ๊ฒŒ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.
ย 
ex) {1 3 4 5 6} ์—์„œ "1 3"์‚ฌ์ด์— "2"๋ฅผ ๋„ฃ์œผ๋ ค๋ฉด "1"์˜ next๋ฅผ "2"๋กœ ๋ฐ”๊พธ๊ณ  "2"์˜ next๋ฅผ "3"์œผ๋กœ ์ž…๋ ฅ ์‹œ์ผœ์ฃผ๋ฉด ๋‹ค๋ฅธ๊ฑธ ๊ฑด๋“ค์ง€ ์•Š๊ณ  ์‰ฝ๊ฒŒ ์ˆœ์„œ๋ฅผ ๋ฐ”๊ฟ€์ˆ˜ ์žˆ๋‹ค.
ย 

Circular Linked list

tail์ด๋ผ๋Š” ๋ฐ์ดํ„ฐ ๋งจ ๋์„ head์— ์—ฐ๊ฒฐ ์‹œ์ผœ์ฃผ์–ด์„œ ๋Œ์•„๊ฐ€๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.
ย 

Doubly Linked list

์ด์ค‘์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ, ์–‘๋ฐฉํ–ฅ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ๋ผ๊ณ  ๋ถˆ๋ฆฐ๋‹ค.
๊ธฐ์กด์˜ next ์ฃผ์†Œ๋ฟ๋งŒ์•„๋‹ˆ๋ผ, ์ถ”๊ฐ€์ ์œผ๋กœ previous ์ฃผ์†Œ๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ ์–‘๋ฐฉํ–ฅ์œผ๋กœ ์™”๋‹ค๊ฐ”๋‹ค ํ•  ์ˆ˜ ์žˆ๋‹ค.
ย 

๋™์ ๋ฐฐ์—ด vs ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ

๋™์ ๋ฐฐ์—ด์ด ํ›จ์”ฌ ๋งŽ์ด ์“ฐ์ธ๋‹ค. ๊ทธ ์ด์œ ๋Š” ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ์—๋Š” ์น˜๋ช…์ ์ธ ๋‹จ์ ์ด์žˆ๋‹ค.
  • ์กฐํšŒ๊ฐ€ ๋А๋ฆฌ๋‹ค.
  • ์ค‘๊ฐ„์— ์ถ”๊ฐ€, ์‚ญ์ œ ํ•˜๋Š” ๋™์ž‘๋„ ํƒ€๊ณ  ๊ฐ€๋Š” ๋น„์šฉ์ด์žˆ๋‹ค.
  • ๋‹ค์Œ ๋…ธ๋“œ๋ฅผ ๊ธฐ์–ตํ•˜๋Š”๋ฐ , ์ถ”๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค.
  • ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํผ์ ธ์žˆ์œผ๋ฏ€๋กœ, ์บ์‹œ์˜ ํšจ๊ณผ๋ฅผ ๋ˆ„๋ฆฌ์ง€ ๋ชปํ•œ๋‹ค.
ย 
์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋ฅผ ์“ธ๋•Œ ์ข‹์€์ 
  • ์žฆ์€ ์ถ”๊ฐ€์™€ ์‚ญ์ œ๊ฐ€ ์ด๋ค„์ง€๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉ
  • ๋‹ค๋ฅธ ์ž๋ฃŒ๊ตฌ์กฐ (๊ทธ๋ž˜ํ”„)๋ฅผ ๊ณต๋ถ€ํ•˜๋Š” ๊ธฐ๋ฐ˜ ์ง€์‹์ด ๋œ๋‹ค (basic)
ย 
ย