ํด๋น repository๋ ์ปดํจํฐ๊ณตํ์ ๊ดํ ์ด๋ก ๊ณผ ๊ฐ๋ ์ ์ค์ค๋ก ํ์ตํ๊ณ ์ ๋ฆฌํ๊ธฐ ์ํ ๊ณต๊ฐ์ ๋๋ค.
์๋ฃ๊ตฌ์กฐ
1) ์๋ฃ๊ตฌ์กฐ๋
2) ์ ๋ ฌ
3) ์คํ
4) ํ
5) ํธ๋ฆฌ
6) ํ
7) ๊ทธ๋ํ
8) ๋ค์ต์คํธ๋ผ.ํฌ๋ฃจ์ค์นผ,ํ๋ผ์
9) ํด์ฌ
Data Structure = Data + Interface
์๋ฃ(Data)์ ์งํฉ์ ์๋ฏธํ๋ฉฐ, ๊ฐ ์์๋ค์ด ๋ ผ๋ฆฌ์ ์ผ๋ก ์ ์๋ ๊ท์น์ ์ํด ๋์ด๋๋ฉฐ ์๋ฃ์ ๋ํ ์ฒ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ์ํํ ์ ์๋๋ก ์๋ฃ๋ฅผ ๊ตฌ๋ถํ์ฌ ํํ
-
์ถ์์ ์๋ฃํ ex> Stack,Queue,Tree,List,Heap,Set,Bag,Graph ...
-
๊ตฌํ์ฒด ex> Array, Linked-list
-
Array [ A, B, C] -์ฅ์ : ๋ฉ๋ชจ๋ฆฌ์ ๋ณด๋ค ๋ง์ ๋ฐ์ดํฐ๊ฐ ์ ์ฌ๋๊ธฐ ๋๋ฌธ์, ๋ฐ์ดํฐ ์ฝ๊ธฐ์ ์ ๋ฆฌํ๋ค -๋จ์ : ๋ฐ์ดํฐ ์ถ๊ฐ,์ญ์ ์ ๋น์ฉ์ด ๋ ๋ค. ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ด์ ๋ฐ์ดํฐ ๊ณต๊ฐ ๊ด๋ฆฌ๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ
-
Linked list A->B->C -์ฅ์ : ๋ฐ์ดํฐ ์ถ๊ฐ,์ญ์ ๊ฐ ํธ๋ฆฌํ๊ณ ์ฝ๋ค. -๋จ์ : ๋ฐ์ดํฐ๊ฐ ์ฃผ์๋ก ์ฐ๊ฒฐ๋์ด ์๊ธฐ ๋๋ฌธ์, ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ ์ ํ๊บผ๋ฒ์ ๋ก๋ ์ํฌ ์ ์์ด ์ฝ๊ธฐ ์๋๊ฐ ์ ํ ๋ ์๋ ์๋ค.
-
- SET, BAG
- LIST
- STACK
- QUEUE => ์ฐ์ ์์ ํ, ์ํ ํ
- TREE => ์ด์งํธ๋ฆฌ,์ด์ง ํ์ ํธ๋ฆฌ,์๊ฐ ๊ท ํ ์ด์งํธ๋ฆฌ, AVLํธ๋ฆฌ, ๋ ๋๋ธ๋ ํธ๋ฆฌ,B ํธ๋ฆฌ
- GRAPH => Kruskal, Prim, Dijsktra
- HEAP
- HASH
์๊ณ ๋ฆฌ์ฆ
1. Devide & conquer
- binary search
- merge sort
- Quick sort
- Strassen's Matrix Multiplication
2.Dyramic programming
- Binomial coefficient
- Floydis algorithm
- Optimization problem
- TSP
3.The Greedy Approach
- MST
- Dijkstra's
- Scheduling
- Huffmun Code
- Knapsack problem
4.Back Tracking
- n-Queen Problem
- Monte Carlo
- Cdoriny numitonian ciruit
Algorithm = The step-by-step procedure for solving problem
์ด๋ ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์ฌ๋ฌ ๋์๋ค์ ๋ชจ์์ด๋ค. ์ ํ์ฑ์ ๊ฐ์ง๋ฉฐ, ์ธ์ ๊ฐ๋ ๋๋์ผ ํ๋ ์์ฑ์ ๊ฐ์ง๊ณ ์๋ค. ์๊ณ ๋ฆฌ์ฆ์ ๋ค์์ ์กฐ๊ฑด์ ๋ง์กฑํด์ผ ํ๋ค.
์
๋ ฅ : ์ธ๋ถ์์ ์ ๊ณต๋๋ ์๋ฃ๊ฐ 0๊ฐ ์ด์ ์กด์ฌํด์ผํ๋ค.
์ถ๋ ฅ : ์ ์ด๋ 1๊ฐ ์ด์์ ์๋ก ๋ค๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋ด์ด์ผ ํ๋ค.(์ฆ ๋ชจ๋ ์
๋ ฅ์ ํ๋์ ์ถ๋ ฅ์ด ๋์ค๋ฉด ์๋จ)
๋ช
ํ์ฑ : ์ํ ๊ณผ์ ์ ๋ช
ํํ๊ณ ๋ชจํธํ์ง ์์ ๋ช
๋ น์ด๋ก ๊ตฌ์ฑ๋์ด์ผ ํ๋ค.
์ ํ์ฑ(์ข
๊ฒฐ์ฑ) : ์๊ณ ๋ฆฌ์ฆ์ ๋ช
๋ น์ด๋ค์ ๋์ด ์๋ ๊ณ์ฐ์ ์ํํ ํ์ ์ข
๋ฃํด์ผ ํ๋ค.(์ถ์ฒ-๋์์ถํ ์คํ๊ต ์ ๋ณด์ฑ
๋ ์ง-2017-7-11)
ํจ์จ์ฑ : ๋ชจ๋ ๊ณผ์ ์ ๋ช
๋ฐฑํ๊ฒ ์คํ ๊ฐ๋ฅ(๊ฒ์ฆ ๊ฐ๋ฅ)ํ ๊ฒ์ด์ด์ผ ํ๋ค.