- 博客(3)
- 收藏
- 关注
原创 动态规划学习
接着我们存入后四件物品时,就依照我们初始化的数据,如果在7kg时下一件或多件物品的价值大于之前存入的价值,则存入更大的价值即最优解。比如第三件物品存入时,在dp[3][3]的地方,意思为3kg,而第三件物品 重量只有2kg,还剩余1kg的空间,那我们就加上1kg的最优解看是否大于dp[2][3]的值,可以得到3+6>3,则在dp[3][3]存入3+6.由此我们可以写出一个状态转移方程。在这里,我们写入了一个数组arr[],在加上一个判断,判断是否重复计算过,最后在返回arr[n],就能更快的得到第n个数。
2023-01-08 19:20:14 94
原创 利用递归思想处理二叉树大根堆
这里要注意的是,当末尾数组下标为奇数时,这个分支只有一个左指,这时我们只需要比较根部和左指的值,进行排序。这里的排序方法,利用了递归的思想,只要排序未完成,就继续。首先对数组进行遍历,这里for循环的 i 的值设为 ( tree.length - 1) /2 ,因为我们需要的是每个根部的值,去遍历整个二叉树的小根部,对每个小分支进行排序,这些小分支对应的数组下标如图所示。数据虽然很多,但是这个二叉树无非就是由多个小分支组成的,我们把它分为各个小分支,每个小分支进行排序,就是先写一个排序方法,再逐个遍历。
2023-01-01 17:23:28 93
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人