๐๊ฐ ์๋ฃ๊ตฌ์กฐ์ ์ ๋ชฉ์ ๋๋ฅด์๋ฉด ์ข ๋ ์์ธํ ๋ด์ฉ์ ๋ค๋ฃฌ ํฌ์คํ ์ผ๋ก ๋์ด๊ฐ๋๋ค! (์์ง ๋ฏธ์์ธ ๊ฒ๋ ์์!)๐
1. Array(๋ฐฐ์ด)
- ๋ฐฐ์ด(Array : ์ ๋ ฌ)์ ๋์ผํ ํ์ ์ ๋ฐ์ดํฐ๋ค์ ์ ์ฅ(๋ฐฐ์ด์ด "int"ํ์ ์ธ ๊ฒฝ์ฐ ์ ์ ์์๋ง ์ ์ฅ ๊ฐ๋ฅ)ํ๋ฉฐ, ๊ณ ์ ๋ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
- ์ธ๋ฑ์ฑ์ด ๋์ด ์์ด ์ธ๋ฑ์ค ๋ฒํธ๋ก ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์๋ค. (์ธ๋ฑ์ค๋ฅผ ์ง์ ํ์ฌ ์ ๊ทผํ๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ์์์ ๋น ๋ฅด๊ฒ ์ ๊ทผ ๊ฐ๋ฅํ๋ค.)
๐ ๋ฐฐ์ด์ ์ฉ๋
- ํน์ ์์๋ฅผ ๋น ๋ฅด๊ฒ ์ฝ์ด์ผ ํ ๋
- ๋ค์ฐจ์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ๋
2. Linked List(์ฐ๊ฒฐ ๋ฆฌ์คํธ)
- ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Linked List : ์ฐ๊ฒฐ ๋ชฉ๋ก)๋ ๊ฐ ๋ ธ๋๊ฐ ๋ฐ์ดํฐ์ ํฌ์ธํฐ๋ฅผ ๊ฐ์ง๊ณ ํ ์ค๋ก ์ฐ๊ฒฐ๋์ด ์๋ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค.
- ex) ์ฒซ ๋ฒ์งธ ๋ ธ๋์ ํฌ์ธํฐ๋ก ๋ ๋ฒ์งธ ๋ฐ์ดํฐ๋ฅผ ์ฐพ์ ์ ์๋ค. ๋ ๋ฒ์งธ ๋ ธ๋์ ํฌ์ธํฐ๋ก๋ ์ธ ๋ฒ์งธ ๋ฐ์ดํฐ๋ฅผ ์ฐพ์ ์ ์๋ค.
- ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ๋ฏธ๋ฆฌ ์ ์ธํด์ผ ํ๋ ๋ฐฐ์ด ๋ฆฌ์คํธ์ ๋ฌ๋ฆฌ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ ๋ฐ์ดํฐ์ ์ซ์๋งํผ๋ง ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๊ฐ ์ ๋ค.
๐ ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ์ฉ๋
- Alt + Tab์ ์ฌ์ฉํ์ฌ ํ๋ก๊ทธ๋จ ๊ฐ ์ ํ
- ๊ฐค๋ฌ๋ฆฌ
3. Stack(์คํ)
- ์คํ(Stack : ์๋ค)์ ๊ทธ๋ฆผ์์ ์ฌ๊ณผ๋ฅผ ์์ ๋ ์๋ก ์๋ ๊ฒ๋ง ๊ฐ๋ฅํ๋ฏ์ด ํ ๋ฐฉํฅ์ผ๋ก๋ง ์ ๋ ฅํ ์ ์์ผ๋ฉฐ ๊ตฌ์กฐ ์ค๊ฐ์ ๊ฐ์ ๋ผ์ด ๋ฃ์ด ์ ์ฅํ ์ ์๋ค. ์ฆ, ๊ฐ์ ํฌ๊ธฐ์ ์๋ฃ๋ฅผ ์ ํด์ง ํ ๋ฐฉํฅ์ผ๋ก๋ง ์ ๋ ฅ, ์ ์ฅ, ์ญ์ ๊ฐ ๊ฐ๋ฅํ๋ค.
- ๋งจ ์๋ ์๋ ์ฌ๊ณผ๋ฅผ ๊บผ๋ด๊ธฐ ์ํด์ ๊ฐ์ฅ ์์ ์๋ ์ฌ๊ณผ๋ถํฐ ๊บผ๋ด์ผ ํ๋ ๊ฒ ์ฒ๋ผ ํ์ ์ ์ถ(Last In First Out, LIFO) ๊ตฌ์กฐ๋ก ๊ฐ์ฅ ๋ง์ง๋ง์ ๋ค์ด์จ ๋ฐ์ดํฐ๊ฐ ๊ฐ์ฅ ๋จผ์ ๋ฆฌํด, ์ญ์ ๋๋ค๋ ๋ป์ด๋ค.
๐ ์คํ์ ์ฉ๋
- ๋ธ๋ผ์ฐ์ ์ ๋ค๋ก๊ฐ๊ธฐ
- ์คํ ์ทจ์
- ํ์ ํ๊ธฐ๋ฒ ๊ณ์ฐ
4. Queue(ํ)
- ํ(Queue : ๋๊ธฐ์ค)๋ ๊ทธ๋ฆผ์์ ๋์ด๊ณต์ ํฐ์ผ์ ์ฌ๋ ์ค ๊ฐ์ด ์ ๋ฐฉํฅ์์ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ด ์งํ๋๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ๋ปํ๋ค.
- ๋จผ์ ์จ ์ฌ๋์ด ๋จผ์ ํฐ์ผ์ ์ฌ๊ณ ๋๊ฐ๋ ๊ฒ ์ฒ๋ผ ์ ์ ์ ์ถ(First In First Out, FIFO) ๊ตฌ์กฐ๋ก ๊ฐ์ฅ ๋จผ์ ๋ค์ด์จ ๋ฐ์ดํฐ๊ฐ ๊ฐ์ฅ ๋จผ์ ๋ฆฌํด, ์ถ๋ ฅ๋๋ค๋ ๋ป์ด๋ค.
๐ ํ์ ์ฉ๋
- ํ๋ก์ธ์ค ๊ด๋ฆฌ
- ์๋์ฐ ์์คํ ๋ฉ์ธ์ง ์ฒ๋ฆฌ๊ธฐ
- ์บ์
- ๋๋น ์ฐ์ ํ์
5. Tree(ํธ๋ฆฌ)
- ํธ๋ฆฌ(Tree : ๋๋ฌด)๋ ๋ ธ๋๋ค์ด ๋๋ฌด ๊ฐ์ง์ฒ๋ผ ๊ณ์ธต์ ์ผ๋ก ์ฐ๊ฒฐ๋ ๋น์ ํ ์๋ฃ๊ตฌ์กฐ์ด๋ค.
- ์ต์์ ๋ ธ๋(๋ฃจํธ)๊ฐ ์๊ณ ์ต์์ ๋ ธ๋ ์๋์ ๋ค๋ฅธ ํ์ ๋ ธ๋๊ฐ ์๊ณ ๊ทธ ํ์ ๋ ธ๋ ์์๋ ๋ ๋ค๋ฅธ ํ์ ๋ ธ๋๊ฐ ์๋ ๋ถ๋ชจ(parent)์ ์์(child) ํํ์ด๋ค.
- ex) C:\Program Files\League of Legends → ์ต์์ ๋ ธ๋(C:\)์๋ ํ์ ๋ ธ๋(Program Files) ์๋ ๋ ๋ค๋ฅธ ํ์ ๋ ธ๋(League of Legends)
๐ ํธ๋ฆฌ์ ์ฉ๋
- ์ปดํจํฐ์ ๋๋ ํฐ๋ฆฌ ๊ตฌ์กฐ
- ์กฐ์ง๋
6. Heap(ํ)
- ํ(Heap : ๋๋ฏธ)์ ์์ ์ด์ง ํธ๋ฆฌ์ ํํ๋ก ๋ง๋ค์ด์ง ์๋ฃ๊ตฌ์กฐ์ด๋ค.
- ์ต๋ ํ(max heap) : ๋ถ๋ชจ ๋ ธ๋์ ํค ๊ฐ์ด ์์ ๋ ธ๋์ ํค ๊ฐ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ์์ ์ด์ง ํธ๋ฆฌ
- ์ต์ ํ(min heap) : ๋ถ๋ชจ ๋ ธ๋์ ํค ๊ฐ์ด ์์ ๋ ธ๋์ ํค ๊ฐ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ ์ด์ง ํธ๋ฆฌ
๐ ํ์ ์ฉ๋
- ์ต๋๊ฐ ํน์ ์ต์๊ฐ์ ๋น ๋ฅด๊ฒ ์ฐพ์๋ด๊ธฐ ์ํด ์ฌ์ฉ (์ฐ์ ์์ ํ, ํ ์ ๋ ฌ)
7. Hash Table(ํด์ ํ ์ด๋ธ)
- ํด์ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ณํํ ๊ฐ์ ์์ธ(index)์ผ๋ก ์ผ์ ํค(key)์ ๋ฐ์ดํฐ(value)๋ฅผ ์ ์ฅํ๋ ์๋ฃ๊ตฌ์กฐ
- ๋ฐ์ดํฐ์ ํฌ๊ธฐ์ ๊ด๊ณ์์ด ์ฝ์ ๋ฐ ๊ฒ์์ ๋งค์ฐ ํจ์จ์
๐ ํด์ ํ ์ด๋ธ ์ฉ๋
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ค ๊ตฌํ
- ์ฌ์ฉ์ ๋ก๊ทธ์ธ ์ธ์ฆ
8. Graph(๊ทธ๋ํ)
- ๊ทธ๋ํ๋ ์ ์ (Vertex)๊ณผ ๊ฐ์ (edge)์ผ๋ก ์ด๋ฃจ์ด์ง ์๋ฃ๊ตฌ์กฐ์ด๋ค. ์ ํํ๋ ์ ์ ๊ฐ์ ๊ด๊ณ๋ฅผ ํํํ๋ ์กฐ์ง๋์ด๋ค.
- ๊ทธ๋ํ๋ ์ ์ ๋ง๋ค ๊ฐ์ ์ด ์์์๋ ์๊ณ ์์์๋ ์์ผ๋ฉฐ ๋ฃจํธ ๋ ธ๋, ๋ถ๋ชจ์ ์์์ด๋ผ๋ ๊ฐ๋ ์ด ์กด์ฌํ์ง ์๋ ๋ถ๋ถ์์ ํธ๋ฆฌ์ ๋ค๋ฅด๋ค.
- ์ ์ (Vertex) : ๋ ธ๋(node)๋ผ๊ณ ๋ ํ๋ฉฐ ์ ์ ์๋ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ค. (0, 1, 2, 3)
- ๊ฐ์ (edge) : ๋งํฌ(arcs)๋ผ๊ณ ๋ ํ๋ฉฐ ๋ ธ๋๊ฐ์ ๊ด๊ณ๋ฅผ ๋ํ๋ธ๋ค.
๐ ๊ทธ๋ํ์ ์ฉ๋
- GPS์์ ์์น์ ๊ฒฝ๋ก๋ฅผ ๋ํ๋ด๋ ๋ฐ ์ฌ์ฉ
- ๊ฒ์ ์์ง์ ์ํด ์น ํ์ด์ง ๋ฐ ๋งํฌ๋ฅผ ๋ํ๋ด๋ ๋ฐ ์ฌ์ฉ
References
๐ https://luv-n-interest.tistory.com/161
๐ https://ontheway.tistory.com/23
๐ https://bnzn2426.tistory.com/115
๐ https://code-lab1.tistory.com/2
๐ https://bnzn2426.tistory.com/115
๐ https://bite-sized-learning.tistory.com/239
๐ https://coding-factory.tistory.com/610
๐ https://gmlwjd9405.github.io/2018/05/10/data-structure-heap.html
'ETC > Study' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๋ฃ๊ตฌ์กฐ] ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Linked List) ์ค์ต (feat. ์ฐ๊ฒฐ ๋ฆฌ์คํธ) (0) | 2022.05.30 |
---|---|
[์๋ฃ๊ตฌ์กฐ] ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Linked List) (0) | 2022.05.23 |
[์๋ฃ๊ตฌ์กฐ] ์ถ์ ์๋ฃํ(์คํ & ํ) (0) | 2022.05.19 |
[์๋ฃ๊ตฌ์กฐ] ์ถ์ ์๋ฃํ(Abstract Data Type) (0) | 2022.05.17 |
[์๋ฃ๊ตฌ์กฐ] ์๋ฃ๊ตฌ์กฐ(Data Structure) (0) | 2022.05.15 |
๋๊ธ