보통 모든 노드를 방문하고자 할 경우에 사용BFS보다 속도가 느리다.보통 두 노드 사이의 최단 경로 혹은 임의의 경로를 찾을 때 사용
두 수의 최대 공약수나 최소 공배수를 구할 때, 유클리드 호제법을 사용하면 쉽게 얻을 수 있다.a = 10 b = 12일때 (예시)x % y == r 꼴로 진행10 % 12 == 1012 % 10 == 210 % <2> == 0==> 2가 최소 공배수위와 같이,

해를 찾는 도중 해가 아니어서 막히면, 되돌아가서 다시 해를 찾는 기법최적화 문제와 결정 문제를 푸는 방법전체 탐색을 하는 브루트포스 알고리즘의 DFS와 달리 백트래킹은 불필요한 탐색을 하지 않는다.아래는 DFS와 백트래킹의 차이점을 보여주는 그림이다.해당 그림 출처위

해당 알고리즘은 어떠한 긴 리스트에 증가하는 수열 중 가장 큰 수열을 찾을 때 사용되는 알고리즘이다.아래와 같이 크게 2가지 방식으로 구현한다.DPBinarySearch이번 포스팅에서는 3가지 방식을 통해 구현하고자 한다.가장 간단한 방법은 arri값이 최대 몇번째인지

Binary Search와 유사한 알고리즘최적화 문제를 결정 문제로 풀 수 있는 기술최적화 문제는 어떤 알고리즘의 최적의 솔루션(예를 들어, 출구가 있는 미로에서 시작점에서 출구까지의 최단 경로 길이 구하는 문제)을 찾아내는 것이다. 결정 문제는 True or Fals
분리 집합이란, 아래와 같이 ChatGPT가 소개하고 있다."분리 집합"은 수학적인 개념으로, 서로 겹치지 않는 여러 집합들을 의미합니다. 각각의 집합은 다른 집합과 교집합이 없는 상태를 말합니다.예를 들어, 집합 A와 집합 B가 있다고 가정해보겠습니다. 이 두 집합이