-
Algorithm
- Paradigms
- Greedy
- Dynamic Programming
- Brute Force
- Divide and Conquer
- Back-Tracking
- Branch & Bound
- P, NP Problem
- Bitwise
- Combinatorial Search
- Change Optimaiztion problem to decision problem
- pruning
- Heuristic
- Memoization
- Searching
- Linear Search
- Binary Search
- Interpolation Search
- Jump Search
- Parametric Search
- Sorting
- Topological Sorting / 정렬 할때 특정 노드끼리 우선순위가 존재할 경우
- String Algorithm
- Levenshtein Distance, Edit Distance (편집 거리 알고리즘)
- Graph Algorithms
- BFS / 넓이 우선 탐색, 최단 거리 탐색 가능
- DFS / 깊이 우선 탐색, 경로 추적 가능,
- Cycle
- Topological Sorting
- Back-Tracking
- Shortest path problem / https://en.wikipedia.org/wiki/Shortest_path_problem#Undirected_graphs
- Single-source shortest paths / Dijkstra , Bellamn - Ford
- All-pairs shortest paths / Floyd-Warshall Algorithm, Johnson's algorithm
- Single-Pair shortest paths /
- Single-destination shortest paths /
- MST -Kruscal - disjoint set, Union-find -Primm
- A* / 게임에서 최단거리 찾을
- Connectivity
- Maximum Flow / Ford-Fulkerson
- Network Flow
- Ford-Fulkerson algorithm)
- Pattern Searching
- KMP / 문자열 검색 알고리즘
- Paradigms
-
Abstract Data Type(Data Structure)
- List
- Linked List
- Stack
- Queue
- Tree
- BST(Binary Search Tree) / inorder traversal 시 오름차순
- MST(Minumum Spanning Tree)
- Segement Tree
- Fenwik Tree(Binary index Tree)
- Suffix Tree
- AVL Tree / BST, RBT에 삽입 삭제 불리, 검색 유리
- Splay Tree
- B Tree
- Red-Black Tree / BST, AVL에 비해 삽입 삭제 유리, 검색 불리
- Self-Balancing BSTs
- K Dimensional Tree
- Trie / 문자열 탐색 알고리즘
- Heap / 최소힙, 최대힙
- Hashing
- Chaning
- Set
- Map
- Graph
- Priority Queue
- Double Ended Queue
- Double Ended Priority Queue
- List
-
Additional Methods
- Solved
- Unsolved