返回顶部

收藏

C#递归解决背包问题代码

更多
class Item
{
    public int weigth;
    public int price;
}

static int KProblem(int MaxCapacity, Item[] items)
{
    int maxValue = 0;
    int n = items.Length;
    int space = 0; //剩余空间
    for (int i = 0; i < n; i++)
    {
        space = MaxCapacity - items[i].weigth; 
        if (space > 0)
        {
            int t = KProblem(space, items) + items[i].price;
            if (t > maxValue)
            {
                maxValue = t;
            }
        }
    }
    return maxValue;
}
//该片段来自于http://outofmemory.cn

标签:c#,.net,算法

收藏

0人收藏

支持

0

反对

0