2011年7月29日

摘要: 快速排序:#include <stdio.h>#define MAX 500000int s[MAX];void Q_Sort(int start,int end){int i,j,t;if( start >= end ) return ;t = s[start];i = start;j = end;while( i < j){while( s[j] >= t && i < j){j--;}s[i] = s[j];while( s[i] <= t && i < j){i++;}s[j] = s[i];}s[i] = 阅读全文

posted @ 2011-07-29 08:39 continue_n 阅读(112) 评论(0) 推荐(0)

摘要: n表示物品的个数,weight[i]表示第i件物品的重,value[i]表示第i件物品的价值V为背包容量,s[]存放最优解一:01背包:每件物品只有一个,只能选或者不选for( i = 0 ; i < n ; i++){for( j = V ; j >= weight[i] ; j--){s[j] = Max(s[j],s[j-weight[i]]+value[i]);}}二:完全背包:每件物品有无限个初始化时要注意:如果要求恰好装满背包,那么在初始化时除了s[0]为0其它s[1..V]均设为-∞(求的是最大解,如果求的是最小解,则为∞) 如果并没有要求必须把背包装满,而是只希望价 阅读全文

posted @ 2011-07-29 08:39 continue_n 阅读(938) 评论(0) 推荐(0)


博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3