배낭 알고리즘을 이용한 배낭 속 물건 판별
최적화 기법인 배낭 알고리즘은 물건의 최적 가치를 판별하는 데 널리 사용됩니다. 제한된 용량의 배낭 안에 넣을 수 있는 것입니다. 그러나 포괄적인 솔루션을 얻으려면 최적의 값뿐만 아니라 배낭에 포함된 특정 항목도 식별하는 것이 바람직한 경우가 많습니다.
제공된 코드를 향상시키기 위해 추가 배열을 활용하여 선택한 항목. 이 선택을 수행하는 적절한 단계는 알고리즘의 반복 프로세스 중에 있습니다.
각 반복 후에 배낭에 있는 현재 무게(dpw)와 현재 항목이 없는 이전 무게(dp) 간의 차이를 확인합니다. [w - items[j-1].getWeight()][j-1])은 현재 항목의 무게와 같습니다. 이 조건이 충족되면 항목이 선택되었으며 배열에 추가되어야 합니다.
또는 최적의 값을 결정한 후 행렬을 통해 뒤로 이동하는 간단한 접근 방식도 있습니다. 배낭에 있는 현재 무게(dpline)와 현재 항목이 없는 이전 무게(dpline - Weight(i))의 차이가 현재 항목의 값(value(i))과 정확히 같다면 품목이 배낭 안에 있으므로 그렇게 표시해야 합니다. 이 과정은 모든 항목이 확인될 때까지 계속됩니다.
위 내용은 배낭 알고리즘을 사용하여 배낭에 포함된 특정 품목을 어떻게 식별할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!