揹包問題(貪心演算法)

2021-06-22 23:23:33 字數 923 閱讀 9597

揹包問題

// 程式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...