01背包问题空间复杂度改进(动态规划法,C语言)

01背包问题空间复杂度改进(动态规划法,C语言),第1张

01背包问题空间复杂度改进(动态规划法,C语言)
#include
int Max(int n1,int n2){
    if(n1>n2){
        return n1;
    }
    return n2;
}
int main(){
    int n=6,c=12;
    int value[]={0,6,3,5,4,3,6};
    int weight[]={0,4,6,2,2,5,3};
    int m[c+1];
    for(int i=0;i<=c;i++){
        m[i]=0;
    }
    for(int i=1;i<=n;i++){
        for(int j=c;j>=weight[i];j--){
            m[j]=Max(m[j],m[j-weight[i]]+value[i]);
        }
    }
    printf("背包物品总价值最大为:%dn",m[c]);
    return 0;
}

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4749562.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-08
下一篇 2022-11-08

发表评论

登录后才能评论

评论列表(0条)

保存