
알고리즘은 문제를 해결하기 위한 단계별 절차이다.분석(analysis) -> (Computational(=계산))알고리즘의 복잡성 ->Order문제를 얼마나 효율적으로 해결하는지 결정하는 측도Time - CPU cyclesSpace - memory 예시 1) 재귀 방

여러 알고리즘의 기본이 되는 해결방법으로, 기본적으로는 엄청나게 크고 방대한 문제를 조금씩 조금씩 나눠가면서 용이하게 풀 수 있는 문제 단위로 나눈 다음 그것들을 다시 합쳐서 해결하자는 개념분할 (Divide)해결하기 쉽도록 문제를 여러 개의 작은 부분으로 나눈다.정복

⭐Dynamic Programming(동적 계획법)이란? 복잡한 문제를 간단한 여러 개의 문제로 나누어 푸는 방법을 말한다. 이러한 점이 Divide & Conquer와 동일하지만 다른 점은 '하나의 문제를 단 한 번만 풀도록 한다는 것이다.' ⭐Dynamic Pr

⭐Greedy Algorithm(탐욕적인 알고리즘)이란? 결정을 해야할 때마다 그 순간 가장 좋다고 생각하는 것을 해답으로 선택함으로써 최종적인 해답에 도달하는 알고리즘 즉, 미래를 생각하지 않고 각 단계에서 가장 최선의 선택을 하는 기법이다.

⭐Backtracking이란? 모든 경우의 수를 전부 고려하는 알고리즘. 상태공간을 트리로 나타낼 수 있을 때 적합한 방식이다. 일종의 트리 탐색 알고리즘이라고 봐도 된다. 방식에 따라서 깊이우선탐색(Depth First Search, DFS)과 너비우선탐색(Bread

⭐Branch-and-Bound란? 분기 한정법(分岐限定法, Branch and bound)은 다양한 최적화 문제를 풀기 위한 범용 알고리즘이다. 분기 한정법은 모든 후보해를 체계적으로 늘어놓으면서 최적화할 수치의 상한과 하한을 추정, 가망 없다는 판정이 나는 해를