๐ Computer Science/Data Structure
[์๋ฃ๊ตฌ์กฐ] ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Linked List)
hyebin (Helia)
2023. 2. 10. 13:40
๋ฐ์ํ
์ฐ๊ฒฐ ๋ฆฌ์คํธ(Linked List)
- ๊ฐ ๋ ธ๋๊ฐ ๋ฐ์ดํฐ์ ํฌ์ธํฐ๋ฅผ ๊ฐ์ง๊ณ ํ ์ค๋ก ์ฐ๊ฒฐ๋์ด ์๋ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์๋ฃ๊ตฌ์กฐ
- ๋ฐฐ์ด์ ๊ณ ์ ํฌ๊ธฐ์ ๋จ์ ์ ๋ณด์ํ๊ธฐ ์ํด ๋ง๋ค์ด์ง
- ๋ฐฐ์ด๊ณผ ๋ฌ๋ฆฌ ์ฐ์์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ์ฅ๋์ด ์์ง ์๊ธฐ ๋๋ฌธ์ ์ฐ๊ฒฐ ํ์
์ฐ๊ฒฐ ๋ฆฌ์คํธ ํํ
- Head๋ ๋ฆฌ์คํธ์ ์ฒ์์ ๋ํ๋
- ๋ ธ๋๋ ๋ฐ์ดํฐ์ ๋ค์ ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๋ Next ํฌ์ธํฐ๋ก ๊ตฌ์ฑ
- ๊ฐ ๋ ธ๋๋ Next ํฌ์ธํฐ๋ฅผ ์ฌ์ฉํด ๋ค์ ๋ ธ๋์ ์ฐ๊ฒฐ
- ๋ง์ง๋ง ๋ ธ๋๋ null์ ๊ฐ๋ฆฌ์ผ ๋ฆฌ์คํธ์ ๋์ ๋ํ๋
์ฐ๊ฒฐ ๋ฆฌ์คํธ ์ข ๋ฅ
1. ๋จ์ผ ์ฐ๊ฒฐ ๋ฆฌ์คํธ
- ๊ฐ ๋ ธ๋๋น ํ ๊ฐ์ ํฌ์ธํฐ๋ฅด ๊ฐ์ง๊ณ ์์
- ํฌ์ธํฐ๋ ๋ค์ ๋ ธ๋์ ์์น๋ฅผ ๊ฐ๋ฆฌํด
2. ์ด์ค ์ฐ๊ฒฐ ๋ฆฌ์คํธ
- ๊ฐ ๋ ธ๋๋น ๋ ๊ฐ์ ํฌ์ธํฐ๋ฅผ ๊ฐ์ง๊ณ ์์
- ํฌ์ธํฐ๋ ๊ฐ๊ฐ ์ด์ ๋ ธ๋์ ๋ค์๋ ธ๋์ ์์น๋ฅผ ๊ฐ๋ฆฌํด
3. ์ํ ์ฐ๊ฒฐ ๋ฆฌ์คํธ
- ๋จ์ผ ์ฐ๊ฒฐ ๋ฆฌ์คํธ์์ ๋ง์ง๋ง ๋ ธ๋(ํ ์ผ)์ ํฌ์ธํฐ๊ฐ ํค๋๋ฅผ ๊ฐ๋ฆฌํด
์ฐ๊ฒฐ ๋ฆฌ์คํธ ์ฝ์ , ์ญ์
- 2์ 4 ์ฌ์ด์ 3์ ์ฝ์
- 2์์ 4๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ์ ์ฐ๊ฒฐ์ ํด์ ํ๊ณ , 2๋ 3์ 3์ 4๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ํฌ์ธํฐ ์ฐ๊ฒฐ
- 4๋ฅผ ์ญ์
- 2์์ 4๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ์ ์ฐ๊ฒฐ์ ํด์ ํ๊ณ , 2์์ 5๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ํฌ์ธํฐ ์ฐ๊ฒฐ
์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ์๊ฐ ๋ณต์ก๋
operation | time |
์์ ์์น์ ๋ํ ์ฝ์ /์ญ์ | Θ(1) |
๋ง์ง๋ง ์์น์ ๋ํ ์ฝ์ /์ญ์ | Θ(1): ๋ง์ง๋ง ์์ ์์น๋ฅผ ์๋ ๊ฒฝ์ฐ Θ(n): ๋ง์ง๋ง ์์ ์์น๋ฅผ ๋ชจ๋ฅด๋ ๊ฒฝ์ฐ |
์ค๊ฐ ์์น์ ๋ํ ์ฝ์ /์ญ์ | search time + Θ(1) |
์ธ๋ฑ์ฑ | Θ(n) |
๊ณต๊ฐ ๋ญ๋น | Θ(n) |
์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ํน์ง
- ์ ํ์ ๋ฐ์ดํฐ ์๋ฃ๊ตฌ์กฐ
- ํน์ ์์น์ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๊ธฐ ์ํด์๋ ์ฒซ ๋ ธ๋๋ถํฐ ์์ฐจ์ ์ผ๋ก ํ์๋ง ๊ฐ๋ฅ
- ์ฝ์ ์ญ์ ๊ฐ ๋ฐฐ์ด์ ๋นํด ๋น ๋ฅด๊ณ ์ฌ์
- ๊ฒ์์ด ๋นํจ์จ์ , ํฌ์ธํฐ๋ก ์ธํด ์ถ๊ฐ ์ ์ฅ๊ณต๊ฐ ํ์
์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ์ฅ์
- ํฌ๊ธฐ๊ฐ ๊ฐ๋ณ์
- ์ฝ์ ์ญ์ ๊ฐ ์ฌ์
์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ๋จ์
- ์์์ ์ ๊ทผํ๊ธฐ ์ํด์๋ ์ฒซ ๋ฒ์งธ ๋ ธ๋๋ถํฐ ์์ฐจ์ ์ ๊ทผ๋ง ๊ฐ๋ฅ
- ํฌ์ธํฐ๋ฅผ ์ํ ์ถ๊ฐ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ ํ์
๋ฐ์ํ