이 블로그에서는 기본적인 STL, 자료구조 및 알고리즘을 다룬다. 카테고리는 다음과 같다.
A. Intro & STL
B. Basic Algorithms
C. Sorting & Search
D. Math & Number Theory
E. Dynamic Programming
F. Strings
G. Geometry
H. Trees & Graphs
I. Data Structures
J. Optimization
K. Others
Greedy는 그 자체로 범위가 매우 넓은데 세분화할 게 없어서 카테고리로 분류하지 않았다. 또한 Others 항목에 들어가는 것들은 일반적으로 배우는 알고리즘 순서와는 별로 상관이 없으므로 일부는 앞의 글들을 읽지 않아도 바로 읽을 수 있다.
목차는 다음과 같다. 오타를 발견했거나 더 넣을 만한 것, 추가적인 아이디어 또는 의견이 있으면 자유롭게 댓글 남겨주세요 :)
A. Intro & STL
B. Basic Algorithms
24. Dynamic Programming & Memoization
C. Sorting & Search
41. Parallel Binary Search
D. Math & Number Theory
42. Math & Number Theory Intro
43. Power by Divide and Conquer
51. Extended Euclidean Algorithm
55. Permutation Cycle Decomposition
63. Nim Game & Sprague-Grundy Theorem
64. Fast Fourier Transform
65. Number Theoretic Transform
66. Inclusion-Exclusion Principle
67. Möbius Inversion Formula
68. Burnside's Lemma
69. Miller-Rabin Primality Test
70. Pollard's Rho
71. Order & Discrete Logarithm
72. Discrete Square Root & Tonelli-Shanks Algorithm
73. Kitamasa Method
74. Berlekamp-Massey
E. Dynamic Programming
77. Longest Increasing Subsequence
78. Longest Common Subsequence
81. Deque DP
F. Strings
87. Failure Function & Knuth-Morris-Pratt
90. Trie
92. Suffix Array & LCP Array
93. Aho-Corasick
G. Geometry
101. Shamos-Hoey Algorithm
102. Bentley-Ottmann Algorithm
103. Half Plane Intersection
104. Voronoi Diagram & Delaunay Triangulation
H. Trees & Graphs
118. Shortest Path Faster Algorithm
124. Disjoint Set & Union-Find
129. Eulerian Path & Eulerian Circuit
130. Strongly Connected Component
134. Biconnected Component
135. Articulation
136. Block-Cut Tree
137. Cactus
142. Minimum Cut
143. Minimum Cost Maximum Flow
144. Minimum Vertex Cover
145. LR Flow
146. Dinic's Algorithm
147. Hungarian Algorithm
148. Push-Relabel Algorithm
149. Relabel-To-Front Algorithm
150. Hopcroft-Karp Algorithm
151. Circulation
153. General Matching
154. Dual Graph
155. Tree Isomorphism
156. Graph Realization Problem
I. Data Structures & Advanced Algorithms
161. 2D Segment Tree & 2D Fenwick Tree
162. Segment Tree with Lazy Propagation
164. Non-Recursive Segment Tree
169. Square Root Decomposition
171. Hilbert Mo's
172. Policy-Based Data Structures
173. Rope
174. AVL Tree
175. Red-Black Tree
176. Interval Tree
177. Treap
178. B-Tree
179. B+Tree
180. Fibonacci Heap
181. Wavelet Tree
182. Dynamic Segment Tree
183. Persistent Segment Tree
184. Continuous Sum Segment Tree
185. Segment Tree Beats
186. Heavy-Light Decomposition
187. Centroid Decomposition
188. Eertree
189. Van Emde Boas Tree
190. Splay Tree
191. Dominator Tree
192. Link-Cut Tree
193. Li-Chao Tree
J. Optimization & Tricks
196. Counting Points in Triangle
197. Convex Hull Trick
198. Divide and Conquer Optimization
199. Monotone Queue Optimization
200. Knuth's Optimization
201. Slope Trick
202. Offline Dynamic Connectivity
203. Connection Profile DP
204. Alien's Trick
205. Rotating Sweep Line
206. Hirschburg's Algorithm
207. Bitset LCS
K. Others
211. Sliding Window
212. Sweeping
213. IMOS Method
214. Bidirectional Search
215. Meet In The Middle
216. Heuristic
217. A* Algorithm & D* Algorithm
218. Simulated Annealing
219. Generic Algorithm
220. Late Acceptance Hill Climbing
221. Diversified Late Acceptance Search
222. Floyd's Tortoise and Hare Algorithm
223. Dancing Links
224. Matroid
225. Offline Query
226. Case Work
227. Constructive
228. Randomization
229. Ad-Hoc
230. Interactive
자세하게 나눈 만큼 분량이 많다. 아직 내가 잘 모르는 것들도 있다.
'Algorithm > A. Intro & STL' 카테고리의 다른 글
6. Stack (0) | 2021.01.10 |
---|---|
5. List & Forward List (0) | 2021.01.08 |
4. Deque (0) | 2021.01.08 |
3. Array & Vector (3) | 2021.01.07 |
2. STL Intro (0) | 2021.01.07 |