資源簡介
這是以前在學校學算法設計時寫的程序了,都不太記得了。
是0-1背包的回溯算法。
內附實驗報告,詳解算法設計過程。
代碼片段和文件信息
//by?ngl
#include
#include
using?namespace?std;
#define?max?100
double?c; //背包容量
int?n; //物品數
double?weight[?max?]; //物品重量數組
double?value[?max?]; //物品價值數組
int?a[max];?????????????????//a[i]表示:排序前的物品i是排序后的物品a[i]
double?v[max];??????????????//按物品重量價值從大到小排序后的物品價值數組
double?w[max]; //按物品重量價值從大到小排序后的物品重量數組
double?cw?=?0; //當前重量
double?cv?=?0; //當前價值
double?bestp?=?0; //當前最優價值
int?x[max]; //當前解
int?bestx[max]; //當前最優解
//類Knapsack中存儲物品編號和其對應的單位重量價值
class?Knapsack
{
public:
Knapsack(int?idd?=?0double?dd?=?0)
{
id?=?idd;?
d?=?dd;???
}
bool?equles(Knapsack?x)
{
return?d?==?x.d;
}
int?id;???//物品編號
double?d;?//物品單位重量價值
};
double?bound(int?i)//計算當前節點的上界
{
double?cleft?=?c?-?cw;?//剩余容量
double
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????1189888??2010-12-15?18:45??0?1背包(回溯算法)\0?1背包(回溯算法).doc
????..A..H.??????8192??2010-12-15?18:51??0?1背包(回溯算法)\0?1背包(回溯算法).suo
?????文件???????1275??2010-12-15?18:48??0?1背包(回溯算法)\程序\0?1背包(回溯算法).plg
?????文件????????919??2010-12-15?18:49??0?1背包(回溯算法)\程序\0?1背包(回溯算法).sln
?????文件???????4997??2010-12-15?18:49??0?1背包(回溯算法)\程序\0?1背包(回溯算法).vcproj
?????文件???????1427??2010-12-15?18:51??0?1背包(回溯算法)\程序\0?1背包(回溯算法).vcproj.24E929573AE54B4.Administrator.user
?????文件???????3022??2010-12-15?18:50??0?1背包(回溯算法)\程序\0?1背包(回溯算法).cpp
?????文件???????3559??2010-12-15?18:48??0?1背包(回溯算法)\程序\0?1背包(回溯算法).dsp
?????文件????????563??2010-12-15?18:49??0?1背包(回溯算法)\程序\0?1背包(回溯算法).dsw
?????文件????1346560??2010-12-15?18:51??0?1背包(回溯算法)\程序\0?1背包(回溯算法).ncb
?????文件??????48640??2010-12-15?18:49??0?1背包(回溯算法)\程序\0?1背包(回溯算法).opt
?????目錄??????????0??2010-12-15?18:53??0?1背包(回溯算法)\程序
?????目錄??????????0??2010-12-15?18:51??0?1背包(回溯算法)
-----------?---------??----------?-----??----
??????????????2609042????????????????????13
- 上一篇:TCP/UDP開發應用
- 下一篇:進程通信之三 父進程傳參數與子進程返回值
評論
共有 條評論