资源简介
01背包问题(C#图形界面),用动态规划的算法实现,算法设计与分析的上机作业,分享给各位,相互学习。

代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace WindowsFormsApplication1
{
class BagProblem
{
public int[] profit;//物品价值
public int[] weight;//物品重量
public int numbers;//物品个数
public int capacity;//背包载重
public int[] d; //最优决策数组
///
/// 向前回溯,确定所选的物品,记录在x[]数组中
/// 最优决策数组
/// 用0、1记录物体选取情况
///
public void HuiSu(int[] D int[] Weight int Capacity int[] x)
{
numbers = Weight.Length - 1;
for (int i = 0; i < numbers; i++)
if (d[i Capacity] == 1)
{
x[i] = 1;
Capacity -= Weight[i];
}
else
x[i] = 0;
x[numbers] = d[numbers Capacity];
}
///
/// 求最大价值
/// 物体价值
/// 物体重量
/// 背包载重
///
public int MaxProfit(int[] Profit int[] Weight int Capacity)
{
profit = Profit;
weight = Weight;
numbers = Profit.Length - 1;
return f(0 Capacity);
}
///
/// 根据递推关系求解
///
private int f(int i int j)
{
if (i == numbers)//如果只有一个物品
{
if (j < weight[numbers])//大于载重,不装
{
d[numbersj] = 0;
return 0;
}
else
{
d[numbersj] = 1;
return profit[numbers];
}
}
if (j < weight[i])
{
d[ij] = 0;
return f(i + 1 j);
}
////根据状态转移方程
////f[ij]=max{f[i-1j]f[i-1j-w[i]]+p[i]}
int p0 = f(i + 1 j);
int p1 = f(i + 1 j - weight[i]) + profit[i];
if (p0 < p1)
{
d[ij] = 1;
return p1;
}
else
{
d[ij] = 0;
return p0;
}
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2665 2009-12-03 16:39 WindowsFormsApplication1\WindowsFormsApplication1\BagProblem.cs
文件 112640 2009-12-03 16:40 WindowsFormsApplication1\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.exe
文件 30208 2009-12-03 16:40 WindowsFormsApplication1\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.pdb
文件 14328 2009-12-03 16:44 WindowsFormsApplication1\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.vshost.exe
文件 490 2009-06-11 05:14 WindowsFormsApplication1\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.vshost.exe.manifest
文件 2865 2009-12-03 16:40 WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs
文件 9112 2009-12-03 16:40 WindowsFormsApplication1\WindowsFormsApplication1\Form1.Designer.cs
文件 155634 2009-12-03 16:40 WindowsFormsApplication1\WindowsFormsApplication1\Form1.resx
文件 1259 2009-12-03 16:44 WindowsFormsApplication1\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.csproj.FileListAbsolute.txt
文件 847 2009-12-03 16:40 WindowsFormsApplication1\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.csproj.GenerateResource.Cache
文件 112640 2009-12-03 16:40 WindowsFormsApplication1\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.exe
文件 100244 2009-12-03 16:40 WindowsFormsApplication1\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.Form1.resources
文件 30208 2009-12-03 16:40 WindowsFormsApplication1\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.pdb
文件 180 2009-12-03 09:41 WindowsFormsApplication1\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.Properties.Resources.resources
文件 505 2009-12-02 10:22 WindowsFormsApplication1\WindowsFormsApplication1\Program.cs
文件 1420 2009-12-03 16:39 WindowsFormsApplication1\WindowsFormsApplication1\Properties\AssemblyInfo.cs
文件 2898 2009-12-02 10:22 WindowsFormsApplication1\WindowsFormsApplication1\Properties\Resources.Designer.cs
文件 5612 2009-12-02 10:22 WindowsFormsApplication1\WindowsFormsApplication1\Properties\Resources.resx
文件 1109 2009-12-02 10:22 WindowsFormsApplication1\WindowsFormsApplication1\Properties\Settings.Designer.cs
文件 249 2009-12-02 10:22 WindowsFormsApplication1\WindowsFormsApplication1\Properties\Settings.settings
文件 3835 2009-12-02 16:47 WindowsFormsApplication1\WindowsFormsApplication1\WindowsFormsApplication1.csproj
文件 962 2009-12-02 10:22 WindowsFormsApplication1\WindowsFormsApplication1.sln
..A..H. 24064 2009-12-03 20:15 WindowsFormsApplication1\WindowsFormsApplication1.suo
目录 0 2009-12-02 10:49 WindowsFormsApplication1\WindowsFormsApplication1\obj\Debug\Refactor
目录 0 2009-12-02 10:22 WindowsFormsApplication1\WindowsFormsApplication1\obj\Debug\TempPE
目录 0 2009-12-03 09:41 WindowsFormsApplication1\WindowsFormsApplication1\bin\Debug
目录 0 2009-12-03 16:40 WindowsFormsApplication1\WindowsFormsApplication1\obj\Debug
目录 0 2009-12-02 16:39 WindowsFormsApplication1\WindowsFormsApplication1\bin
目录 0 2009-12-02 10:22 WindowsFormsApplication1\WindowsFormsApplication1\obj
目录 0 2009-12-03 16:39 WindowsFormsApplication1\WindowsFormsApplication1\Properties
............此处省略5个文件信息
- 上一篇:C#医院管理系统实训报告.doc
- 下一篇:C#编写局域网抓包工具源码、网络编程
相关资源
- C#实现的遗传算法类库
- 组合 算法 C# 背包问题
- c#语言实现K短路算法
- C# 视觉处理代码、神经网络和遗传算
- RSA算法实现加、解密
- 四叉树算法(KrigingCal)
- delta机器人运动学算法正向逆向求解
- C#多元线性回归算法
- C#实现封装SPC过程能力工具类ProcessC
- 国密SM4算法 C#
- TIN生成算法实现.zip
- 网络安全LSB算法 采用C# 实现文字的隐
- C#数字图像处理算法典型
- C#数值计算算法编程
- 《C#数值计算算法编程》电子书+随书
- 数据结构与算法C#
- c#四叉树算法实现
- A*逆向路径搜索算法C#代码以及地图文
- 武汉大学 C#数据结构与算法
- C#+ArcEngine面周边点抽稀源码
- 操作系统课设理发师问题,时间片轮
- 图像加密算法与实践
- C#数字图像处理算法典型赵春江随书源
- 数据结构与算法:C#语言描述(中文)
- C#数据结构与算法
- 校园导游图 C# floyd算法
- 数据结构与算法:C#语言描述(中文)
- 基于离散点的构TIN算法C#
- 平面度及平整度算法
- C#面向对象基于winform的扫雷游戏和简
评论
共有 条评论