揹包問題
// 程式8-4-2.cpp : 定義控制台應用程式的入口點。
////揹包問題:貪心演算法
#include "stdafx.h"
#define maxnumber 20
typedef struct node
object;
float find(object wp, int n, float m)
i = 0;
while(wp[i].w < m)
x[wp[i].i] = m/wp[i].w;
//輸出解向量
printf("解向量是:\n");
for(i = 1; i <= n; i++)
printf("\n");
//計算最大價值
for(i = 0; i < n; i++)
return maxprice;
}//float find(object wp, int n, float m)
void bubble_sort(object wp, int n)
} }}void output(object wp, int n)
}int _tmain(int argc, _tchar* argv)
printf("\n輸入的物品是\n i w v\n");
output(wp, n);
//用氣泡排序對物品按單位價值進行排序
bubble_sort(wp, n);
printf("\n 排序後的物品是\n i w v\n");
output(wp, n);
maxprice = find(wp, n, c);
printf("\n 物品的總價值為:%f\n", maxprice);
return 0;
}
貪心演算法 揹包問題
詳細見原帖 我寫的是自己的感悟 揹包問題 有乙個揹包,揹包容量是m 150。有7個物品,物品可以分割成任意大小。要求盡可能讓裝入揹包中的物品總價值最大,但不能超過總容量。物品 a b c d e f g 重量 35 30 60 50 40 10 25 價值 10 40 30 50 35 40 30 ...
貪心演算法 揹包問題
貪心演算法 當前最優解 例如在刪除數的乙個例子中,乙個長度不大於240位的整數中,隨機刪除n個數,要求使得剩餘的數 從左到右的,組成乙個最小的整數 貪心步驟 例如 乙個數 1457326 n 4 1 找到當前最大的數 7 刪除 145326 2 找到當前最大的數 6 刪除 14532 3 找到當前最...
貪心演算法 揹包問題
部分 揹包問題 1 0 1揹包問題 給定n種物品和乙個揹包。物品i的重量是wi,其價值為vi,揹包的容量為c。應如何選擇裝入揹包的物品,使得裝入揹包中物品的總價值最大?注 在選擇裝入揹包的物品時,對每種物品i只有2種選擇,即裝入揹包或不裝入揹包。不能將物品i裝入揹包多次,也不能只裝入部分的物品i。0...