====== 알고리즘 정리 ====== * 이것저것 공부한 내용 또는 혼자 알아낸 내용들을 나중에 쉽게 다시 찾아볼 수 있도록 간단히 정리해 두는 것이 가장 큰 목표. * 책이나 인터넷에서 쉽게 찾을 수 있는 내용을 굳이 다시 적을 필요는 없다. 그냥 링크만 걸어두자. * 내용에 대한 핵심 요약, 적용되는 문제 유형에 따라 재분류, 알고리즘을 실제로 구현하면서 알게된 사실 등을 추가하도록 하자. ==== 목록 ==== * [[완전 탐색]] * [[백트래킹]] * [[Meet in the middle]] * [[이진 검색]] * [[이진 검색#파라메트릭 서치]] * [[선택 알고리즘]] * [[투 포인터]] * [[그리디]] * [[시뮬레이션]] * [[애드혹]] * [[다이나믹 프로그래밍]] * [[구간 분할 방식에 관한 DP]] * [[선형 점화식]] * [[CHT]] * [[배낭 문제]] * 유명한 문제 * [[최대 부분합]] * [[가장 긴 증가하는 부분 수열]] * 정렬 * 선형 자료 구조 * [[연결 리스트]] * [[스택]] * [[스택#Monotone stack]] * [[덱]] * [[덱#Monotone deque]] * 비선형 자료구조 * [[Disjoint Set]] * [[Order Statistic Tree]] * [[Inversion Counting]] * [[우선순위큐]] * [[Monotonic Priority Queue]] * [[피보나치 힙]] * [[이진 탐색 트리]] * [[세그먼트 트리]] * [[Stern_Brocot tree]] * [[그래프]] * [[그래프 탐색]] * [[BFS]] * [[DFS]] * [[최단 경로]] * [[단일 출발지 최단 경로]] * [[다익스트라 알고리즘]] * [[Shortest Path Faster Algorithm]] * [[APSP]] * [[최소 신장 트리]] * [[DAG]] * [[위상 정렬]] * 사이클 유무 판별 * [[Transitive closure]] * [[연결 요소]] * [[Strongly connected component]] * [[2-SAT]] * [[BCC]] * [[동적 연결성]] * [[매칭]] * [[이분 매칭]] * [[그래프 색칠]] * [[2색 색칠]] * [[네트워크 플로우]] * [[최대 유량]] * [[최소 비용 최대 유량]] * [[최소컷]] * [[트리]] * [[트리의 지름]] * [[LCA]] * [[HLD]] * [[센트로이드 분할]] * [[경로 쿼리]] * 수학 * 계산 * [[거듭제곱의 빠른 계산]] * 큰 수의 빠른 곱셈 * 행렬의 빠른 곱셈 * [[정수론]] * [[최대공약수]] * [[소수]] * [[소수 목록 구하기]] * [[소수 판별]] * [[소인수분해]] * [[모듈러 연산]] * [[모듈러 연산#모듈러 역원 (Modular Multiplicative Inverse)]] * [[연립 선형 합동식]] * [[팩토리얼]] * [[곱셈적 함수]] * [[뫼비우스 함수]] * [[제곱수의 합]] * 조합론 * [[이항 계수]] * [[카탈랑 수]] * [[피보나치 수]] * [[영 타블로]] * [[확률론]] * [[확률론#기댓값]] * 계산기하 * [[선분 교차]] * [[여러가지 수학 정리]] * [[게임 이론]] * [[문자열]] * [[문자열 매칭]] * [[라빈-카프 알고리즘]] * [[KMP 알고리즘]] * [[Z 알고리즘]] * [[트라이]] * [[접미사 배열]] * 팰린드롬 * [[가장 긴 팰린드롬 부분문자열]] * [[EERTREE]] * [[쿼리]] * [[구간 쿼리]] * [[Maximum overlapping intervals]] * [[경로 쿼리]] * [[오프라인 쿼리]] * [[병렬 이분 탐색]] * [[Convolution]] * [[고속 푸리에 변환]] * [[FWHT]] * [[Zeta, Mobius Transform]] * 기타 등등 * [[요세푸스 문제]] * [[체스 기물 배치]] * 통계학 / 기계학습 * [[k-means clustering]] * 구현 관련 * 2D 그리드 * 비트 연산