โ 1. ๋ฆฌ์คํธ์ ๊ฐ๋
(1) ๋ฐฐ์ด์ ์ ์

- ๋ฐฐ์ด์ ํ๋์จ์ด ๋ฉ๋ชจ๋ฆฌ์ ๋ฌผ๋ฆฌ์ ์ธ ์์์ ๋์ผํจ ( ์ค์ ๋ฉ๋ชจ๋ฆฌ์ ๋ฌผ๋ฆฌ์ ์ฃผ์ ๊ณต๊ฐ์ ์ฐ์์ ์ผ๋ก ์ ์ฅ๋จ. )
- ์์์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ(๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ, DDR)์ ๋ฌผ๋ฆฌ์ ์ธ ์์น๋ฅผ '์์'์ ์ผ๋ก ๊ฒฐ์ ํ๋ ํน์ง
- ๋ฐฐ์ด์ ์์๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์์ ์ ์ฅ๋๋ '์์๊ฐ์ ๋ฌผ๋ฆฌ์ ์์'
(2) ๋ฆฌ์คํธ์ ์๋ฏธ
- ์ฌ๋ฌ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ด๋ค ์ ์์ ์ํด์ ๊ฒฐ์ ๋ ๋ ผ๋ฆฌ์ ์ธ ์์๋๋ก ๋ฌถ์ด์ ๊ด๋ฆฌํ ์ ์๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ๋งํ๋ค.
- ๋ฆฌ์คํธ์ '์์'๋ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ๋ฌผ๋ฆฌ์ ์ธ ์์น์ ์๊ด์์ด ์ฌ๋๋ค์ ๋จธ๋ฆฟ์์ ์ธ์๋๋ '๋ ผ๋ฆฌ์ ์ธ ์์', ํน์ ๋ฆฌ์คํธ์์ ๋ํ๋๋ ์์๋ค ๊ฐ์ '์๋ฏธ์ ์ธ ์์'๋ฅผ ์๋ฏธํ๋ค.
- ๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ก ํํ๋๋ '์ถ์์ ์์'๊ฐ ๋ฐฐ์ด ์์์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์์์ ๋ฌผ๋ฆฌ์ ์ธ ์์น์ ์ผ์นํจ.
- ํ์ง๋ง, ๋ฆฌ์คํธ์ '์์' ๊ฐ๋ ์ ์ด๋ค ์ ์์ ์ํด์ ๊ฒฐ์ ๋ '๋ ผ๋ฆฌ์ ์ธ ์์' ์ด๋ฉฐ, ์์๋ค์ ๋ฌผ๋ฆฌ์ ์ธ ์ ์ฅ ์์๋ ์์น์๋ ๋ฌด๊ดํ๊ฒ ์์๋ค ๊ฐ์ ๋ ผ๋ฆฌ์ ์ธ ์์๋ง ์ ์งํจ
- ์ฝ๊ฒ๋งํด, ํ๋์จ์ด ๋ฉ๋ชจ๋ฆฌ์ ์ด๋ป๊ฒ ์ ์ฅ๋๋๋๋ ์ค์ํ์ง ์๊ณ , ๊ฒฐ๋ก ์ ์ฌ๋์ด ๋ณด๋ ๋ ผ๋ฆฌ์ ์ธ ์์๋ง ์ ์งํ๋ฉด ๋จ.
- ์ด๋ ๊ฒ ๋ ผ๋ฆฌ์ ์ธ ์์๋ง ์ ์งํด์ค๋ค๋ฉด ๊ทธ๊ฒ์ ๋ฆฌ์คํธ๋ผ๊ณ ๋ถ๋ฆ
(3) ๋ฆฌ์คํธ์ ๊ตฌํ ๋ฐฉ๋ฒ
- ํฌ์ธํฐ๋ฅผ ์ด์ฉํ ๋ฆฌ์คํธ์ ๊ตฌํ ๋ฐฉ๋ฒ: ์์๊ฐ์ ์ ์ฅํ๋ ๊ณต๊ฐ๊ณผ ๋ค์ ์์๋ฅผ ๊ฐ๋ฆฌํค๋ ์์น ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ๊ณต๊ฐ์ ํจ๊ป ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ด๋ค.
- ๋ฐฐ์ด์ ์ด์ฉํ ๋ฆฌ์คํธ์ ๊ตฌํ ๋ฐฉ๋ฒ: ๋ฐฐ์ด์ ํ์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐฐ์ด ์์๋๋ก ์ ์ฅํ๋ ๋ฐฉ์
- ์ฆ, ๋ ผ๋ฆฌ์ ์ธ ์์๋ง ์ ์งํด์ฃผ๋ฉด ๋๋๊ฒ์ด ๋ฆฌ์คํธ์ด๊ธฐ ๋๋ฌธ์ ์ด๋ ๊ฒ ๋ค์ํ ๊ตฌํ์ด ๊ฐ๋ฅํจ.
โ 2. ๋ฐฐ์ด์ ์ด์ฉํ ๋ฆฌ์คํธ์ ๊ตฌํ
(1) ๋ฐฐ์ด์ ์ด์ฉํ ๋ฆฌ์คํธ์ ๊ตฌํ

