๊ธฐ์กด์ ๋ฐฐ์ด์ ํตํ ๋ฐ์ดํฐ ์ ๋ ฌ์ ํ๊ฒ ๋๋ฉด
ย
์ค๊ฐ์ ์
๋ ฅ๋๋ ๋ฐ์ดํฐ๊ฐ ์์ ์ ๊ทธ ๋ค์ ์กด์ฌํ๋ ๋ชจ๋ ๋ฐ์ดํฐ์ ์์น๋ฅผ ์ฎ๊ฒจ์ฃผ์ด์ผ ํด์ ๋นํจ์จ์ ์ด๋ค.
ย
Linked List (์ฐ๊ฒฐ ๋ฆฌ์คํธ)๋ ๊ทธ๋ฌํ ๋ถํธํจ์ ํด์ํ๊ณ ์ ๋์
๋์๊ณ ์ด๋ ์์น์์๋ ์๊ด์์ด
ย
๋ฐ์ดํฐ์ ์ฃผ์๊ฐ์ ํตํด ๋ฐ์ดํฐ์ ์์๋ฅผ ํ์ธํ๋ค.
ย
๋ณดํต Nodeํํ๋ก ๊ตฌ์ฑ๋์ด์๊ณ
ย
๋ฐ์ดํฐ์ ๋งจ ์์ ํ์ํ๋ head
ย
๊ทธ๋ฆฌ๊ณ next์ ๊ทธ๋ค์ ์ฃผ์๊ฐ์ ์
๋ ฅ ์์ผ์ค๋ค.
ย
๋ฐ๋ผ์ ์ค๊ฐ์ค๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์
๋ ฅ์ํฌ๋ next์ ์ฃผ์๊ฐ๋ง ๋ฐ๋๊ฒ ํด์ฃผ๋ฉด ๋๋ค.
ย
ex) {1 3 4 5 6} ์์ "1 3"์ฌ์ด์ "2"๋ฅผ ๋ฃ์ผ๋ ค๋ฉด "1"์ next๋ฅผ "2"๋ก ๋ฐ๊พธ๊ณ "2"์ next๋ฅผ "3"์ผ๋ก ์
๋ ฅ ์์ผ์ฃผ๋ฉด ๋ค๋ฅธ๊ฑธ ๊ฑด๋ค์ง ์๊ณ ์ฝ๊ฒ ์์๋ฅผ ๋ฐ๊ฟ์ ์๋ค.
ย
Circular Linked list
tail์ด๋ผ๋ ๋ฐ์ดํฐ ๋งจ ๋์ head์ ์ฐ๊ฒฐ ์์ผ์ฃผ์ด์ ๋์๊ฐ๊ฒ ํ ์ ์๋ค.
ย
Doubly Linked list
์ด์ค์ฐ๊ฒฐ ๋ฆฌ์คํธ, ์๋ฐฉํฅ ์ฐ๊ฒฐ ๋ฆฌ์คํธ ๋ผ๊ณ ๋ถ๋ฆฐ๋ค.
๊ธฐ์กด์ next ์ฃผ์๋ฟ๋ง์๋๋ผ, ์ถ๊ฐ์ ์ผ๋ก previous ์ฃผ์๋ฅผ ์ถ๊ฐํด์ ์๋ฐฉํฅ์ผ๋ก ์๋ค๊ฐ๋ค ํ ์ ์๋ค.
ย
๋์ ๋ฐฐ์ด vs ์ฐ๊ฒฐ๋ฆฌ์คํธ
๋์ ๋ฐฐ์ด์ด ํจ์ฌ ๋ง์ด ์ฐ์ธ๋ค. ๊ทธ ์ด์ ๋ ์ฐ๊ฒฐ๋ฆฌ์คํธ์๋ ์น๋ช
์ ์ธ ๋จ์ ์ด์๋ค.
- ์กฐํ๊ฐ ๋๋ฆฌ๋ค.
- ์ค๊ฐ์ ์ถ๊ฐ, ์ญ์ ํ๋ ๋์๋ ํ๊ณ ๊ฐ๋ ๋น์ฉ์ด์๋ค.
- ๋ค์ ๋ ธ๋๋ฅผ ๊ธฐ์ตํ๋๋ฐ , ์ถ๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํด์ผํ๋ค.
- ๋ฉ๋ชจ๋ฆฌ๊ฐ ํผ์ ธ์์ผ๋ฏ๋ก, ์บ์์ ํจ๊ณผ๋ฅผ ๋๋ฆฌ์ง ๋ชปํ๋ค.
ย
์ฐ๊ฒฐ๋ฆฌ์คํธ๋ฅผ ์ธ๋ ์ข์์
- ์ฆ์ ์ถ๊ฐ์ ์ญ์ ๊ฐ ์ด๋ค์ง๋ ๊ฒฝ์ฐ ์ฌ์ฉ
- ๋ค๋ฅธ ์๋ฃ๊ตฌ์กฐ (๊ทธ๋ํ)๋ฅผ ๊ณต๋ถํ๋ ๊ธฐ๋ฐ ์ง์์ด ๋๋ค (basic)
ย
ย