๋๋์ด ๋ธ๋ก๊ทธ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ ๊ธ์ ์ด ์ด์ ,, LinkedList์ ๋ํด์ ์ค๋ช ํด๋ณด๊ณ ์ ํ๋ค.
๊ฐ์ฅ ์ค์ํ ๊ฒ์ ์ฐ๊ฒฐ์ด ๋ฌด์์ธ๊ฐ, ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ํํํ๋๊ฐ?
cpu: ๊ณ์ฐํ๊ณ ์ฐ์ฐ, ์ฒ๋ฆฌ ์๋๊ฐ storage, memory, cpu ์ค์ ๊ฐ์ฅ ๋น ๋ฆ
storage: HDD, SSD ํ์ผ, ๋ฐ์ดํฐ ๋ฑ์ ์ ์ฅ, ๊ฐ๊ฒฉ์ด ์ ๋ ด, ์ฉ๋์ด ํฌ๊ณ , ๋นํ๋ฐ์ฑ ๋ฉ๋ชจ๋ฆฌ
๋ฉ๋ชจ๋ฆฌ: ๊ธฐ์ต์ ๋ด๋น, ์ฉ๋์ด ์์ฃผ ์ ์, ํ๋ฐ์ฑ ๋ฉ๋ชจ๋ฆฌ, storage ๋ณด๋ค ํจ์ฌ ๋ ๋น ๋ฅด๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ฐ์ ธ์ฌ ์ ์์.
cpu๊ฐ storage์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ๋ค๊ฐ ์ฐ๊ฒ ๋๋ฉด ์๊ฐ์ด ์ค๋๊ฑธ๋ฆฌ๋ ๋จ์ ์ด ์๋ค. cpu๊ฐ ๊ณ์ฐ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด์๋ storage์ ์๋ ๋ฐ์ดํฐ๋ค์ memory๋ก ๊ฐ์ ธ์จ ๋ค์์ memory๊ฐ cpu์๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋๊ฒ ๋น ๋ฅด๋ค.
๋ฐ๋ผ์, Data Structure์์ ๊ฐ์ฅ ์ค์ํ ๋์์ โจMemoryโจ -> ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ์ด ์ค์
- RAM(Random Access Memory) = Memory
์ฌ๋ฌ Address์์ ๊ฐ๋ฆฌํค๋ ์์น์ Data๊ฐ ์ ์ฅ๋์ด ์์. ๊ฐ๊ฐ์ ์ฃผ์์ ์ ๊ทผํ ๋ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ๋์ผํ๋ค. ์ฐพ๊ณ ์ํ๋ ๋ฐ์ดํฐ๊ฐ ์ด๋์ ์์น๋์ด ์๋์ง ์๊ณ ์์ผ๋ฉด ๋น ๋ฅด๊ฒ Access ๊ฐ๋ฅ
โจ LinkedList
ArrayList์ฒ๋ผ ๋ฐ์ดํฐ๊ฐ ์ผ๋ ฌ๋ก ์ฐ๊ฒฐ๋์ด ์๋ ๊ฒ์ด ์๋๊ณ , ๊ฐ์ ์๋ ์์น๋ฅผ ํฌ์ธํฐ๋ก ์ ์ฅํ์ฌ ์ด๋ํ๋ List
์์น๊ฐ ํฉ์ด์ ธ ์์ด ์๋ก linked field์ ์ํด ์ฐ๊ฒฐ์ด ๋์ด์ผ ํ๋ค.
๊ฐ์ฒด๋ฅผ ์์ฑํ์ฌ ๊ฐ์ฒด๋ผ๋ฆฌ ์ฐ๊ฒฐํ๋ ๊ฒ์ด๋ค.
์ฒซ ๋ฒ์งธ ๋ ธ๋๋ฅผ ์์์ผ์ง, ๋ชจ๋ ์ ๋ณด๋ฅผ ์ ์ ์๋ค.
- HEAD: ์ฒซ ๋ฒ์งธ ๋ ธ๋์ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ค.
- TAIL: ์ ์ผ ๋ค์ ์๋ ๋ ธ๋์ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ค.
- SIZE
- Data field: ๋ฐ์ดํฐ
- Link field: ๋ค์ node๊ฐ ๋ฌด์์ธ์ง ์ ์ฅํด ๋์ ๊ฒ
- node, vertex : ArrayList์ element์ ๊ฐ์ [Data field + Link field]
'PS > Data Structure' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
LinkedList ๊ตฌํ ๋ฐฉ๋ฒ (MyLinkedList) (0) | 2022.04.10 |
---|---|
ArrayList ๊ตฌํ ๋ฐฉ๋ฒ (MyArrayList) (0) | 2022.04.10 |
[๊ฐ๋ ] ArrayList, ์ฌ์ฉ๋ฒ(create, insert, remove, get, size, indexof, iterator) (0) | 2022.04.09 |
[๊ฐ๋ ] Array vs List, List (0) | 2022.04.09 |
[๊ฐ๋ ] ๋ฐ์ดํฐ ๊ตฌ์กฐ (Data Structure), Array (0) | 2022.04.09 |