- ๋ฐฐ์ด์ ์ฌ์ฉํ๋ฏ๋ก, ๋ฐฐ์ด์ฒ๋ผ ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์์ ์ธ ์์ฐจ์ ์ฃผ์๊ฐ์ ๊ฐ๊ฒ ๋๋ค.
(2) ๋ฐฐ์ด์ ์ด์ฉํ ๋ฆฌ์คํธ์ ๋ฌธ์ ์
- ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น: ์ด๊ธฐ ๋ฐฐ์ด ์ ์ธ์์ ์ถฉ๋ถํ ํฌ๊ฒ ํ๋ฉด ์ด๋ ์ ๋ ๋ฐฐ์ด์ ์ถ๊ฐ ํ์ฅ์ ํผํ ์ ์๊ฒ ์ง๋ง, ํ์ฅ ๋ ๊ณต๊ฐ์ ํ์ฉ์ ์ํ๋ค๋ฉด ๊ทธ ๋งํผ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ๋ญ๋น๊ฐ ๋ ์ ์๋ ๋ฌธ์ ๊ฐ ์์.
- ์ฐ์ฐ ์๊ฐ์ ์ฆ๊ฐ: ์์๋ฅผ ์ฝ์ ํ๊ฑฐ๋ ์ญ์ ํ๊ธฐ ์ํด์๋ ํด๋น ์์์ ์์น ๋ค์ ์๋ ๋ชจ๋ ์์๋ฅผ ๋ค๋ก ๋ฌผ๋ฆฌ๊ฑฐ๋ ์์ผ๋ก ๋น๊ฒจ์ผ๋งํ๋ ๋ฌธ์ ๊ฐ ์์. ( ์ค๊ฐ ์ฝ์ ์ ๋ค๋ก ๋ฐ๊ณ , ์ค๊ฐ ์ญ์ ์ ๋ค์ ์์๋ฅผ ์์ผ๋ก ๋น๊ฒจ์ผํจ )
- ๋ฆฌ์คํธ ์์๊ฐ์ ์ด๋์ ์์ ์๊ฐ ๋ง์์๋ก ๊ทธ๋งํผ ํ๋ก๊ทธ๋จ์ ์ํ์๊ฐ์ ์ฆ๊ฐ์ํจ๋ค. ( ์์๋ค์ด ์ด๋์ ํด์ผํด์ )
- ๋ฆฌ์คํธ์ ์์ ์ฝ์ ์ ํ๋ก๊ทธ๋จ์ ์คํ ์ค์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ํ์๋ก ํ๋ ๊ฒฝ์ฐ๋ ๋ฐ์์ํด
- ๋ฐฐ์ด์ ์ด์ฉํ ๋ฆฌ์คํธ์ ๊ตฌํ์ ์ค์ IT ์๋น์ค ํ๊ฒฝ์์๋ ์์ฃผ ์ฌ์ฉ๋์ง ์๊ณ ์์.
- ์๋ฃ์ ์ฝ์ ๊ณผ ์ญ์ ๊ฐ ๋น๋ฒํ ๋ฐ์ํ๋ ์ํฉ์์ ๋ฆฌ์คํธ๋ฅผ ๋ฐฐ์ด๋ก ๊ตฌํํ๋ ๊ฒ์ ๋น๋ฒํ ์๋ฃ ์ด๋์ผ๋ก ์ธํ ๋นํจ์จ์ ์ธ ์ปดํจํ ์ฑ๋ฅ์ ์ ๋ฐํจ.
โ 3. ํฌ์ธํฐ๋ฅผ ์ด์ฉํ ๋ฆฌ์คํธ์ ๊ตฌํ
ํฌ์ธํฐ๋ฅผ ์ํ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด ํ์ํจ
์์ ์์ ๋ฐ์ดํฐ์์ ํฌ์ธํฐ๋ฅผ ์ฐ๋ฉด ๋ญ๋น๊ฐ ๋ ์ ์์.
(1) ๋ ธ๋์ ๊ตฌ์กฐ

