背包问题java动态规划_算法动态规划的代码优化详解(经典的背包问题)

本文介绍了动态规划在前端中的应用,如Trie树结构和瀑布流布局,并通过一个经典的背包问题展示了如何用Java实现动态规划算法。文章详细解析了两种不同的实现方式,一种是传统的二维数组存储,另一种是优化过的仅用一维数组来降低空间复杂度。通过对比,表明优化后的算法在运行时间上有显著提升。
摘要由CSDN通过智能技术生成

首先说下算法对于前端的作用和应用

作用:不用说了提高效率和性能

应用:目前也是买了算法导论这本书,看得头晕,各种数学知识需要返回去重新认识,哎,终于知道了以前学的东西总有用的。。。,自己买的哭着也要读完,不扯了,直接说下现在已经应用的两个地方

1 trie树结构,对于后端扁平化数据转树形结构适用于前端的应用,终于把递归改成动规了

2 动态规划在前端瀑布流中的应用

第一点我也是看了这篇博客才下定决心迈向算法大坑的,具体不多说直接附上地址

第二点的动态规划参考以下博客,其中说的非常清晰,我主要是列举下对于此篇介绍中已实现的js,做 空间复杂度优化的代码,不足之处请指出

首先我是按照数据的倒退图里面以物品数组作为外层数组,背包容量作为内层数组的形式写的js(按照图的推导顺序)

1 用来生成随机大小的物品重量和价值数组

function getNum() {

return parseInt(Math.random()*100+1);

}

function getArr(size) {

var arr = [];

for (var i = 0;i

arr.push(getNum());

}

return arr;

}

var weight = getArr(10000);

var value = getArr(10000);

var V = 10000;

}

2实现

fu

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值