๐Ÿ˜Ž ๊ณต๋ถ€ํ•˜๋Š” ์ง•์ง•์•ŒํŒŒ์นด๋Š” ์ฒ˜์Œ์ด์ง€?

[์•Œ๊ณ ๋ฆฌ์ฆ˜ ์œ„ํ•œ ํ•œ๋ฐœ์ง ๋‘๋ฐœ์ง๐Ÿพ] ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ (Linked List) ๋ณธ๋ฌธ

๐Ÿ‘ฉ‍๐Ÿ’ป ์ปดํ“จํ„ฐ ๊ตฌ์กฐ/Algorithm

[์•Œ๊ณ ๋ฆฌ์ฆ˜ ์œ„ํ•œ ํ•œ๋ฐœ์ง ๋‘๋ฐœ์ง๐Ÿพ] ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ (Linked List)

์ง•์ง•์•ŒํŒŒ์นด 2023. 6. 26. 12:26
728x90
๋ฐ˜์‘ํ˜•

<๋ณธ ๋ธ”๋กœ๊ทธ๋Š” ์ฝ”๋”ฉ๋ฌธ codingmoon ๋‹˜์˜ ์œ ํŠœ๋ธŒ๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค :-)>

=> ๋น…์˜ค(Big-O)ํ‘œ๊ธฐ๋ฒ• ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ [10๋ถ„ ์ •๋ฆฌ]

 

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

: ์—ฐ์†๋œ ๋…ธ๋“œ(Node) ์˜ ์—ฐ๊ฒฐ์ฒด

 

๐Ÿพ ๋…ธ๋“œ(Node)

: ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ ๋ฉ์–ด๋ฆฌ

: ๋ฐ์ดํ„ฐ & ๋งํฌ, 2๊ฐ€์ง€์˜ ํ•„๋“œ๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๊ตฌ์กฐ

 

๐Ÿพ data

: ๋…ธ๋“œ๊ฐ€ ๋‹ด๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ/๊ฐ’

 

๐Ÿพ next

: ๋งํฌ/ํฌ์ธํ„ฐ ์—ญํ• , ๋‹ค์Œ ๋…ธ๋“œ์˜ ์ฃผ์†Œ๋ฅผ ์ €์žฅ

(์–‘๋ฐฉํ–ฅ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ, prev ํฌ์ธํ„ฐ (์ด์ „ ๋…ธ๋“œ์˜ ์ฃผ์†Œ) ์ถ”๊ฐ€)

 

๐Ÿซง ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ (Linked List) vs ๋ฐฐ์—ด

์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ (Linked List)  ๋ฐฐ์—ด
random access ๋ถˆ๊ฐ€๋Šฅ random access ๊ฐ€๋Šฅ
๋ฆฌ์ŠคํŠธ์˜ n๋ฒˆ์งธ ๋…ธ๋“œ ๋ฐฉ๋ฌธ์‹œ O(n) ์‹œ๊ฐ„ ์†Œ์š”  ๋ฐฐ์—ด์˜ n๋ฒˆ์งธ ์›์†Œ ๋ฐฉ๋ฌธ์‹œ O(1) ์‹œ๊ฐ„์œผ๋กœ ๊ฐ€๋Šฅ
๋ฐฐ์—ด๋ณด๋‹ค ๋นจ๋ผ์งˆ ์ˆ˜ ์žˆ๋Š” ๋…ธ ์‚ฝ์ž… & ์‚ญ์ œ ์›์†Œ ์‚ฝ์ž… & ์‚ญ์ œ ์ผ๋ฐ˜์ ์œผ๋กœ O(n) ์‹œ๊ฐ„ ์†Œ์š”

 

๐Ÿซง ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ (Linked List)  ์ข…๋ฅ˜

- Singly Linked List (๋‹จ์ผ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ)

: ๋‹ค์Œ ๋…ธ๋“œ์˜ ๋Œ€ํ•œ point ๊ฐ€์ง

: ํ•œ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ ํ๋ฆ„

 

- Doubly Linked List (์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ)

: ๋‹ค์Œ ๋…ธ๋“œ _ ์ด์ „ ๋…ธ๋“œ์˜ pont ๊ฐ€์ง

: ์•ž๋’ค๋กœ ํƒ์ƒ‰ ๊ฐ€๋Šฅ

: ๋…ธ๋“œ๋งˆ๋‹ค 2๊ฐœ์˜ point ๊ฐ€์ ธ์„œ ๋ณต์žก

 

- Circular Linked List (์›ํ˜• ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ)

: ๋งˆ์ง€๋ง‰์ด head ๋ฅผ ๊ฐ€๋ฅดํ‚ด 

728x90
๋ฐ˜์‘ํ˜•
Comments