狂人日记
XBaith
github:https://github.com/XBaith
QQ:1084794430
展开
-
我用Java学算法——UVa548-Tree
一. 题目描述 https://vjudge.net/problem/UVA-548 二. 解题思路 根据树的中序遍历,后序遍历构建出完整的树。后序遍历使得根节点在最后一个字符,得到根节点后,到中序遍历中找到并将树分为左右子树,再递归调用,构建出完整的树。 再用DFS对树进行遍历,找出叶子节点距根节点的权重之和最小的那个叶子节点,保存最后输出该结点的权重。 注意:in.hasNextLine()...原创 2019-05-13 20:18:31 · 142 阅读 · 0 评论 -
我用Java学算法——Uva839-Not so Mobile
一. 题目描述 https://vjudge.net/problem/UVA-839 二. 解题思路 题目中说:如果w1=0,则存在左子树;w2=0,则存在右子树。 输入是递归的,所以我们可以在输入过程中构造二叉树,树中节点存放w1,d1,w2,d2。如果w1=0构造左节点;如果w2=0构造右节点。 DFS遍历构造好的二叉树并判断当前节点的天平是否平衡。 值得注意的是:如果存在子节点,应该在判断...原创 2019-05-13 23:20:29 · 168 阅读 · 1 评论 -
我用Java学算法——Uva699-The Failing Leaves
一. 题目描述 https://vjudge.net/problem/UVA-699 二. 解题思路 二叉树,根据此题,可以用数组存放每一列的节点权值的和,根据索引判断节点的位置。 对于输入,题目中仍是递归的输入,所以我们递归的构造这棵树,并将每列的节点权值求和。 值得注意的是:每次输入需要将数组中的值恢复初始状态,即清零,以便存放下一颗树。 三. 解题代码 import java.io.Pr...原创 2019-05-14 20:33:56 · 144 阅读 · 1 评论 -
我用Java学算法——UVa679-Dropping Balls
一.题目描述 A number of K balls are dropped one by one from the root of a fully binary tree structure FBT. Each time the ball being dropped first visits a non-terminal node. It then keeps moving down, eith...原创 2019-05-10 15:59:22 · 157 阅读 · 0 评论