- ๋ ธ๋(node): ๋ฆฌ์คํธ์ ์์๊ฐ(๋ฐ์ดํฐ) + ๋ค์ ์์๋ฅผ ๊ฐ๋ฆฌํค๋ ์ ๋ณด(ํฌ์ธํฐ) ๊ฐ ํฉ์ณ์ ธ์ ํ๋์ ๋ ธ๋๊ฐ ๋๋ค.
- ๋ ธ๋๋ ๋ฐ์ดํฐ ์์(์์๊ฐ)์ ๋ฆฌ์คํธ์ ๋ค์ ๋ ธ๋๋ฅผ ์ง์ํ๋ ํฌ์ธํฐ(์ฃผ์, ๋งํฌ)๋ก ๊ตฌ์ฑ๋จ -> ์์ ๊ฐ ์๋์ ์ฃผ์
(2) ๋ ธ๋์ ๊ตฌ์กฐ ๋ฐ ์ฐ๊ฒฐ


- ํด๋น ๋ ธ๋ ํ๋์๋ ์ฐ๊ฒฐ ๋ ๋ ธ๋ ๋ค์ ๋ ธ๋์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ๊ณผ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
(3) ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ๋ ผ๋ฆฌ์ ์์์ ์ค์ ๋ฉ๋ชจ๋ฆฌ ํํ

- ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ๋ ธ๋ ๊ตฌ์ฑ์ ์ค์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ๊ณผ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ํด๋น ์ฃผ์๊ฐ์ ๋ณธ์ธ์ ์ฃผ์๊ฐ์ด ์๋ ์ฐ๊ฒฐ ๋ ๋ค๋ฅธ ๋ ธ๋์ ์ฃผ์๊ฐ์ด๋ค.
- C/C++์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ ๋ ธ๋๊ฐ ์ค์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ ์ฅํจ.
- Java๋ ๊ฐ์ ์ฃผ์(์ฐธ์กฐ) ๋ฅผ ์ ์ฅํ๊ณ JVM์ด ์ด๋ฅผ ์ค์ ๋ฉ๋ชจ๋ฆฌ์ ๋งคํ์ ํ๋ค.
- ํ์ง๋ง JVM๋ ๊ฒฐ๊ตญ ๋ฉ๋ชจ๋ฆฌ์์ ๋ ธ๋๋ค์ ์ฐ๊ฒฐ์ ํ๋ฉฐ, ์ค์ ๋ฌผ๋ฆฌ ์ฃผ์๋ JVM์ด ์์์ ๊ด๋ฆฌ๋ฅผ ํด์ฃผ๊ฒ ๋จ. ์ถ์ํ ๋๋
โ 4. ํฌ์ธํฐ ๋ณ์
(1) ๋ฆฌ์คํธ์ ์์ฑ

- C ์ธ์ด์์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ ๊ตฌํํ ์๋ฃ๊ตฌ์กฐ์ด๋ค.
(2) ํฌ์ธํฐ์ ํ ๋น๊ณผ ๋ฐํ ์

- ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น ๋ฐ๊ณ ํฌ์ธํฐ๋ฅผ ์ง์ ๋ฐ๊ณ ๊ฐ์ ํ ๋น๋ฐ๋ ๊ณผ์ ์ด๋ค.
(3) ํฌ์ธํฐ์ ํ ๋น๊ณผ ๋ฐํ์ ์คํ ๊ฒฐ๊ณผ

