
算法
儒哥帅爆了
冷静冷静冷静
展开
-
01背包问题·
(只是笔记而已)有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。附上java代码吧import java.util.*;public class bag { public static class costom{ int weight;//商品质量 int value;//商品价值 } pub原创 2021-05-03 21:06:58 · 192 阅读 · 0 评论 -
树的遍历(n插树的遍历,二叉树的前中后序非递归实现,以及层次遍历按层级输出)
**树的遍历(n插树的遍历,二叉树的前中后序非递归实现,以及层次遍历按层级输出)首先感叹,代码一定要自己去敲,听的课讲的再好也要去敲。注:所有代码全是力扣上面的。前序遍历的两种实现(一种可以类推后中序,一种可以退出n插树的遍历方法。)一.用到栈以及两层while循环1.前序遍历 void preorder(TreeNode*tree) { stack<TreeNode*>ss; while (tree != NULL || !ss.empty()) {原创 2021-01-16 16:42:30 · 179 阅读 · 0 评论 -
二叉树的中间路径以及最小父亲
二叉树的中间路径以及最小父亲1.寻找中间路径当用前序遍历的方式访问到某一个节点的时候,我们把该节点添加到路径中。如果该节点的值和我们要找的值相等,则打印路径,如果不相等,则继续访问它的子节点。当前节点访问结束之后,递归函数将自动回到它的父节点。因此我们在函数退出之前要在路径上删除当前节点,以确保返回父节点时路径刚好是从根节点到父节点的路径。 vector<vector<TreeNode*>>allroad; void rroad(TreeNode* root,vector&l原创 2021-01-21 22:42:06 · 184 阅读 · 0 评论