![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
Proud_Jiang
这个作者很懒,什么都没留下…
展开
-
背包问题 II - 01背包
一、题目描述有 n 个物品和一个大小为 m 的背包. 给定数组 A 表示每个物品的大小和数组 V 表示每个物品的价值。问最多能装入背包的总价值是多大?注意:A[i], V[i], n, m 均为整数你不能将物品进行切分你所挑选的要装入背包的物品的总大小不能超过 m每个物品只能取一次样例样例 1: 输入: m = 10, A = [2, 3, 5, 7], V = [1, 5, 2, 4] 输出: 9 解释: 装入 A[1] 和 A[3] 可以得到最大价值, V[1] + V[3]原创 2020-06-17 00:50:55 · 251 阅读 · 0 评论 -
背包问题 I
背包问题 I一、题目描述二、解法算法思路复杂度分析算法优化优化后复杂度分析代码思路梳理一、题目描述在 n 个物品中挑选若干物品装入背包,最多能装多满?假设背包的大小为 m,每个物品的大小为 A[i]例如样例 1: 输入: [3,4,8,5], backpack size=10 输出: 9样例 2: 输入: [2,3,5,7], backpack size=12 输出: 12题目链接https://www.lintcode.com/problem/backpack/d原创 2020-06-16 23:53:50 · 213 阅读 · 0 评论 -
二叉树的非递归遍历(Java)
介绍下图中的顶点按照访问的顺序编号,按照 1-2-3-4-5 的顺序来比较不同的策略。定义class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }}一、先序遍历(Preorder)从根节点开始,每次迭代弹出当前栈...原创 2020-05-05 16:26:51 · 205 阅读 · 0 评论 -
Java 堆排序
堆排序1、关于堆2、调整堆3、建最大堆4、堆排序1、关于堆堆就是一个简单的数组。只是我们用一种完全二叉树的角度来看它。以最大堆为例,比如说我们有一棵如下的二叉树:上图中,如果从根结点开始按照从左到右一层一层的编号的话,对这些元素的访问就构成了一个序列。比如上图中的序列按照编号顺序如下:16, 14, 10, 8, 7, 9, 3, 2, 4, 1如果我们将这种从二叉树的结点关系转换成对应...原创 2020-04-14 01:29:29 · 1517 阅读 · 0 评论