Java n节点树

时间:2015-03-27 09:02:51

标签: java xml algorithm tree

我正在尝试为下图编写Java代码。其中,

如果node:4将创建以下单独的4个树。

中的节点数
LEVEL1 (yellow) : 1 node
LEVEL2 (green) : n-1 node
LEVEL3 (blue) : n-2 node

查看节点的图像:4

enter image description here

另一种方式,如节点:5,那么,

LEVEL1 (yellow) : 1 node
LEVEL2 (green) : n-1 node
LEVEL3 (blue) : n-2 node

查看节点的图片:5

enter image description here

等等。提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

如何解决这里重要的事情。 从上到下开始,并制定逻辑。

List<Tree> makeTrees(int n) {
    List<Tree> trees = new ArrayList<>();

    for (int i = 0; i < n; ++i) {
        Tree tree = makeYellow(n, i);
        trees.add(tree);
    }
    return trees;
}

private Tree makeYellow(int n, int yellow) {
    Tree tree = new Tree();
    Node node = new Node(yellow, Color.YELLOW);
    tree.add(node);
    for (int i = 0; i < n; ++i) {
        if (i != yellow) {
            Node green = makeGreen(n, yellow, i);
            node.add(green);
        }
    }
    return tree;
}

等等。

如您所见,黄色节点的顶部是一个简单的就足够了。而不是已经详细解决了所有问题,预期更进一步的解决方案,请致电makeGreen并确定它应返回的内容以及所需的信息。

尝试找到模式。

这样的家庭作业最好自己完成,以便训练解决这些难题,并获得精神上的奖励。