- p_a ์ p_b ๋ณ์๋ช ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ฐ๊ฐ ์๋ฃํ ๋ฐ์ดํธ ํฌ๊ธฐ์ ๋ง๊ฒ ํ ๋น์ ๋ฐ์ ๋ชจ์ต์ด๋ค.
- ๊ฐ๊ฐ ์ฃผ์๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์๊ฐ์ด ์๊ณ , ์ฐ๊ฒฐ ๋ ๋ค๋ฅธ ๋ ธ๋์ ์ฃผ์๊ฐ์ ๊ฐ์ง๊ณ ์๋ค.
โ 5. ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ์ฝ์ ๊ณผ ์ญ์
(1) ์ฐ๊ฒฐ ๋ฆฌ์คํธ์์ ๋ ธ๋์ ์ญ์

- link ์ ์ซ์๋ ๋ค์ ๋ ธ๋์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ์ด๋ค.


- ์ญ์ ๋ ๋ ธ๋์ link ๋ฅผ ํธ์ถํ๋ ์ ๋ ธ๋์ link ๊ฐ์ ์ญ์ ๋ ๋ ธ๋์ ๋ค์ ๋ ธ๋๋ก ์ฐ๊ฒฐ์ ํด์ฃผ๋ฉด ์ญ์ ๊ฐ ์ด๋ฃจ์ด์ง๋ค.
[ ๋ฆฌ์คํธ์ ์์ ์ญ์ ์ฐ์ฐ ๋จ๊ณ ]
- ์ญ์ ํ ๋ ธ๋์ ์ ํ ๋ ธ๋์ ๋งํฌ ํ๋๋ฅผ ์ญ์ ํ ๋ ธ๋์ ํํ ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๊ฒ ํ๋ค.
- ์ญ์ ํ ๋ ธ๋๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐํํ๋ค. ( ์ด์์ฒด์ ์๊ฒ ๋๊น์ผ๋ก์จ ํด๋น ๋ถ๋ถ์ ์ญ์ ๋๋ฉฐ, ๋ค๋ฅธ ์์ญ์ผ๋ก ์์ )
(2) ์ฐ๊ฒฐ ๋ฆฌ์คํธ์์ ๋ ธ๋์ ์ฝ์


- ์ด๊ธฐ ์ฐ๊ฒฐ ๋ฆฌ์คํธ์์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ 6000์ ๊ฐ๋ ๋ ธ๋๊ฐ ๋ง๋ค์ด์ก๋ค๊ณ ๊ฐ์


- ์ฝ์ ํ ์์น๋ฅผ ์ ํ์ ํ๋ฉด ์ ํ ๊ทธ ์ฌ์ด์ ์ ํ ๋ ธ๋์ link ํ๋ ๊ฐ์ ์ฝ์ ๋ ๋ ธ๋์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ก ๋ฃ์ด์ฃผ๊ณ ์ฝ์ ๋ link ํ๋ ๊ฐ์ ํํ ๋ ธ๋์ link ๊ฐ์ผ๋ก ๋ฃ์ด์ฃผ๊ฒ ๋๋ค. ์ด๋ ๊ฒ ๋๋ฉด, ์ฝ์ ์ด ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋๋ฐ ๊ฒฐ๊ตญ์ ์ฐ๊ฒฐ๋ง ํ ๊ฒ์. ์ฆ, ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์์ ์ด ์๋ ๋น์ฐ์์ ์ผ๋ก ์ ์ฅ์ด ๋จ์ ์ ์ ์์. ์ ์ด์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ ์์ฒด๊ฐ ๋ค ๋ฌ๋ผ์ ๋น์ฐ์์ ์.
[ ๋ฆฌ์คํธ์ ์์ ์ฝ์ ์ฐ์ฐ ๋จ๊ณ ]
- ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ ๋น๋ฐ๊ณ ์ฝ์ ํ ๋ด์ฉ์ ์ ์ฅํ์ฌ ์ฝ์ ํ x ๋ ธ๋๋ฅผ ์์ฑํ๋ค.
- x ๋ ธ๋์ ๋งํฌ๋ถ๋ถ์ด ํํ ๋ ธ๋๊ฐ ๋ j ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๊ฒ ํ๋ค.
- ์ฝ์ ๋ x ๋ ธ๋์ ์ ํ ๋ ธ๋๊ฐ ๋ i ๋ ธ๋์ ๋งํฌ ํ๋๊ฐ x ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๊ฒ ํ๋ค.
โ 6. ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ์ฌ๋ฌ ๊ฐ์ง ์ฐ์ฐ
(1) ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ์์ฑ


- ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ์์ฑ ์ฐ์ฐ์ ์๋ฏธํ๊ณ ์์ผ๋ฉฐ, ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค๊ฒ ๋๋ฉด ์ฒ์์ head ์ ์ฃผ์๊ฐ์ ๊ฐ์ง ํํ๋ก ์๊ฒ ๋๋ฉฐ, ์ดํ ๋ ธ๋๊ฐ ์ถ๊ฐ๋๋ฉด ํค๋์์ data ์ link ๋ฅผ ๊ฐ์ง๋ ๋ ธ๋๋ฅผ ์ฐ๊ฒฐํ๊ฒ ๋๋ ๊ตฌ์กฐ์ด๋ค.
- ์ฒ์ ๋ง๋ค์ด์ง๋ฉด head ๋ ธ๋๋ง ์กด์ฌํ๋ฏ๋ก head ๊ฐ ๊ฐ์ง๋ ์ฃผ์๊ฐ์ NULL ์ด ๋ ์ ์๋ค๋ ์๋ฏธ์ด๋ค.
(2) ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ์ฝ์

- ๋ ธ๋๋ฅผ ์ฝ์ ํ๋ ๊ฒฝ์ฐ์๋ ์๋ก์ด ๋ ธ๋๊ฐ ๋ง๋ค์ด์ง๋ ๊ฒฝ์ฐ์ด๋ค.
- ์ฆ, New Node ๊ฐ ๋ง๋ค์ด์ง๋ฉฐ, ๋ด๋ถ ๋ฐ์ด๋ก๋ x , link ๋ก๋ NULL ์ธ ์๋ก์ด ๋ ธ๋๊ฐ ๋ง๋ค์ด์ง๊ฒ ๋๋ค.


- ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ๋ ธ๋๋ฅผ ์ฝ์ ํ ๋ ํ์ฌ ๋ฆฌ์คํธ๊ฐ ๊ณต๋ฐฑ์ธ ๊ฒฝ์ฐ์๋ NewNode๋ฅผ ๋ง๋ค๊ณ ์ ์ผ ์์ธ head ์ link ์ ํํ ๋ ธ๋์ธ ์์์ ๋ง๋ NewNode ์ ์ฃผ์๊ฐ์ ๋ฃ์ด์ฃผ๊ฒ ๋ฐ๋ก ๋ฆฌํด์ ํ๊ฒ ๋๋ ์ฐ์ฐ์ด๋ค.
- ํ์ฌ ๋ฆฌ์คํธ๊ฐ ๊ณต๋ฐฑ์ธ ๊ฒฝ์ฐ๋ก head ๋ ธ๋๊ฐ NULL ์ธ ๊ฒฝ์ฐ ํํ ๋ ธ๋๊ฐ ์์ผ๋ฏ๋ก ํด๋น ๋ฆฌ์คํธ๋ ๋น ๋ฆฌ์คํธ๋ก ๋ณผ ์ ์๋ค.
- ์ฆ, ์ด ๊ฒฝ์ฐ์๋ ์๋ก์ด ๋ ธ๋๋ฅผ ๋ง๋ค์ด head ๋ ธ๋์ ์ฐธ์กฐ ์ฃผ์๊ฐ์ ์๋ก ๋ง๋ค์ด์ง๋ ๋ ธ๋์ ์ฃผ์๊ฐ์ผ๋ก ๋ฃ์ผ๋ฉด ๋๋ค.
[ ์ฐ๊ฒฐ ๋ฆฌ์คํธ ๋ค์ ์ฌ๋ฌ ๋ ธ๋๊ฐ ์๋ ์ํ์์ ์๋ก์ด ๋ ธ๋ ์ฝ์ ์ฐ์ฐ ]


