(完整)贪心算法0-1背包问题(算法实验代码)

2022-07-14 01:11:19   文档大全网     [ 字体: ] [ 阅读: ]

#文档大全网# 导语】以下是®文档大全网的小编为您整理的《(完整)贪心算法0-1背包问题(算法实验代码)》,欢迎阅读!
算法,贪心,背包,完整,实验
(完整)贪心算法0-1背包问题(算法实验代码)

实验三、01背包问题(贪心算法)



实验代码:

include

int maxint aint b

if(ab return a else

return b }

void Knapsack(int *vint wint *x,int c,int n, int m[8][100 {

int ij

for(j=0jcj++)

ifjwn] mn][j]=0;

else m[n[j]=vn]; }

for(i=n1i=1;i-—)

forj=wi]j=c;j++

m[i]j]=maxm[i+1[j]m[i+1]jw[i]+vi) } for(i=1ii++)

if(m[i[c]==m[i+1]c] xi=0; else

{x[i=1 c=c-wi];} }

xn=(mnc])10; return }



int main()

int i=0 int n=7

int w[]=02,357,141}; int v[]=010,5,157,6183} int x[]=00,000,00,0} printf(”物品总数为:7\n"

1 / 2




(完整)贪心算法0-1背包问题(算法实验代码)

printf("物品重量和价值分别为:\n) printf"\n重量 价值 \n; for i=1i=n;i++)

printf(”%d %d \n",wi],vi]) int m=15

int array[8]100=0 Knapsack(v,wxm,7,array)

printf(”背包能装的最大价值为: %d\n,array1][m]); printf("贪心算法的解为: ) for(i=1i=n;i++) {

if(i==1)

printf(”%d",x[i]); else

printf(” %d”,x[i];

printf("\n"); return 0;



测试截图为:



2 / 2




本文来源:https://www.wddqxz.cn/1cab33100b75f46527d3240c844769eae109a36a.html

相关推荐