(算法设计技巧与分析)Knapsack
来源:互联网 发布:交朋友的软件 编辑:程序博客网 时间:2024/06/02 00:57
#include<iostream>using namespace std;struct goods{int weight;int value;};int knapsack(int **,int row,int list,goods[],int number);int main(){int maxsize=22;goods g[5];g[0].weight=3;g[0].value=4;g[1].weight=5;g[1].value=6;g[2].weight=7;g[2].value=7;g[3].weight=8;g[3].value=9;g[4].weight=9;g[4].value=10;int **p;p=new int *[6];for(int i=0;i<6;i++)p[i]=new int [maxsize+1];cout<<knapsack(p,6,maxsize+1,g,6)<<endl;for(int i=0;i<6;i++){for(int j=0;j<23;j++)cout<<p[i][j]<<" ";cout<<endl;}return 0;}int knapsack(int **p,int row,int list,goods g[],int number){int i,j;int temp;for(i=0;i<row;i++)//初始化p[i][0]=0;for(i=1;i<list;i++)p[0][i]=0;for(i=1;i<row;i++)for(j=1;j<list;j++){p[i][j]=p[i-1][j];if(g[i-1].weight<=j)//比较当前物品的体积与背包容量体积{temp=p[i-1][j-g[i-1].weight]+g[i-1].value;//找出空出i物品体积后的价值与i物品的价值相加if(p[i][j]<temp)//比较temp与不加i物品的价值哪个大p[i][j]=temp;}}return p[row-1][list-1];}
0 0
- (算法设计技巧与分析)Knapsack
- (算法设计技巧与分析)LinearSearch
- (算法设计技巧与分析)BinarySearch
- (算法设计技巧与分析)Merge
- (算法设计技巧与分析)SelectSort
- (算法设计技巧与分析)InsertionSort
- (算法设计技巧与分析)SelectionSortFec
- (算法设计技巧与分析)InsertionSort
- (算法设计技巧与分析)RadixSort
- (算法设计技巧与分析)Exprec
- (算法设计技巧与分析)Permutationsi
- (算法设计技巧与分析)Majority
- (算法设计技巧与分析)MinMax
- (算法设计技巧与分析)BinarySearchrec
- (算法设计技巧与分析)MergeSort
- (算法设计技巧与分析)QuickSort
- (算法设计技巧与分析)CloseStpair
- (算法设计技巧与分析)LCS
- 寒假集训——Index of super-prime 和 北航9届校赛晴天小猪爱61
- Oracle EBS:PO 常用的查询及Tips
- 数据存储大小端
- 黑马程序员——枚举中自有函数的调用
- 20150310总结
- (算法设计技巧与分析)Knapsack
- Castle学习系列
- IOS 自定义控件之-显示下载过程的ImageView
- android sqlite多线程读写分析与优化
- Git学习[二]
- 文章标题
- 笔试题目总结1
- (算法设计技巧与分析)Dijkstra
- C/C++面试总结必考题