๋จ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ
-
- [C] ๋จ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Singly Linked List)
๋จ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Singly Linked List) ๋จ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ ๋ ธ๋๋ค์ด ํ๋์ ๋งํฌ ํ๋๋ฅผ ๊ฐ์ง๋ฉฐ ์ด ๋งํฌ ํ๋๋ฅผ ์ด์ฉํ์ฌ ๋ชจ๋ ๋ ธ๋๋ค์ด ์ฐ๊ฒฐ๋์ด ์๋ค. ๋ง์ง๋ง ๋ ธ๋์ ๋งํฌ ํ๋ ๊ฐ์ NULL์ด๋ค. ์ฒซ ๋ฒ์งธ ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ(ํค๋ ํฌ์ธํฐ) ๊ฐ๋ง ์๊ณ ์์ผ๋ฉด ์ฐ๊ฒฐ ๋ฆฌ์คํธ ์์ ๋ชจ๋ ๋ ธ๋์ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค. ํ๋์ ๋จ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ ์ฒซ ๋ฒ์งธ ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๋ ํ๋์ ํฌ์ธํฐ๋ง ์์ผ๋ฉด ์ถฉ๋ถํ๋ค. ํค๋ ํฌ์ธํฐ(Head Pointer) : ์ฒซ ๋ฒ์งธ ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ ์ฝ๋ #include #include typedef int element; typedef struct ListNode { element data; struct ListNode *link; } ListNode; void error(c..
2022.07.12 -
- [Python] ๋จ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Singly Linked List)
๋จ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Singly Linked List) ๋จ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ๊ฐ๋ ์ ํ ๋ฆฌ์คํธ(Linear List) ์ฅ์ ๋ฐฐ์ด์ ๊ตฌ์ฑํ์๊ธฐ ๋๋ฌธ์ ๋จ์ํ๋ค. ๋ฌผ๋ฆฌ์ ์ธ ์์์ ๋ ผ๋ฆฌ์ ์ธ ์์๊ฐ ๋์ผํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๊ธฐ ๊ฐ๋จํ๋ค. ํ๋ก๊ทธ๋จ์ผ๋ก ๊ตฌํํ๊ธฐ ๋น๊ต์ ์ฝ๋ค. ๋จ์ : ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ๊ฑฐ๋ ์ญ์ ํ ๋ ๋ง์ ์์ ์ด ํ์ํ๋ค. ์) 100๋ง ๊ฐ์ธ ์ ํ ๋ฆฌ์คํธ์ ๋งจ ์์ ๋ฐ์ดํฐ๋ฅผ ํ๋ ์ฝ์ ํ๋ ค๋ฉด ์ฝ 100๋ง ๊ฐ๋ฅผ ๋ค๋ก ์ด๋์ํค๋ ์์ ์ ํด์ผ ํ๋ค. (์ค๋ฒํค๋(Overhead) ๋ฐ์) ๋จ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Singly Linked List) ์ ํ ๋ฆฌ์คํธ(Linear List)์ ๋ฌ๋ฆฌ, ์ ์ฅ๋ ๋ ธ๋๋ค์ด ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋จ์ด์ง ๊ณณ์ ์์นํ๋ค. ๊ฐ ๋ ธ๋์ ๋ฒ์ง๋ 100, 200, 130 ๋ฑ์ผ๋ก ์์ฐจ์ ์ด์ง ์๋ค. ๋ฐ์ดํฐ์ ๋งํฌ๋ก ๊ตฌ..
2022.06.22