【发布时间】:2016-03-19 12:35:22
【问题描述】:
我正在尝试找到以下问题的有效解决方案。给定的输入是:二叉树中的节点数、根、边和一些节点的列表,如果它是在网格中绘制的,则在树中找到它们的坐标,例如 边上的边或节点没有按任何特定顺序给出,但将节点连接到左子节点的边出现在输入的前面。树可以有超过百万个节点并使用
构建树class Node {
public Node left;
public Node right;
public int key;...}
太慢了。但是我找不到如何以可以找到节点坐标的方式表示树。 输入示例:
4 0 // 4 is number of nodes, 0 is root
0 1 // edge
0 3 // edge
2 3 // edge
我应该找到节点的坐标,例如3 输出为:3 1
【问题讨论】:
-
所有节点都应该有唯一的 X 坐标吗?
-
@radoh 是的,唯一的 x 坐标
-
这是来自一些编程挑战类型网站的任务吗?你能发个链接吗? :)
-
不,这是我的作业
-
这有点微不足道,不是吗?对 x 坐标使用有序编号,对 y 坐标使用(树高 - 节点深度)。
标签: java algorithm tree binary-tree