최근 여러 면접을 경험하며 정말 값진 시간을 보내고 있습니다..
알고리즘 선택의 기준은?..
구간 합은 합 배열을 이용하여 특정 구간의 합을 구할 때 시간 복잡도를 더 줄이기 위해 사용하는 특수한 목적의 알고리즘이다..
Dynamic Programming (DP) 동적 프로그래밍이란? 동적 프로그래밍은 복잡한 문제를 작은 하위 문제로 나누어 해결한 뒤, 중복되는 계산을 줄이기 위해 결과를 저장(memoization)하여 최적화하는 알고리즘 설계 기법입니다.
DFS (깊이 우선 탐색) 에서는 깊이(depth) 를 우선시하며, 가능한 한 트리의 아래로 내려가며 탐색을 진행합니다..
트리 문제와 마찬가지로, 많은 그래프 문제에서도 DFS(깊이 우선 탐색)이나 BFS(너비 우선 탐색) 중 어느 것을 사용해도 상관없는 경우가 많습니다. DFS가 BFS 보다 더 나은 성능을 보이는 상황은 드뭅니다. 사람들이 DFS를 선택하는 주된 이유는 DFS가 특히