본문 바로가기

Algorithm/A. Intro & STL

1. Intro

이 블로그에서는 기본적인 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

    1. Intro

    2. STL Intro

    3. Array & Vector

    4. Deque

    5. List & Forward List

    6. Stack

    7. Queue

    8. Priority Queue

    9. Pair & Tuple

    10. Set & Multiset

    11. Map & Multimap

    12. Unordered Container

    13. String

    14. Bitset

    15. Valarray

    16. Span

B. Basic Algorithms

    17. Basic Algorithms Intro

    18. Implementation

    19. Brute Force

    20. Simulation

    21. Greedy

    22. Recursion

    23. Backtracking

    24. Dynamic Programming & Memoization

    25. Divide and Conquer

    26. Bitmasks

C. Sorting & Search

    27. Sorting & Search Intro

    28. Bubble Sort

    29. Selection Sort

    30. Insertion Sort

    31. Merge Sort

    32. Quick Sort

    33. Heap Sort

    34. Counting Sort

    35. Radix Sort

    36. Other Sorting Method

    37. Linear Search

    38. Binary Search

    39. Ternary Search

    40. Parametric Search

    41. Parallel Binary Search

D. Math & Number Theory

    42. Math & Number Theory Intro

    43. Power by Divide and Conquer

    44. Euclidean Algorithm

    45. Modular Operation

    46. Combinatorics

    47. Probability

    48. Prime Factorization

    49. Sieve of Eratosthenes

    50. Pigeonhole Principle

    51. Extended Euclidean Algorithm

    52. Chinese Remainder Theorem

    53. Lucas' Theorem

    54. Euler's Totient Function

    55. Permutation Cycle Decomposition

    56. Karatsuba's Algorithm

    57. Matrices

    58. Rank of Matrix

    59. Gaussian Elimination

    60. Strassen's Algorithm

    61. Sum of Squares

    62. Game Theory

    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

    75. Dynamic Programming Intro

    76. Prefix Sum

    77. Longest Increasing Subsequence

    78. Longest Common Subsequence

    79. Bit DP

    80. Tree DP

    81. Deque DP

    82. Sum over Subsets

F. Strings

    83. Strings Intro

    84. Parsing

    85. Hashing

    86. Regular Expression

    87. Failure Function & Knuth-Morris-Pratt

    88. Rabin-Karp

    89. Manacher

    90. Trie

    91. Z Algorithm

    92. Suffix Array & LCP Array

    93. Aho-Corasick

G. Geometry

    94. Geometry Intro

    95. Counterclockwise Function

    96. Line Intersection

    97. Convex Hull

    98. Graham Scan

    99. Andrew's Algorithm

    100. Rotating Calipers

    101. Shamos-Hoey Algorithm

    102. Bentley-Ottmann Algorithm

    103. Half Plane Intersection

    104. Voronoi Diagram & Delaunay Triangulation

H. Trees & Graphs

    105. Trees & Graphs Intro

    106. Preorder Traversal

    107. Inorder Traversal

    108. Postorder Traversal

    109. Depth First Search

    110. Breadth First Search

    111. Grid & Flood Fill

    112. Bipartite Graph

    113. Diameter of Tree

    114. Shortest Path

    115. Dijkstra

    116. Bellman-Ford

    117. Floyd-Warshall

    118. Shortest Path Faster Algorithm

    119. 0-1 BFS

    120. Dial's Algorithm

    121. Independent Set & Clique

    122. Directed Acyclic Graph

    123. Topological Sorting

    124. Disjoint Set & Union-Find

    125. Minimum Spanning Tree

    126. Kruskal's Algorithm

    127. Prim's Algorithm

    128. Borůvka's Algorithm

    129. Eulerian Path & Eulerian Circuit

    130. Strongly Connected Component

    131. Kosaraju's Algorithm

    132. Tarjan's Algorithm

    133. 2-SAT

    134. Biconnected Component

    135. Articulation

    136. Block-Cut Tree

    137. Cactus

    138. Network Flow

    139. Ford-Fulkerson Algorithm

    140. Edmonds-Karp Algorithm

    141. Bipartite Matching

    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

    152. Stable Marriage Problem

    153. General Matching

    154. Dual Graph

    155. Tree Isomorphism

    156. Graph Realization Problem

I. Data Structures & Advanced Algorithms

    157. Data Structures Intro

    158. Segment Tree

    159. Fenwick Tree

    160. Segment Tree - kth

    161. 2D Segment Tree & 2D Fenwick Tree

    162. Segment Tree with Lazy Propagation

    163. GCD Segment Tree

    164. Non-Recursive Segment Tree

    165. Sparse Table

    166. Euler Tour Technique

    167. Lowest Common Ancestor

    168. Merge Sort Tree

    169. Square Root Decomposition

    170. Mo's Algorithm

    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