Linked List 1

[Data Structure] ๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ (Linked List)

๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ (Linked List) ? ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ๋ฐฐ์—ด์€ ์ˆœ์ฐจ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ๊ณต๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜์—ดํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋–จ์–ด์ง„ ๊ณณ์— ์กด์žฌํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ™”์‚ดํ‘œ๋กœ ์—ฐ๊ฒฐํ•ด์„œ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ C์—์„œ๋Š” ์ฃผ์š”ํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ง€๋งŒ, Python์€ ๋ฆฌ์ŠคํŠธ ํƒ€์ž…์ด ๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ์˜ ๊ธฐ๋Šฅ์„ ๋ชจ๋‘ ์ง€์› ๊ธฐ๋ณธ ๊ตฌ์กฐ ๋…ธ๋“œ(Node) : ๋ฐ์ดํ„ฐ ์ €์žฅ ๋‹จ์œ„(๋ฐ์ดํ„ฐ๊ฐ’, ํฌ์ธํ„ฐ)๋กœ ๊ตฌ์„ฑ ํฌ์ธํ„ฐ(Pointer) : ๊ฐ ๋…ธ๋“œ ์•ˆ์—์„œ, ๋‹ค์Œ์ด๋‚˜ ์ด์ „์˜ ์—ฐ๊ฒฐ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ณต๊ฐ„ ์žฅ์  (C์–ธ์–ด ์ž…์žฅ์—์„œ) ๋ฏธ๋ฆฌ ๋ฐ์ดํ„ฐ ๊ณต๊ฐ„์„ ๋ฏธ๋ฆฌ ํ• ๋‹นํ•˜์ง€ ์•Š์•„๋„ ๋จ (๋ฐฐ์—ด์€ ํ• ๋‹น ํ•„์š”) ๋‹จ์  (C์–ธ์–ด ์ž…์žฅ์—์„œ) ์—ฐ๊ฒฐ์„ ์œ„ํ•œ ๋ณ„๋„ ๋ฐ์ดํ„ฐ ๊ณต๊ฐ„์ด ํ•„์š”ํ•˜๋ฏ€๋กœ, ์ €์žฅ๊ณต๊ฐ„ ํšจ์œจ์ด ๋†’์ง€ ์•Š์Œ ์—ฐ๊ฒฐ ์ •๋ณด๋ฅผ ์ฐพ๋Š” ์‹œ๊ฐ„์ด ํ•„์š”ํ•˜๋ฏ€๋กœ ์ ‘๊ทผ ์†๋„๊ฐ€ ๋Š๋ฆผ ์ค‘๊ฐ„ ๋ฐ์ดํ„ฐ ์‚ญ์ œ ์‹œ..