没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本文实例讲述了C#使用动态规划解决0-1背包问题的方法。分享给大家供大家参考。具体如下: // 利用动态规划解决0-1背包问题 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Knapsack_problem // 背包问题关键在于计算不超过背包的总容量的最大价值 { class Program { static void Main() { int i; int capacity = 16; int[] size = n
资源推荐
资源详情
资源评论
C#使用动态规划解决使用动态规划解决0-1背包问题实例分析背包问题实例分析
本文实例讲述了C#使用动态规划解决0-1背包问题的方法。分享给大家供大家参考。具体如下:
// 利用动态规划解决0-1背包问题
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Knapsack_problem
// 背包问题关键在于计算不超过背包的总容量的最大价值
{
class Program
{
static void Main()
{
int i;
int capacity = 16;
int[] size = new int[] { 3, 4, 7, 8, 9 };
// 5件物品每件大小分别为3, 4, 7, 8, 9
//且是不可分割的 0-1 背包问题
int[] values = new int[] { 4, 5, 10, 11, 13 };
// 5件物品每件的价值分别为4, 5, 10, 11, 13
int[] totval = new int[capacity + 1];
// 数组totval用来存贮最大的总价值
int[] best = new int[capacity + 1];
// best 存贮的是当前价值最高的物品
int n = values.Length;
for (int j = 0; j <= n - 1; j++)
for (i = 0; i <= capacity; i++)
if (i >= size[j])
if (totval[i] < (totval[i - size[j]] + values[j]))
// 如果当前的容量减去J的容量再加上J的价值比原来的价值大,
//就将这个值传给当前的值
{
totval[i] = totval[i - size[j]] + values[j];
best[i] = j; // 并把j传给best
}
Console.WriteLine("背包的最大价值: " + totval[capacity]);
// Console.WriteLine("构成背包的最大价值的物品是: " );
// int totcap = 0;
// while (totcap <= capacity)
// {
// Console.WriteLine("物品的大小是:" + size[best[capacity - totcap]]);
// for (i = 0; i <= n-1; i++)
// totcap += size[best[i]];
// }
}
}
}
希望本文所述对大家的C#程序设计有所帮助。
您可能感兴趣的文章您可能感兴趣的文章:用贪心法求解背包问题的解决方法关于背包问题的一些理解和应用PHP动态规划解决0-1背包问题实例分
析PHP回溯法解决0-1背包问题实例分析PHP贪婪算法解决0-1背包问题实例分析C++动态规划之背包问题解决方法C#使用回
溯法解决背包问题实例分析C#用递归算法解决经典背包问题
资源评论
weixin_38569515
- 粉丝: 2
- 资源: 1001
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于SimPy和贝叶斯优化的流程仿真系统.zip
- (源码)基于Java Web的个人信息管理系统.zip
- (源码)基于C++和OTL4的PostgreSQL数据库连接系统.zip
- (源码)基于ESP32和AWS IoT Core的室内温湿度监测系统.zip
- (源码)基于Arduino的I2C协议交通灯模拟系统.zip
- coco.names 文件
- (源码)基于Spring Boot和Vue的房屋租赁管理系统.zip
- (源码)基于Android的饭店点菜系统.zip
- (源码)基于Android平台的权限管理系统.zip
- (源码)基于CC++和wxWidgets框架的LEGO模型火车控制系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功