๐ก Linked List
Linked List
๋ Node๋ผ๋ ๊ตฌ์กฐ์ฒด๋ก ์ด๋ฃจ์ด์ ธ ์๋๋ฐ,
Node๋ ๋ฐ์ดํฐ ๊ฐ๊ณผ ๋ค์ Node์ address๋ฅผ ์ ์ฅํฉ๋๋ค
Linkde List๋ ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ์์์๋ ๋น์ฐ์์ ์ธ ์ ์ฅ์ด ๋์ง๋ง
Linked List๋ฅผ ๊ตฌ์ฑํ๋ ๊ฐ๊ฐ์ Node์ address๋ฅผ ๊ฐ๋ฆฌํด์ผ๋ก์จ
๋ ผ๋ฆฌ์ ์ธ ์ฐ์์ฑ์ ๊ฐ์ง ์๋ฃ๊ตฌ์กฐ์ด๋ค
Linked List๋ tree, graph๋ฑ ๋ค๋ฅธ ์๋ฃ๊ตฌ์กฐ๋ฅผ ๊ตฌํํ ๋ ์์ฃผ ์ฐ์ด๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค
Linked list๋ฅผ ์ค๋ช ํ ๋์๋ ์ด๋ฌํ ์ฅ์ ๋ค์ ์ค๋ช ํ๋ฉด ์ข๋ค
๋ฉ๋ชจ๋ฆฌ์์์ ๋ถ์ฐ์์ ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ค๋ ์
Node์ next address๋ฅผ ํตํด ๋ถ์ฐ์์ ์ธ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ฒฐํ์ฌ
๋
ผ๋ฆฌ์ ์ฐ์์ฑ์ ๋ณด์ฅํ๋ค๋ ์
๋ฐ์ดํฐ๊ฐ ์ถ๊ฐ ๋๋ ์์ ์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๊ธฐ ๋๋ฌธ์
๋ฉ๋ชจ๋ฆฌ ํจ์จ์ด ์ข๋ค๋ ์
lined list๋ Array์ ๋ฌ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น๋๋ ๊ฒฝ์ฐ์
์ฐ์์ฑ์ ๊ฐ๊ณ ์์ง ์๋ค ์ฆ ๋ค์ฃฝ๋ฐ์ฃฝ์ ์ ์ฅ ์์๋ฅผ ๊ฐ๊ณ ์๋ค
ํด๋น ๊ทธ๋ฆผ์ data๋ค๋ linked list์ ํน์ฑ์ ๊ฐ๊ณ ์๊ธฐ ๋๋ฌธ์
๋ฉ๋ชจ๋ฆฌ ์์ ์ ์ฅ ์์๋ ๋ค์ฃฝ๋ฐ์ค์ผ ๊ฒ์ด๋ค
๊ทธ๋ฌ๋ linked list์ ํน์ง์ด ์ฌ๊ธฐ์ ๋ ๋ํ๋๋๋ฐ
1๋ฒ์งธ Data์ ์ฃผ์๊ฐ์ 500๋ฒ์ ๊ฐ๊ณ ์์ง๋ง next address ๋ 1004๋ฒ์ ํฅํ๋ค
(์ถ๊ฐ๋ก 1๋ฒ์งธ Data๋ Head
๋ผ๊ณ ๋ถ๋ฅธ๋ค)
์ฆ ์ ์ฅ๋ ๊ณต๊ฐ์ ์๋ก ๋ค๋ฅด์ง๋ง 1๋ฒ์งธ Data์ 2๋ฒ์งธ Data๋ ์ฐ๊ฒฐ๋์ด ์๋๊ฒ ์ด๋ค
์ฌ๊ธฐ์ ๋ด์ผ ํ ์ ์ ๋ง์ง๋ง Node์ next address๋ NULL
๊ฐ์ ์ง๋๋ค๋ ๊ฒ ์ด๋ค
์ด๊ฒ์ด ๋ ผ๋ฆฌ์ ์ฐ์์ฑ์ด๋ค
๐ก ๋ ผ๋ฆฌ์ ์ฐ์์ฑ
๊ฐ Node๋ค์ Next Address ์ ๋ณด๋ฅผ ๊ฐ๊ณ ์๊ธฐ ๋๋ฌธ์
๋ ผ๋ฆฌ์ ์ผ๋ก ์ฐ์์ฑ์ ์ ์งํ๋ฉด์ ์ฐ๊ฒฐ๋์ด ์๋ค
Array์ ๊ฒฝ์ฐ ์ฐ์์ฑ์ ์ ์งํ๊ธฐ ์ํด ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ์์์
์์ฐจ์ ์ผ๋ก ์ ์ฅํ ๋ ๋ฐฉ๋ฒ์ ์ฑํํ๊ณ
Linked list์์๋ ๋ฉ๋ชจ๋ฆฌ์์ ์ฐ์์ฑ์ ์ ์งํ์ง ์์๋ ๋๊ธฐ ๋๋ฌธ์
๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ด ์ข ๋ ์์ ๋ก์ด ๋์ , Next Address๋ฅผ ์ถ๊ฐ์ ์ผ๋ก ์ ์ฅํด์ผ ํ๊ธฐ ๋๋ฌธ์
๋ฐ์ดํฐ ํ๋๋น ์ฐจ์งํ๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ ์ปค์ง๊ฒ ๋๋ค
์ผ์ชฝ ์ ๋ ฌ | ๊ฐ์ด๋ฐ ์ ๋ ฌ |
---|---|
access | O(n) |
search | O(n) |
insertion | O(1) |
deletion | O(1) |
๊ทธ๋ฆผ์์์ ๊ฐ์ด B์ C์ฌ์ด์ E๋ฐ์ดํฐ๋ฅผ ์ฝ์
ํ๋ ๊ฒฝ์ฐ์
B์ Next Address โก E์ Address
E์ Next Address โก C์ Address
Array์ ๋ฌ๋ฆฌ Next Address๋ง ํ ๋นํด์ฃผ๋๊ฑธ๋ก ์ค๊ฐ ์ฝ์ ์ ์๋ฃํ ์ ์๋ค
delete๋ ๋ฐ๋๋ก ํ ๋นํ๋ฉด ๋๋ค ๋ง์ฝ E๋ฅผ ์ญ์
ํ๊ณ ์ถ๋ค๋ฉด
B์ Next Address โก C์ Address ๋ก ์ค์ ํ๋ฉด ๋์ด๋ค
์ค๋ช ์์์ ๊ฐ์ด Linked list์ append delete์ ์๊ฐ ๋ณต์ก๋๋ O(1)์ด๋ค
Array์ O(n)์ ์๊ฐ๋ณด๋ค ๋น ๋ฅธ ์๋๋ผ๋ ๊ฒ์ ์ ์ ์๋ค
๋ฐ๋ฉด์ linked list์ access๋
O(n)์ ์๊ฐ๋ณต์ก๋๊ฐ ํ ๋น๋๋ค
Array์์๋ random access๊ฐ ์ง์์ด ๋์ง๋ง linked access๋ ์์ฐจ์ ์ ๊ทผ๋ฐ์ ํ์ฉ์ด ๋์ง ์๊ธฐ ๋๋ฌธ์ด๋ค
search
๋ํ ๋ง์ฐฌ๊ฐ์ง์ด๋ค