DataStructure & Algorithm
๐๏ธ List
List๋ ์์๋ฅผ ๊ฐ๊ณ ์์๋ค์ ์ ์ฅํ๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค. List ์๋ฃ๊ตฌ์กฐ๋ Array List์ Linked List๋ก ๊ตฌํํ ์ ์๋ค.
๐๏ธ Queue & Stack
ํ (Queue)
๐๏ธ HashTable
ํด์ ํ ์ด๋ธ์ ํจ์จ์ ์ธ ํ์์ ์ํ ์๋ฃ๊ตฌ์กฐ๋ก์ key-value ์์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค. hash function h ์ key๊ฐ์ ์ ๋ ฅ์ผ๋ก ๋ฃ์ด ์ป์ ํด์๊ฐ h(k) ์ ํด๋นํ๋ ์ธ๋ฑ์ค์ (key, value) ๋ฐ์ดํฐ ์์ ์ ์ฅํ๋ค. (key, value) ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋ ๊ฐ๊ฐ์ ๊ณต๊ฐ์ slot ๋๋ bucket์ด๋ผ๊ณ ํ๋ค.
๐๏ธ Tree
ํธ๋ฆฌ๋ ๋ ธ๋(Node)์ ๊ฐ์ (Edge)์ผ๋ก ๊ตฌ์ฑ๋ ๊ณ์ธต์ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ํธ๋ฆฌ ๊ตฌ์กฐ๋ ๋ถ๋ชจ-์์ ๊ด๊ณ๋ฅผ ๊ฐ์ง๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก ๋ฃจํธ(Root)๋ผ๊ณ ๋ถ๋ฆฌ๋ ์ต์์ ๋ ธ๋๋ฅผ ๊ฐ๊ณ ์๋ค.
๐๏ธ Graph
๊ทธ๋ํ(G)๋ ์ ์ (vertex)๋ค์ ์งํฉ V์ ์ด๋ค์ ์ฐ๊ฒฐํ๋ ๊ฐ์ (Edge)๋ค์ ์งํฉ E๋ก ๊ตฌ์ฑ๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ์ ์ ์ ๊ทธ๋ํ ๋ด์ ๊ฐ๋ณ์ ์ธ ๊ฐ์ฒด๋ฅผ ๋ํ๋ด๋ฉฐ, ๊ฐ์ ์ ์ ์ ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ํ๋ธ๋ค.
๐๏ธ Dynamic Programming
๋์ ๊ณํ๋ฒ(Dynamic Programming, DP)์ ๋ณต์กํ ๋ฌธ์ ๋ฅผ ํจ์จ์ ์ผ๋ก ํด๊ฒฐํ๊ธฐ ์ํด ๋ฌธ์ ๋ฅผ ์์ ํ์ ๋ฌธ์ ๋ก ๋๋๊ณ , ์ด ํ์ ๋ฌธ์ ๋ค์ ํด๊ฒฐ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ์ฌ ์ฌ์ฌ์ฉํ๋ ์๊ณ ๋ฆฌ์ฆ ๊ธฐ๋ฒ์ด๋ค. ์ค๋ณต๋ ๊ณ์ฐ์ ํผํ๋ฉด์ ์ต์ ์ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด ์ฌ์ฉ๋๋ค.
๐๏ธ Priority Queue & Heap
์ฐ์ ์์ ํ (Priority Queue)