0

我有一个与 stackoverflow 文章(从平面列表创建 java 层次结构树集)中解决的问题类似的问题

我目前正在尝试做的是将树打印到文件中,其中包含以下内容:

  • 父母需要先被打印出来,所以如果他们被导入(在某个地方),他们会首先被创建,然后可以在他们下创建孩子。
  • 我需要根据层次结构生成唯一键,例如:

    根>父>子> GrandChild1

    根>父>子> GrandChild2

>是节点的分隔符,但并不介意这是什么......

有人能建议我生成唯一密钥的方法吗?

4

1 回答 1

0

我不确定你所说的钥匙是什么意思,等等......但这听起来微不足道。

要使用根首先使用前缀打印来打印树

这是您打印前缀的方式(这棵树有数字,但没关系,您明白了)。下面的方法使用递归。

private void printPrefix(Node<?> node){

        //If node is null, reached end of chain, return to caller
        if (node==null) {
            return;
        }

        //Print self
        System.out.print(node.getValue());
        System.out.print(" ");

        //Print all children
         for (Source child : node.children) //changed for multiple
{
    printPrefix(child);
}

        return;
    }

在更好的数据结构建议中,您应该考虑使用 b-tree。 https://www.google.com/search?q=b+tree&ie=UTF-8&oe=UTF-8&hl=en&client=safari#itp=open0

于 2013-04-21T12:30:27.697 回答