
결론부터 말하자면 둘은 다른 개념이다.
DFS와 BFS는 탐색하는 방법에 대한 개념이다.
또 DP는 결과값을 얻는 방법을 최적화하는 개념이다.
Tabulation,Memoization은 결과값이 다음 결과값에 영향을 주는 방식인 것이다.
팩토리얼을 예로 들어보자
def factorial(n):
if n==0: return 1
ret = n*factorial(n-1)
return ret
팩토리얼를 구하는 과정에 대한 함수는 다음과 같다.
위 함수에서 6!을 구한다고 생각했을 때 6!을 구하기위해 5!로 가고 5!을 구하기 위해 4!로 간다.