Basic Programming

Data Structures and Algorithms (자료구조와 알고리즘)

지로원 2018. 12. 13. 12:55

- Data Structures and Algorithms -


Linear structures <선형 구조>

- array

- list (linked, double linked)

- stack

- queue, priority queue

- deque (double ended queue)


Non-linear structures <비선형 구조>

- sets

- trees (binary tree, b-tree, heaps, other trees)

- graphs


Dictionary structures <딕셔너리 구조>

- hash table

- hash map


Paradigms (패러다임 및 설계 기법)

- Dynamic programming

- Greedy algorithm

- Divide and Conquer 

- Back-tracking


Sort Algorithms (정렬 알고리즘)

- Bubble Sort

- Insertion Sort

- Selection Sort 

- Quick Sort

- Merge Sort

- Heap Sort

- Counting Sort

- Radix Sort

- Shell Sort

- Tim Sort


Search Algorithms (탐색 알고리즘)

- Binary search

- Binary tree search

- Depth-first search

- Breadth-first search


Heap Algorithms (힙 알고리즘)

- Binary heap

- Binomial heap

- (Binary) Indexed tree


최소 비용 신장 트리

- Prim

- Kruskal


Shortest path Algorithms (최단 경로 알고리즘)

- Dijkstra's algorithm

- Floyd's algorithm

- Bellman-ford's algorithm

- A* algorithm


Machine Learning (기계 학습 알고리즘)

- Unsupervised 

- Supervised

- Reinforcement


Mathematics (수학)

- Euclidian (최대공약수 & 최소공배수)

- 소인수분해




기하, P&NP, 문자열&오토마타&구조, 정수론 기타 등등 


제 기준에서 정리한 것이므로 다른 사람과는 다를 수 있습니다.

하나씩 천천히 구현해 볼 계획입니다... 천천히....



[참고] wikipedia, stackoverflow, blog(rats'go 등), etc ...