01背包问题的三种方法(动态规划、回溯法无优化及优化)
发布时间
阅读量:
阅读量
针对01背包问题的三种求解方式,实际上主要依托于两种算法理念:动态规划以及回溯法。
然而,对于回溯法而言,可以通过引入剪枝策略加以优化。因此,此处提供了两段代码**,其中第二段代码中的getmost()函数未采用剪枝处理,而getbag()函数则实施了剪枝操作。**
动态规划算法的具体实现代码如下:
#include<stdio.h>
#include<stdlib.h>
int flag[5]={1,1,1,1,1};
int weight[5]={0,2,3,4,5};
int value[5]={0,1,2,3,4};
int v[100][100];
#define W 10
#define M 7
//求最大值
int max(int a,int b){
if(a>b){
return a;
}else
{
return b;
}
}
void getV(){
//初始化数组
for(int i=0;i<=W;i++){
v[0][i]=0;
}
for(int i=0;i<5;i++){
v[i][0]
全部评论 (0)
还没有任何评论哟~
