[算法]简单的背包问题递归解法,C语言实现
来源:互联网 发布:matlab中两个矩阵相加 编辑:程序博客网 时间:2024/06/10 05:33
今天讲点简单的算法,最简单的背包0算法,使用了递归的方法,相信看完代码的朋友会发现这段代码很熟悉,不过CG提供这些代码的目的只是让全部背包算法的完整提供地给大家,代码很简单,相信高手一看就懂,这里的背包算法只是考虑了物品的重量,没有考虑物品的价值,是初学递归算法的朋友必看的代码,高手的话全当复习一下吧。
因为CG最近要考试了,一口气要考6门,所以博客更新没有这么快了,请大家见谅不过我还是会保持每天提供至少一篇的速度写博文,希望大家能支持,谢谢
预告下明天的算法博文,《银行家算法》,今天复习了下操作系统,晚上重新安装了系统,浪费了两个小时,代码明天调试后奉上,希望大家继续关注。
--------------------------------------------------------------------------------------
- 版权声明:
- 如在本页面内无特别说明,本文内容均为[李大仁博客]原创,本文版权归[李大仁博客]所有。
- 欢迎转载,转载请务必在文章页面明显位置提供原文链接并注明出处。欢迎您在转载本文时保留本段声明。
- 文章标题:[算法]简单的背包0问题递归解法 C语言实现 附代码
- 独立博客:李大仁博客
- 永久链接:http://www.lidaren.com/archives/285
--------------------------------------------------------------------------------------
以上内容由博客自动发布工具自动发布,最终显示内容和效果会与原文内容有所偏差,敬请谅解。
因为CG最近要考试了,一口气要考6门,所以博客更新没有这么快了,请大家见谅不过我还是会保持每天提供至少一篇的速度写博文,希望大家能支持,谢谢
预告下明天的算法博文,《银行家算法》,今天复习了下操作系统,晚上重新安装了系统,浪费了两个小时,代码明天调试后奉上,希望大家继续关注。
/*简单的背包问题递归解
*code CG 2009-01-04
*/
#include"stdio.h"
#define N 6 /*物品数量*/
#define S 15 /*背包大小*/
int W[N+1]={0,1,2,3,4,5,6};/*测试数据,各物品重量,W[0]不使用*/
/*knapsack()背包函数
参数int s 剩余重量
int n 剩余物品数
返回int 背包分配是否成功
*/
int knapsack(int s,int n){
if(s == 0)/*分配结束,成功*/
return 1;
if(s < 0 s > 0 && n < 1 br>
return 0;
if( knapsack(s - W[n] , n - 1)){/*递归*/
printf("%-4d",W[n]);/*输出*/
return 1;
}
return knapsack(s , n - 1);
}
int main()
{
if(knapsack(S , N))/*递归调用*/
printf("nOK!n");
else
printf("Failed!");
return 1;
}/*main*/
--------------------------------------------------------------------------------------
- 版权声明:
- 如在本页面内无特别说明,本文内容均为[李大仁博客]原创,本文版权归[李大仁博客]所有。
- 欢迎转载,转载请务必在文章页面明显位置提供原文链接并注明出处。欢迎您在转载本文时保留本段声明。
- 文章标题:[算法]简单的背包0问题递归解法 C语言实现 附代码
- 独立博客:李大仁博客
- 永久链接:http://www.lidaren.com/archives/285
--------------------------------------------------------------------------------------
以上内容由博客自动发布工具自动发布,最终显示内容和效果会与原文内容有所偏差,敬请谅解。
0 0
- [算法]简单的背包问题递归解法,C语言实现
- [算法]数据结构算法背包问题解法之递归解法,C语言实现
- p1054 简单背包问题的递归解法
- 背包问题的递归解法
- 背包问题,递归解法
- 简单的背包问题--java递归实现
- 背包问题的非递归解法
- 关于背包问题的递归解法
- C语言魔板问题递归解法
- 简单背包问题的递归与非递归实现
- [算法]经典算法8皇后(N皇后)问题的解法,C语言实现
- C语言 简单的递归算法
- 简单背包问题-递归非递归实现
- 背包问题的递归和非递归的解法
- 背包问题的递归和非递归的解法
- [算法]背包问题的经典算法和贪心算法解答,C语言实现
- 背包问题的遗传算法解法
- 背包问题的C语言实现
- [算法]求质数的算法之Miller-Rabin算法,C语言实现
- [算法]图算法之骑士遍历问题(象棋中马的遍历问题)分析,C语言实现
- hdu 5832 A water problem 大数取模问题 大水
- PHP学习手记之Mysql返回结果fetch操作集合
- [算法]数据结构算法背包问题解法之递归解法,C语言实现
- [算法]简单的背包问题递归解法,C语言实现
- [算法]操作系统进程通信(预防死锁)算法 Dijkstra银行家算法 C语言实现
- C#与flash通信和交互的小项目源代码
- 求解斐波那切数列的几种算法【转】
- ActionScript 学习手记之ExternalInterface的使用
- 安装Google浏览器一直报错 安装失败 0x80004002
- ActionScript学习手记之矩阵变换MatrixTransformer的应用
- VB6编写的职工工资管理系统毕业设计
- VB6实现自定义windows的字体对话框修改字体