gpt4 book ai didi

c++ - 如何通过迭代解决0-1包问题?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:50:40 26 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Design patterns for converting recursive algorithms to iterative ones

我只能想出一个递归的方法:如何将其转化为迭代?为简单起见,我的递归方式只查找结果值。

#include<iostream>
//0-1 bag
using namespace std;
int weight[5]={50,30,45,25,5};
int value[5]={200,180,225,200,50};

int valueAfterTake(int objectNO, int bagSpaceLeft)
{
int take,notTake;
if(objectNO < 0)
{
return 0;
}
else
{
take = value[objectNO] + valueAfterTake(objectNO - 1,bagSpaceLeft - weight[objectNO]);
notTake = valueAfterTake(objectNO - 1, bagSpaceLeft);
}
if(weight[objectNO] > bagSpaceLeft)
{
return notTake;
}

if(take > notTake)
{
return take;
}
else
{
return notTake;
}
}


int main()
{
cout<<valueAfterTake(4,100)<<endl;
return 0;
}

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com