背包问题 算法实现

简介:

动态规划算法 

复制代码
package algorithm;

public class T7_21 {
    public static void main(String[] args){
        int s[] = {2,3,5,6};
        int v[] = {3,4,5,7};
        int C =11;
        
        System.out.println(big(s,v,C));
    }
    
    public static int big(int[] s,int [] v,int C){
        int L_s = s.length;
        int V[][] = new int[100][100];
        for(int i =0;i<=L_s;i++){
            V[i][0] = 0;
        }
        for(int j =0;j<=C;j++){
            V[0][j] = 0;
        }
        for(int i =1;i<=L_s;i++){
            for(int j =1;j<=C;j++){
                V[i][j] = V[i-1][j];
                if(s[i-1]<=j){
                    V[i][j] = V[i][j]>(V[i-1][j-s[i-1]]+v[i-1])?V[i][j]:(V[i-1][j-s[i-1]]+v[i-1]);
                }
            }
        }
        for(int i =0;i<=L_s;i++){
            for(int j = 0;j<=C;j++){
            System.out.printf("%3d",V[i][j]);}
            System.out.println();
        }
        System.out.print("          背包的最大价值为:");
        return V[L_s][C];
    }

}
复制代码

 

目录
相关文章
|
2月前
|
机器学习/深度学习 算法 测试技术
【动态规划】【C++算法】2742. 给墙壁刷油漆
【动态规划】【C++算法】2742. 给墙壁刷油漆
|
2月前
|
算法 C++
【动态规划】【C++算法】956 最高的广告牌
【动态规划】【C++算法】956 最高的广告牌
|
4月前
|
算法
【算法】动态规划
【算法】动态规划
41 0
|
11月前
|
存储 算法
【趣学算法】Day3 贪心算法——背包问题
【趣学算法】Day3 贪心算法——背包问题
119 0
|
11月前
|
搜索推荐 算法
【算法】快速排序算法原理及实现
【算法】快速排序算法原理及实现
【算法】快速排序算法原理及实现
|
11月前
|
算法 搜索推荐
【算法】冒泡排序算法原理及实现
【算法】冒泡排序算法原理及实现
【算法】冒泡排序算法原理及实现
|
11月前
|
搜索推荐 算法
【算法】选择排序算法原理及实现
【算法】选择排序算法原理及实现
【算法】选择排序算法原理及实现
|
11月前
|
搜索推荐 算法
【算法】插入排序算法原理及实现
【算法】插入排序算法原理及实现
【算法】插入排序算法原理及实现
|
11月前
|
算法
堆排序(算法实现)
堆排序-算法实现 前面介绍了堆的基本功能实现(https://blog.csdn.net/m0_46343224/article/details/127986662),了解了堆,这里用堆实现排序
53 0
堆排序(算法实现)
|
12月前
|
算法
趣学算法之动态规划
趣学算法之动态规划
98 0