1) 기초- 완전 탐색(Brute-force Search)- 탐욕적 기법(Greedy)- 분할 정복(Divide and Conquer)- 이분 탐색(Binary Search)- BFS, DFS- 정렬- 구현
2) 자료구조- 리스트(List), 배열(Array)- 스택(Stack)- 큐(Queue), 데크(Dequeue)- 트리(Tree)
3) 초급- 백트래킹(Backtracking)- 비트마스크(Bit Masking)- 구간 합 배열(Prefix Sum)- 우선순위 큐(Priority Queue)- 유니온 파인드(Union-Find)- 투 포인터
- 슬라이딩 윈도우(Sliding Window)- 그래프 최단 경로: 다익스트라 알고리즘(Dijkstra’s Algorithm)- 최소 스패닝 트리(MST)- 위상 정렬(Topological Sort)
4) 중급- 다이나믹 프로그래밍(DP)- 이진 검색 트리(Binary Search Tree)- 세그먼트 트리(Segment Tree)- 기하 – 벡터의 활용(geometry) ccw- 그래프 최단 경로: 벨만 포드, 플로이드 와샬 알고리즘- 오일러 경로(Eulerian Path)- 이분 매칭(Bipartite Matching)- KMP 알고리즘
5) 고급- 강한 연결 요소(SCC)- 이중 연결 요소(Biconnected Component)- 2-SAT 문제(2-Satisfiability Problem)- 네트워크 플로우(Network Flow), 최소 컷(Minimum cut)- 최소 비용 최대 유량(MCMF)- 최소 공통 조상(LCA)- Lazy Propagation- Line sweeping- 트라이(Trie)
- 접미사 배열(Suffix Array)
6) 고급심화
- Offline Query- 평방 분할(Square Root Decomposition), 모 알고리즘(Mo’s Algorithm)- 병렬 이분 탐색(Parallel Binary Search)- 퍼시스턴스 세그먼트 트리(PST)
- HLD (Heavy-Light Decomposition)- 확장 유클리드 알고리즘
'Algorithm' 카테고리의 다른 글
KMP 알고리즘 (0) | 2020.04.10 |
---|---|
투 포인터 알고리즘 (0) | 2020.04.06 |
LCA(Lowest Common Ancestor) (0) | 2020.03.31 |
LinkedList : java (0) | 2020.03.18 |
파라메트릭 (0) | 2020.03.13 |