๐ ์๋ฃ ๊ตฌ์กฐ : ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋ฐฉ๋ฒ
๋ฑ์ฅ ๋ฐฐ๊ฒฝ
๋ฐ์ดํฐ์ ์์ด ๋ง์์ง์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ ์ฅํ๊ณ ๊ฒ์ํ๋ ๋ฐฉ๋ฒ์ด ํ์ํด์ก๊ณ , ์ด์ ๋ฐ๋ผ ๋ถํ์ํ ๊ณ์ฐ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๋ฅผ ์ค์ผ ์ ์๋ ์๋ฃ๊ตฌ์กฐ๋ค์ด ๋ฑ์ฅํ๋ค.
์๋ฃ ๊ตฌ์กฐ์ ์ข ๋ฅ
- ๋ฐฐ์ด(Array)
: ๋์ผํ ๋ฐ์ดํฐ ํ์ ์ ๊ฐ์ง ์์๋ค์ ์ฐ์์ ์ผ๋ก ์ ์ฅํ๋ ์๋ฃ๊ตฌ์กฐ
- ๋น ๋ฅธ ์กฐํ : ์ธ๋ฑ์ค ์ฌ์ฉ
- ๊ณ ์ ๋ ํฌ๊ธฐ : ๋ฐ์ดํฐ๋ฅผ ๋์ ์ผ๋ก ์ถ๊ฐ/์ ๊ฑฐ ์ ๋นํจ์จ์
- ์์ > ๊ณ ์ ๋ ํฌ๊ธฐ์ ๋ฐ์ดํฐ ์ ์ฅ, ์ด์ฐจ์ ๋ฐฐ์ด์ ํ๋ ฌ ๊ณ์ฐ
- ๋ฆฌ์คํธ(List)
: ๊ฐ๊ฐ์ ๋ฐ์ดํฐ ์์(Node)๋ค์ด ํฌ์ธํฐ(next)์ ํค(key)๋ฅผ ๊ฐ์ง ์๋ฃ๊ตฌ์กฐ- ๋์ ์กฐ์ ๊ฐ๋ฅ
- ๋ฐ์ดํฐ์ ์ฝ์ /์ญ์ ์ฉ์ด
- ๋๋ฆฐ ๊ฒ์ ์๋ : ์ธ๋ฑ์ค ์ ๊ทผ ๋ถ๊ฐ๋ฅ
- ์์ > ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น
- ์คํ(Stack)
: ํ์ ์ ์ถ(Last In First Out, LIFO) ์๋ฃ๊ตฌ์กฐ
- ์์ ๋ณด์กด
- ์์ > ํจ์ ํธ์ถ ์คํ, ๊ดํธ ๊ฒ์ฌ
- ํ(Queue)
: ์ ์ ์ ์ถ(First In, First Out, FIFO) ์๋ฃ๊ตฌ์กฐ- ์์ > BFS ์๊ณ ๋ฆฌ์ฆ, ๋๊ธฐ์ด ์์คํ
- ํธ๋ฆฌ(Tree)
: ๊ณ์ธต์ ์ธ ๊ตฌ์กฐ๋ก ๋ฐ์ดํฐ๊ฐ ์ ๋ฆฌ๋๋ ์๋ฃ๊ตฌ์กฐ
- (์์๋ ธ๋) ๋ถ๋ชจ-(ํ์๋ ธ๋) ์์ ๊ด๊ณ๋ก ๊ตฌ์ฑ
- ๋ฃจํธ(root) ๋ ธ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ์ง๊ฐ ๋ป์ด๋๊ฐ๋ ๊ตฌ์กฐ
- ์์ > ํ์ผ ์์คํ
- ๊ทธ๋ํ(Graph)
:๋ ธ๋(์ ์ )๊ณผ ๊ฐ์ (์์ง)์ผ๋ก ์ด๋ฃจ์ด์ง ์๋ฃ๊ตฌ์กฐ- ๋ฐฉํฅ ๊ทธ๋ํ(directed graph) : ์ผ๋ฐํตํ ํ์ดํ
- ๋ฌด๋ฐฉํฅ ๊ทธ๋ํ (undirected pragh) : ์๋ฐฉํฅ ํ์ดํ
- ์์ > ์ง๋์ ๊ธธ์ฐพ๊ธฐ
- ํด์ ํ
์ด๋ธ(Hash Table)
: ํค(key)๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ , ํด๋น ํค๋ก ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ๊ฒ์ํ ์ ์๋ ์๋ฃ๊ตฌ์กฐ- ๋ฐ์ดํฐ๋ฅผ ํน์ ์ธ๋ฑ์ค์ ๋งคํํ๋ ์ญํ
- ๋น ๋ฅธ ์กฐํ ์๋
- ์์ > ์บ์ ๊ตฌํ
์๋ฃ๊ตฌ์กฐ ์ ํ ๊ธฐ์ค
- ์ฌ์ฉ ๋ชฉ์ : ๋ฐ์ดํฐ์ ์ ํ์ /๋น์ ํ์ ๋ฑ ์ํฉ์ ๋ฐ๋ฅธ ์๋ฃ๊ตฌ์กฐ๋ ์ด๋ค ๊ฒ์ธ๊ฐ?
- ์๊ฐ ๋ณต์ก๋ : ๊ฐ ์๋ฃ๊ตฌ์กฐ์์์ ์ฐ์ฐ์ด ์ผ๋ง๋ ํจ์จ์ ์ผ๋ก ์ด๋ฃจ์ด์ง๋๊ฐ?
- ๊ณต๊ฐ ๋ณต์ก๋ : ๋ฐ์ดํฐ์ ํฌ๊ธฐ์ ์ ์ฅ๋๋ ๋ฐฉ์์ ๋ฐ๋ฅธ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ด๋ค๊ฐ?
๊ฒฐ๋ก
์๋ฃ๊ตฌ์กฐ๋ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ํ๋ก๊ทธ๋จ์ ์ฑ๋ฅ์ ์ต์ ํํ ์ ์๋ ๊ตฌ์กฐ์ฒด๋ก, ๊ฐ ๊ตฌ์กฐ์ฒด์ ํน์ง๊ณผ ์ฅ๋จ์ ์ ํ์ ํ์ฌ ํ๋ก๊ทธ๋๋ฐ์ ์ํฉ๊ณผ ๋ชฉ์ ์ ๋ง๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ ํํด์ผ ํ๋ค.
'Coding Test > Data Structure & algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๊ณ ๋ฆฌ์ฆ] ์ ๋ ฌ (Sorting) (0) | 2024.09.22 |
---|---|
[์๊ณ ๋ฆฌ์ฆ] ์๊ฐ ๋ณต์ก๋ (Time Complexity) (2) | 2024.09.22 |
[์๊ณ ๋ฆฌ์ฆ] ๊ทธ๋ฆฌ๋(Greedy) (2) | 2024.09.14 |
[์๋ฃ๊ตฌ์กฐ] ํ(Queue) (1) | 2024.09.06 |
[์๋ฃ๊ตฌ์กฐ] ์คํ(Stack) (0) | 2024.09.06 |