- 浏览: 72864 次
- 性别:
- 来自: 北京
递归算法---0-1背包问题(面试宝典)
- 博客分类:
- 嵌入式
/** *正整数n,m,从数列1、2、3、...、n中随意取几个数。使其和等于m *要求将其中所有可能的组合列出来 */ #include <stdio.h> #include <string.h> #include <stdlib.h> int *out; int out_size; void bag(int n, int m) { int i; if (n < 1 || m < 1 || (n == 1 && m != 1)) return; if (m == n) { out[n] = 1; for (i = 1; i <= out_size; i++) { if (out[i]) printf("%d ", i); } printf("\n"); out[n] = 0; } bag(n - 1, m); out[n] = 1; bag(n - 1, m - n); out[n] = 0; } int main() { int n, m; printf("Please input two num(n,m):"); scanf("%d%d", &n, &m); if (n > m) n = m; out_size = n; out = (int *)malloc((n + 1) * sizeof(int)); memset(out, 0, (n + 1) * sizeof(int)); bag(n, m); free(out); return 0; }
发表评论
-
排序算法---计数排序
2011-11-27 14:57 561#include <stdio.h> vo ... -
排序算法---归并排序
2011-11-26 19:33 700#include <stdio.h> vo ... -
排序算法---交换排序(冒泡排序、快速排序)
2011-11-26 19:32 667#include <stdio.h> vo ... -
排序算法---选择排序(简单插入排序、堆排序)
2011-11-26 19:31 600#include <stdio.h> vo ... -
排序算法---插入排序(简单排序、shell排序)
2011-11-26 19:29 602#include <stdio.h> vo ... -
删除字符串中的特定字符和重复字符
2011-11-26 13:45 633#include <stdio.h> vo ... -
Linux编程-多线程、同步和互斥(转载)
2011-11-14 15:27 1155http://www.cnblogs.com/skynet/a ... -
寻找字符串中的最大数字子串
2011-09-22 17:17 1472#include <stdio.h> int f ... -
删除子字符串
2011-09-21 15:27 566#include <stdio.h> #incl ... -
c语言随机数
2011-09-18 17:15 657#include <stdio.h> #i ... -
带头结点有序单链表的合并
2011-09-08 14:21 1147typedef int Item; typedef s ... -
链表逆序的递归/非递归算法
2011-09-01 23:37 1362/** *链表逆序的递归/非递归算法 */ # ... -
递归算法---字符串---全/部分组合和全排列
2011-08-30 23:01 1178#include <stdio.h> #i ... -
递归算法---字符串全组合(面试宝典)
2011-08-28 17:24 1212/** *求一字符串所有字串的组合 */ #i ... -
递归算法---求解多元一次方程
2011-08-28 10:38 1865/** * 求解x1+x2+x3+...+x10 = ... -
(zz)关于类的sizeof
2011-08-27 18:16 529http://blog.sina.com.cn/s/blog_ ... -
(zz)结构体字节对齐原则
2011-08-27 17:53 1551结构体默认的字节对齐一般满足三个准则: 结构体变量的首 ... -
list.h from linux-2.4
2011-08-25 09:59 573#ifndef _LIST_H_ #define _L ... -
The C Programming Lang (K&R) hash table
2011-08-25 09:52 902hash.h #include <stdio.h ... -
Josephus环
2011-08-23 11:20 665/*************************** ...
相关推荐
0-1背包问题 递归算法 c语言实现,已通过编译,可以直接使用
汉诺塔递归算法: 问题抽象 3个塔,n个碟子 初始:所有碟子放在1号塔,大的在底下,小的在上面 任务:把碟子移动到2号塔,顺序不变, 可用3号塔辅助 限制 每次只能移动一个碟子 总是大碟子...
C递归算法-八皇后问题.doc
实验2 递归算法-源代码.rar
第6章 函数和递归(C++版) 第二节 递归算法-2021-01-25(B).pdf
基于于C++的使用递归的方式解0-1背包
全都是自己写的,都能跑出来 实打实写的哦~ 仅供参考 最重要的还是自己理解 1.学习并掌握回溯法 2.利用迭代回溯和递归回溯两种方法解决01背包问题。 预览地址:
本资源包括0-1背包问题的算法分文档析和Java源代码,Eclipse环境下运行正确。
C++ 动态规划算法实现0-1背包问题 包含了代码、算法分析、测试文件和结果,非常详尽,值得拥有!
n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---...
基础算法-递归-杨鑫20191010.pptx,基础算法-递归-杨鑫20191010.pptx,基础算法-递归-杨鑫20191010.pptx
算法-基础算法- 递归算法(包含源程序).rar
《数据结构与算法》-李春葆 实验报告-递归算法实践-n皇后问题
NOIP基础算法--枚举、递推和递归 很有用的哦,看看有好处的
文件递归-XML递归-树图递归 面试中的常见递归算法:附带截图和详细代码
java语法 method 递归 马克-to-win java视频 方法 重载
《信息学竞赛宝典--基础算法》,人民邮电出版社 c++基础算法视频讲解---第2章 第2章 2.1.11火星人问题.wmv 2.1.15幂次方.wmv 2.1.13组合问题.wmv 2.1.14组合与素数.wmv 2.1.12巡视.wmv 2.1.16Jam的计数法.wmv 2.1.2...
递归算法详细分析- C.doc
2------前序遍历递归算法 3------前序遍历非递归算法 4------中序遍历递归算法 5------中序遍历非递归算法 6------后序遍历递归算法 7------后序遍历非递归算法 8------求树高 9------求叶子总数 10-----输出二叉树 ...