질문에 대한 링크입니다. 는 다음 링크를에서 예를 들어, 재귀 트리가 겹치는 하위 문제
http://www.zrzahid.com/subset-sum-problem-dynamic-programming/
부분 집합 합 중첩 된 하위 문제 (동적 프로그래밍)
또한, 다음과 같은 프로그램의 예를 들어 겹치는 하위 문제가 없는지를 가지고 있지 않습니다. 중복 된 하위 문제가 없을 때 여기서 동적 프로그래밍이 어떻게 도움이되는지 이해하지 못합니다. 설명 해주십시오.
bool isSubsetSum(int set[],int n, int sum)
{
if(sum==0)
return true;
if(n==0 || sum<0)
return false;
return isSubsetSum(set,n-1,sum-set[n-1]) || isSubsetSum(set,n-1,sum);
}
int main()
{
int set[] = {3, 34, 4, 12, 5, 2};
int sum = 9;
int n = sizeof(set)/sizeof(set[0]);
if (isSubsetSum(set, n, sum) == true)
printf("Found a subset with given sum");
else
printf("No subset with given sum");
return 0;
}
고맙습니다.하지만 이미 코드를 이해했습니다. 나는이 ques에 대한 중첩 subproblems 속성을 견지 해달라고 –