.

实验三、 0-1 背包问题(贪心算法)

实验代码:

#include

int max(int a,int b)

{

if(a>b)

return a;

else

return b;

}

void Knapsack(int *v,int *w,int *x,int c,int n, int m[8][100])

{

int i,j;

for(j=0;j

{

if(j

m[n][j]=0;

else

m[n][j]=v[n];

}

for(i=n-1;i>=1;i--)

{

for(j=w[i];j<=c;j++)

m[i][j]=max(m[i+1][j],m[i+1][j-w[i]]+v[i]); }

for(i=1;i

{

if(m[i][c]==m[i+1][c])

x[i]=0;

else

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

}

x[n]=(m[n][c])?1:0;

return;

}

int main()

{

int i=0;

int n=7;

int w[]={0,2,3,5,7,1,4,1};

int v[]={0,10,5,15,7,6,18,3};

int x[]={0,0,0,0,0,0,0,0};

.'

.

printf(" 物品总数为: 7\n");

printf(" 物品重量和价值分别为: \n");

printf("\n 重量 价值 \n");

for (i=1;i<=n;i++)

printf("%d %d \n",w[i],v[i]);

int m=15;

int array[8][100]={0};

Knapsack(v,w,x,m,7,array);

printf(" 背包能装的最大价值为 : %d\n",array[1][m]);

printf(" 贪心算法的解为 : ");

for(i=1;i<=n;i++)

{

if(i==1)

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

else

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

}

printf("\n");

return 0;

}

测试截图为:

.'

贪心算法 0-1背包c语言,贪心算法0-1背包问题(算法实验代码).pdf相关推荐

  1. 用c语言编程牛顿环实验,C语言下迈克耳孙干涉仪测量空气折射率的实验探究.pdf...

    C语言下迈克耳孙干涉仪测量空气折射率的实验探究.pdf 语言下迈克耳孙干涉仪测量空气折射率的实验探究 张之韬 李雪梅 ( 浙江海洋大学数理与信息学院 浙江 舟山 ) ( 收稿日期 ) 摘 要 通过压强 ...

  2. 贪心算法黑白点匹配C语言,贪心算法之——黑白点的匹配(两种实现方法)

    一.题目 设平面上分布着n个白点和n个黑点,每个点用一对坐标(x, y)表示.一个黑点b=(xb,yb)支配一个白点w=(xw, yw)当且仅当xb>=xw和yb>=yw. 若黑点b支配白 ...

  3. 哈工大 c语言测试与系统控制 ad,哈工大——c语言在测量与控制中应用实验报告.pdf...

    哈工大--c语言在测量与控制中应用实验报告 Harbin Institute of Technology Harbin Institute of Technology C 语言在测量与控制中的 C 语 ...

  4. 王红梅《算法设计与分析(第3版)》部分课后实验代码

    [教材信息] 书名:算法设计与分析(第3版) ISBN:9787302594390 作者:王红梅 [递推法:杨辉三角形] #include <bits/stdc++.h> using na ...

  5. 贪心算法无重叠区间c语言,贪心算法之区间问题.md

    --- title: 贪心算法之区间问题 tags: - Leetcode categories: - Leetcode author: 四叶草 top: false abbrlink: 26230 ...

  6. 分支界限法0 1背包 c语言,分支限界法之布线问题(1)

    一.要求: 1.输入电路板区域n*m以及布线的起始位置和结束位置: 2.输出布线方案: 3.可以使用c或者vc实现 二.问题分析及实验原理: 在n*m的方格阵列中存在封锁区域(布线时必须绕开的区域), ...

  7. c语言 vc++6.0 插入图片,C语言VC++6.0环境中如何插入图片

    getimage / putimage / loadimage / saveimage 这一组命令和 IMAGE 对象可以实现图像处理的相关功能,下面逐个介绍. (有点类似 tc 中的 imagesi ...

  8. TDT2 多语言本文 4.0 版 TDT3 多语言本文 2.0 版

    http://tc2sc.mojolingo.xuite.net/m2m-0000/projects.ldc.upenn.edu/TIDES/index.html 转载于:https://www.cn ...

  9. 01背包python解法_0-1背包问题及Python代码实现

    1.简介 假设我们有n件物品,分别编号为1, 2...n.其中编号为i的物品价值为vi,它的重量为wi.为了简化问题,假定价值和重量都是整数值.现在,假设我们有一个背包,它能够承载的重量是W.现在,我 ...

最新文章

  1. SD卡的控制方法(指令集和控制时序)
  2. Python 技术点
  3. 【需求】手机无线投屏到电视需求整理,Miracast无线投屏功能应用及需求
  4. html audio 本地无效源,音频文件无法播放?H5的audio标签在win7下运行时报错“无效源”?...
  5. ASP.NET开源框架之HIPPO技术内幕(四)--多语言的实现
  6. OpenCV立体声匹配 stereo matching将L和R图像转换为视差和点云的实例(附完整代码)
  7. FFmpeg 4.2“艾达”发布
  8. GPRS模块AT呼叫控制命令
  9. 写给90后快30岁的我们
  10. svn回退到具体的版本
  11. 物联网-移远M26模块OpenCPU开发第3讲(看门狗)
  12. python sns绘制回归线_【干货!】用Python演绎5种常见可视化视图
  13. debian安装及使用mysql
  14. Deepin 系统下安装VMware并激活
  15. 目标检测(一)--Objectness算法总体理解,整理及总结
  16. python中random.sample()函数
  17. WordPress二次元博客主题模板-Sakurairo v2.5.1.1
  18. 猿人时代java_猿人时代攻略
  19. 小马激活报错:已停止工作
  20. 今日头条前端面试总结

热门文章

  1. 飞秋2010下载在未来讲差异化
  2. 微软对键盘上的Page Up Page Down按钮享有专利权
  3. 暴雪帝国辉煌能否延续
  4. 增强火山图,要不要试一下?
  5. 生信宝典Linux学习系列文章整理
  6. 如何在Mac计算机上轻松查找和删除类似照片
  7. 帆软日期控件变灰_数据分析插件FineReport中日期控件如何校验JS
  8. 零配置初始化流程就一直过不去_uni-app从零开发影视小程序1——搭建开发环境构建项目
  9. NOI数据结构:后缀数组
  10. 如何确认自己的电脑是否可以更新到win11