이 블로그에서는 기본적인 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. Dynamic Segment Tree
182. Persistent Segment Tree
183. Continuous Sum Segment Tree
184. Segment Tree Beats
185. Heavy-Light Decomposition
186. Centroid Decomposition
187. Eertree
188. Van Emde Boas Tree
189. Splay Tree
190. Dominator Tree
191. Link-Cut Tree
192. Li-Chao Tree
J. Optimization & Tricks
193. Optimization Intro
194. Small to Large Technique
195. Counting Points in Triangle
196. Convex Hull Trick
197. Divide and Conquer Optimization
198. Monotone Queue Optimization
199. Knuth's Optimization
200. Slope Trick
201. Offline Dynamic Connectivity
202. Connection Profile DP
203. Alien's Trick
204. Rotating Sweep Line
205. Hirschburg's Algorithm
K. Others
206. Coordinate Compression
207. Two Pointers
208. Sweeping
209. IMOS Method
210. Sliding Window
211. Bidirectional Search
212. Meet In The Middle
213. Heuristic & A* Algorithm
214. Simulated Annealing
215. Generic Algorithm
216. Late Acceptance Hill Climbing
217. Diversified Late Acceptance Search
218. Floyd's Tortoise And Hare Algorithm
219. Dancing Links
220. Offline Query
221. Constructive
222. Ad-Hoc
223. Interactive
224. Randomization
자세하게 나눈 만큼 분량이 많다. 아직 내가 잘 모르는 것들도 있다.
'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 (0) | 2021.01.07 |
2. STL Intro (0) | 2021.01.07 |