나는 기본적인 부분 집합 합계 문제에 대해 연구 해왔다. 주어진 합계, 6, 그리고 숫자 [1,2,3,4,5,6]), 나는 s = 6에 대해 합계 된 총 조합 수를 찾아야한다고 가정 해 봅시다. [2,4], [1,2,3]).memoized subset-sum 알고리즘에서 다시 조합을 얻으시겠습니까?
나는 이것을 무력으로 해결할 수 있었지만 메모를 작성하는 방법을 찾을 수 없었으므로 코드가 충분히 큰 값을 가지면 작동하지 않습니다.
아주 잘 작동하는 memoized 알고리즘 here을 찾았지만 조합 수만을 제공합니다 (따라서 s = 6의 경우 조합 수는 3이됩니다). 조합 자체는 아닙니다. 이 문제를 모두 메모 할 수 있습니까? (매우 큰 값으로 실행할 수 있도록) 및은 조합을 직접 출력 할 수 있습니까?
이 재귀 알고리즘은 전체로 시작하고 값을 substracting, 만 1''반환하여 모든 가능한 솔루션 트리를 만드는이 (합계 모든 (즉, '0'에서 끝남). 큰 숫자의 경우 이것은 비단뱀 표준 재귀 깊이 내에서 완료하는 데 어려움을 겪을 수 있습니다. – AChampion