- ์๋ก ๋ง๋ค์ด์ง๋ NewNode ๊ฐ ์๋ค๋ฉด, LastNode ๋ฅผ ์ฐพ์์ ํด๋น LastNode ์ link ๋ถ๋ถ์ NewNode ์ ์ฃผ์๋ฅผ ๋ฃ๊ฒ๋จ.
- ๊ธฐ๋ณธ์ ์ธ ์๋ฆฌ๋ while ๋ฐ๋ณต๋ฌธ์ ํตํด ์กฐ๊ฑด์ ์ํํ๊ฒ ๋๋ค. ํด๋น ์กฐ๊ฑด์ LastNode ๋ ํญ์ link ๊ฐ ๋ฌด์กฐ๊ฑด NULL ์ด์ด์ผ ํ๊ธฐ ๋๋ฌธ์ NULL ๋ ธ๋๋ฅผ ํ๊ณ ๊ฐ๋ฉด์ NULL ์ธ ๋ ธ๋๊ฐ ์๋์ง ํ์ ์ ํ๊ฒ ๋ ํ, ์๋ค๋ฉด ๊ทธ๊ณณ์ LastNode ๋ก ๋ณด๊ณ ๊ทธ ๊ณณ์ ๋ง๋ค์ด์ง ํํ ๋ ธ๋์ ์ฃผ์๊ฐ์ ๋ฃ์ด์ฃผ๊ฒ ๋๋ ๋ฐฉ์์ด๋ค.
[ ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ํน์ ๋ ธ๋ ๋ค์ ์ ๋ ธ๋์ ์ฝ์ ์ฐ์ฐ ]

- ํน์ ๋ ธ๋ ๋ค์ ์ ๋ ธ๋๋ฅผ ์ฝ์ ํ ๋ ์ด ํน์ ๋ ธ๋๋ prevNode ๋ก ๋ถ๋ฆฐ๋ค.


- ์์ ๊ฐ์ ์ฐ์ฐ์ ํ๋ฉด ํด๋น ๊ทธ๋ฆผ๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ง ์ ์๊ฒ ๋๋ค.
- prevNode ๋ค์ NewNode ๋ฅผ ๋ฃ์ ๋ prevNode ์ ์ฐ๊ฒฐ ๋ ๊ธฐ์กด ๋ ธ๋์ ์ฃผ์๊ฐ์ NewNode ์ link ์ ๋ฃ์ด์ฃผ๊ฒ ๋จ.
- ์ดํ, prevNode ์ link ๊ฐ์ NewNode ์ ์ฃผ์๊ฐ์ผ๋ก ๋ณ๊ฒฝ์ ํด์ค์ผ๋ก์จ, ์ค๊ฐ์ ๊ปด๋ฃ์ ์ ์๊ฒ ๋จ.

- ์ดํ, ๊ฒฐ๊ณผ๋ ์ด๋ฐ ๋ชจ์ต์ด ๋ ์ ์์.
(3) ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ์ญ์ ์ฐ์ฐ
[ ์ฐ๊ฒฐ ๋ฆฌ์คํธ ๋ง์ง๋ง ๋ ธ๋ ์ญ์ ์ฐ์ฐ ]

- ์กฐ๊ฑด๋ฌธ ์ฒซ ๋ฒ์งธ๋ฅผ ๋ณด๋ฉด head ์ link ๊ฐ์ด NULL ์ฆ, ๊ณต๋ฐฑ ๋ฆฌ์คํธ์ธ ๊ฒฝ์ฐ: ์ญ์ ํ ๊ฒ์ด ์์ผ๋ฏ๋ก ์ฐ์ฐ์ด ์ค๋จ์ด ๋๋ค.
- ๋ฆฌ์คํธ์ ๋ ธ๋๊ฐ ํ ๊ฐ์ธ ๊ฒฝ์ฐ: head ์ link ๊ฐ์ NULL๋ก ๋ณ๊ฒฝํ๋ฉด ์์์ ์ฐ๊ฒฐ์ด ๋๊ธฐ๋ฉฐ, ์ด์์ฒด์ ๊ฐ ๋ ๋ ค์ค.
- ์ฆ, ํ๋๋ง ์๋ ๊ฒฝ์ฐ์๋ head ์ ๊ฐ๋ง ๋ณ๊ฒฝํ๋ฉด ๋จ.




