peewoong 2024. 4. 11. 22:58

 

๋ฐ์ดํ„ฐ๋ฅผ 1์—ด๋กœ ๋‚˜์—ด

 

๐ŸŸฉ ์ ‘๊ทผ ์–ด๋ ค์›€

ํฉ์–ด์ ธ์„œ ์ €์žฅ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํฌ์ธํ„ฐ๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ๋”ฐ๋ผ๊ฐ€์•ผ๋งŒ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผ ๊ฐ€๋Šฅ

 

๐ŸŸฉ ์ถ”๊ฐ€, ์‚ญ์ œ ์šฉ์ด

์ถ”๊ฐ€์‹œ ์ถ”๊ฐ€ํ•  ์œ„์น˜์˜ ์•ž๋’ค ํฌ์ธํ„ฐ๋งŒ ๋ณ€๊ฒฝํ•˜๋ฉด ๋œ๋‹ค.

์‚ญ์ œ๋„ ๋™์ผ

 

cf. ์‚ญ์ œ์‹œ, ๋ฉ”๋ชจ๋ฆฌ์—๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚จ์ง€๋งŒ ์–ด๋””์—๋„ ์ ‘๊ทผํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์ผ๋ถ€๋Ÿฌ ์‚ญ์ œํ•  ํ•„์š”์—†๋‹ค.

์ดํ›„์— ์ด ์˜์—ญ์ด ๋‹ค์‹œ ์‚ฌ์šฉ๋  ๋•Œ ๋ฎ์–ด์“ฐ์—ฌ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

๐ŸŸฉ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์ด์˜ ์—ฐ์†๋œ ์œ„์น˜์— ์ €์žฅ๋˜์ง€ ์•Š๋Š”๋‹ค

๋ฐ์ดํ„ฐ์˜ ๋ฌผ๋ฆฌ์ ์ธ ์ˆœ์„œ์™€ ๊ด€๋ จ์—†์Œ

์—ฐ๊ฒฐ ์ •๋ณด์˜ ๋…ผ๋ฆฌ์  ์ˆœ์„œ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.

 

๐ŸŒŸ head

์‹œ์ž‘์ , ์„ ํ˜• ๊ตฌ์กฐ์—์„œ ์ฒซ ๋ฒˆ์งธ ๋…ธ๋“œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์šฉ์–ด

๋…ธ๋“œ(node) = data + pointer

์ „์ฒด ๋ฆฌ์ŠคํŠธ๋ฅผ ํƒ์ƒ‰ํ•˜๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€/์‚ญ์ œ์‹œ ๊ธฐ์ค€์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

 

๐ŸŸฉ ๊ณ„์‚ฐ์‹œ๊ฐ„

๊ฒ€์ƒ‰ O(n)

์ถ”๊ฐ€/์‚ญ์ œ O(1)

 

๐ŸŸฉ ํฌ๊ธฐ ๋ณ€๊ฒฝ์— ์œ ์—ฐํ•˜๋‹ค

ํ•„์š”์— ๋”ฐ๋ผ ๋™์ ์œผ๋กœ ํ• ๋‹นํ•˜์—ฌ ํšจ์œจ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์ด ๊ฐ€๋Šฅํ•˜๋‹ค.


๐ŸŒŸ ์›ํ˜• ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ (์ˆœํ™˜ ๋ฆฌ์ŠคํŠธ)

๋ฆฌ์ŠคํŠธ์˜ ๋งˆ์ง€๋ง‰ ๋ฐ์ดํ„ฐ๊ฐ€ ์„ ๋‘๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ํ•œ๋‹ค.

์„ ๋‘, ํ›„๋ฏธ์˜ ๊ฐœ๋…์ด ์—†๋‹ค.

 

 

๐ŸŒŸ ์–‘๋ฐฉํ–ฅ ๋ฆฌ์ŠคํŠธ (์ด์ค‘์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ)

ํฌ์ธํ„ฐ๋ฅผ 2๊ฐœ ์‚ฌ์šฉํ•ด์„œ ์•ž๋’ค ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค. ํŽธ๋ฆฌํ•˜๋‹ค.

์ด ๋•Œ head๋Š” list์˜ ์‹œ์ž‘, ๋์„ ๋ชจ๋‘ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์‚ฝ์ž…๊ณผ ์‚ญ์ œ์— ์šฉ์ดํ•˜๋‹ค.

 

cf. ํฌ์ธํ„ฐ ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚˜๋ฏ€๋กœ ๋ฐ์ดํ„ฐ ์ €์žฅ์„ ์œ„ํ•œ ์˜์—ญ์ด ๋งŽ์•„์ง€๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.

๋ฐ์ดํ„ฐ ์ถ”๊ฐ€, ์‚ญ์ œ ์‹œ ๋ณ€๊ฒฝํ•ด์•ผํ•  ํฌ์ธํ„ฐ๊ฐ€ ๋Š˜์–ด๋‚œ๋‹ค.