2021. 8. 15. 08:00ใ์ฝ๋ฉ ํ ์คํธ ์ค๋น/์๋ฃ๊ตฌ์กฐ
์๋ ํ์ธ์? ์ฃผ๋ํ๋ ์ ๋๋ค.
์ค๋์ ์๋ฃ๊ตฌ์กฐ์์ ๋งํฌ๋ ๋ฆฌ์คํธ(์ฐ๊ฒฐ ๋ฆฌ์คํธ)์ ๋ํด์ ๊ณต๋ถ ํด ๋ณด๋๋ก ํ ๊ฒ์ด์์!
์ ๊ฐ ์์ฑํ ์ฝ๋๊ฐ ๊ถ๊ธํ์๋ค๋ฉด? ์ฃผ๋ํ๋์ ๊น ํ๋ธ์ ๊ด์ฌ์ ์ฃผ์ธ์!
๋ฐ๋ก ์์ ํด ๋ณด๊ฒ ์ต๋๋ค!
๐ Linked List ( ์ฐ๊ฒฐ List )
๋ฐฐ์ด์ ์์ฐจ์ ์ผ๋ก ์ฐ๊ฒฐ๋ ๊ณต๊ฐ์ Data๋ฅผ ๋ํ๋ธ ๊ตฌ์กฐ์ง๋ง, Linked List๋ ๊ณต๊ฐ์ด ๋จ์ด์ ธ ์์ด๋ Data๋ฅผ ๊ฐ์์ ํ์ดํ๋ก ์ฐ๊ฒฐํด์ ๊ด๋ฆฌํ๋ Data์ ๊ตฌ์กฐ์ธ ๊ฒ์ด์์.
๋ณธ๋ C์ธ์ด์์๋ ์ฃผ์ํ Data ๊ตฌ์กฐ์ง๋ง, Python์ List Type์ด Linked List๋ฅผ ๋ชจ๋ ์ง์ํ๋ต๋๋ค!
๐ Linked List ๊ธฐ๋ณธ ๊ตฌ์กฐ์ ์ฉ์ด
- Node(๋ ธ๋) : Data ์ ์ฅ ๋จ์ (Data Value, Pointer)๋ก ๊ตฌ์ฑ
- Pointer(ํฌ์ธํฐ) : ๊ฐ Node ์์์ ๋ค์ ํน์ ์ด์ ์ Node์ ์ฃผ์๊ฐ (์ฐ๊ฒฐ ์ ๋ณด)์ ๊ฐ์ง๊ณ ์๋ ๊ณต๊ฐ
๐ ์ผ๋ฐ์ Linked List ํํ
๐ ๊ฐ๋จํ Linked List
๐ Node ๊ตฌํ
- ๋ณดํต Python์์ Linked List ๊ตฌํ์, Python Class ํ์ฉ
- Python ๊ฐ์ฒด์งํฅ ๋ฌธ๋ฒ ์ดํด ํ์
๐ Linked List ์ฅ, ๋จ์ (์ ํต์ C์ธ์ด์์์ ๋ฐฐ์ด๊ณผ Linked List)
- ์ฅ์
- ๋ฏธ๋ฆฌ Data ๊ณต๊ฐ์ ํ ๋นํ์ง ์์๋ ๋จ
(๋ฐฐ์ด์ ๋ฏธ๋ฆฌ Data ๊ณต๊ฐ์ ์ผ๋ง๋ ์ฌ์ฉํ ๊ฒ์ธ์ง ํ ๋น ํ์)
- ๋ฏธ๋ฆฌ Data ๊ณต๊ฐ์ ํ ๋นํ์ง ์์๋ ๋จ
- ๋จ์
- ์ฐ๊ฒฐ์ ์ํ ๋ณ๋ Data ๊ณต๊ฐ ํ์ํ๊ธฐ์ ์ ์ฅ ๊ณต๊ฐ ๋ฉด์์ ํจ์จ์ด ๋์ง ์์
- ์ฐ๊ฒฐ ์ ๋ณด๋ฅผ ์ฐพ๋ ์๊ฐ์ด ํ์ํ์ฌ ์ ๊ทผ ์๋๊ฐ ๋๋ฆฌ๋ค
- ์ค๊ฐ Data ์ญ์ ์ ์, ๋ค Data์ ์ฐ๊ฒฐ์ ์ฌ๊ตฌ์ฑํด์ผ ํ๋ ๋ถ๊ฐ์ ์์ ํ์
๐ Linked List ๋ณต์กํ ๊ธฐ๋ฅ (Linked List Data ์ฌ์ด Data ์ถ๊ฐ)
๐ Linked List ๋ ์ ์ง ๊ด๋ฆฌ์ ๋ถ๊ฐ์ ๊ตฌํ ํ์
๐ Doble Linked List (์ด์ค ์ฐ๊ฒฐ List)
- Doble Linked List ๊ธฐ๋ณธ ๊ตฌ์กฐ
- ์ฅ์ : ์๋ฐฉํฅ ์ฐ๊ฒฐ๋ก Node ํ์์ด ์์ชฝ์ผ๋ก ๊ฐ๋ฅ
์์ ๊ฐ๊น์ด Node๋ ์์์ ํ์ํ๊ณ , ๋ค์์ ๊ฐ๊น์ด Node๋ ๋ค์์ ํ์ํ ์ ์๋ค.
- ์ฅ์ : ์๋ฐฉํฅ ์ฐ๊ฒฐ๋ก Node ํ์์ด ์์ชฝ์ผ๋ก ๊ฐ๋ฅ
์ฃผ๋ํ๋์ ๊ธ์ด ๋ง์์ ๋์ จ๋์? ๊ตฌ๋ ๊ณผ ๊ณต๊ฐ! ๊ทธ๋ฆฌ๊ณ , ๋๊ธ์ ์ฃผ๋ํ๋์๊ฒ ๋ง์ ํ์ด ๋ฉ๋๋ค
'์ฝ๋ฉ ํ ์คํธ ์ค๋น > ์๋ฃ๊ตฌ์กฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๋ฃ๊ตฌ์กฐ] Tree ๊ตฌ์กฐ(2) (0) | 2021.08.29 |
---|---|
[์๋ฃ๊ตฌ์กฐ] 05. Hash Table (0) | 2021.08.27 |
[์๋ฃ๊ตฌ์กฐ] 03. Stack (0) | 2021.08.10 |
[์๋ฃ๊ตฌ์กฐ] 02. Queue (0) | 2021.08.09 |
[์๋ฃ๊ตฌ์กฐ] 01. ๋ฐฐ์ด (0) | 2021.08.08 |