- ๋ฆฌ์คํธ์ ๋ ธ๋๊ฐ ์ฌ๋ฌ ๊ฐ ์๋ ๊ฒฝ์ฐ: prevNode ์ delNode ํฌ์ธํฐ๋ฅผ ์ด์ฉ ํ ์ ์์ผ๋ฉฐ, link ๊ฐ์ด NULL ์ธ ๊ฒฝ์ฐ๋ฅผ ์ฐพ์ ๋ ๊น์ง ๋ฐ๋ณต๋ฌธ์ ๋๋ฆฌ๋ฉด์ prevNode ์ delNode ๋ฅผ ํ์นธ์ฉ ๋ค๋ก ๊ฐ๊ฒ ํ๋ค. ์ฐพ์ผ๋ฉด ๊ทธ๋ prevNode์ link ๊ฐ์ NULL ๋ก ๋ฐ๊พธ๋ฉด์ ์ฐ๊ฒฐ์ด ๋๊ธฐ๋ฉฐ ์ญ์ ๊ฐ ๋๋ ์ฐ์ฐ์.
(4) ์ฐ๊ฒฐ ๋ฆฌ์คํธ ํน์ ๋ ธ๋ ๊ฒ์




- ๊ฒ์์ ์ญ์ ์ฐ์ฐ์ธ deleteNode ๋ฅผ ํ์ฉํ์ฌ ์งํ์ ํ๊ฒ ๋๋ค.
- ๊ธฐ์กด ๋ง์ง๋ง ์ญ์ ์ฐ์ฐ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก prevNode ์ delNode ๋ฅผ ํ ์นธ์ฉ ๋ค๋ก ๋ฐ๋ฉด์ ์ค๊ฐ์ ์กฐ๊ฑด๋ฌธ์ผ๋ก data ๊ฐ์ด ๋ด๊ฐ ์ํ๋ data ๊ฐ์ธ์ง ์ฌ๋ถ๋ฅผ ์ฒดํฌ๋ฅผ ํ๊ฒ ๋๋ค. ์ดํ, ์๋ ๊ฒฝ์ฐ์ ๋ค์ ๋ฏธ๋ ๋ฐฉ์์ ์ด์ฉํ๊ฒ ๋๋ค.
- ์ด๋ฌํ ๋ฐฉ์์ ์ด์ฉํด์ ํน์ ์์น์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ ํ ์ ์์ผ๋ฉฐ, ํน์ ์์น์ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ๋ํ ํ ์ ์๊ฒ ๋๋ค.

- ์์ ๊ฐ์ด prevNode ์ delNode ์ ๊ทผ์ ํตํด ํน์ ๋ ธ๋๋ฅผ ํ์ ํ ์ ์์ผ๋ฉฐ, ์ด๊ฒ์ ๊ฒ์๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ญ์ ๋ ๊ฐ๋ฅํ๋ค.

- ์ด๋ฌํ ์ฐ์ฐ์ ํตํด์ ํน์ ์์น์ ๋ ธ๋๋ฅผ ์ญ์ ํ๊ณ ์ญ์ ๋ ๋ ธ๋์ ์ ํ ๋ฐ ํํ ๋ ธ๋๋ฅผ ์ฐ๊ฒฐํด์ค ์ ์๋ค.


- prevNode ์ link ๋ฅผ ์ญ์ ํ ๋ ธ๋์ ํํ ๋ ธ๋์ ์ฃผ์๊ฐ์ ์ฐธ์กฐํ๊ฒ ๋๊ณ , delNode ์ ํํ ๋ ธ๋์ ์ฐ๊ฒฐ์ ๋์์ผ๋ก์จ ์ญ์ ๊ฐ ๋ ์ ์์.
'๐๋ฐฉ์กํต์ ๋ํ๊ต > ๐ข์๋ฃ๊ตฌ์กฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [์๋ฃ๊ตฌ์กฐ] 7๊ฐ - ํธ๋ฆฌ (0) | 2025.10.14 |
|---|---|
| [์๋ฃ๊ตฌ์กฐ] 6๊ฐ - ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ์์ฉ (0) | 2025.10.06 |
| [์๋ฃ๊ตฌ์กฐ] 4๊ฐ - ํ (0) | 2025.09.02 |
| [์๋ฃ๊ตฌ์กฐ] 3๊ฐ - ์คํ (2) | 2025.08.25 |
| [์๋ฃ๊ตฌ์กฐ] 2๊ฐ - ๋ฐฐ์ด (3) | 2025.08.22 |