根据树层次结构生成唯一键

时间:2013-04-21 12:21:33

标签: java

我遇到了与stackoverflow文章(Creating a java hierarchial treeset from a flat list

中提到的问题类似的问题

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

  • 父母需要先打印出来,所以如果他们被导入(某处),他们会先被创建,这样就可以在他们的下面创建孩子。
  • 我需要根据层次结构生成唯一键,例如:

    Root>父母>小孩> GrandChild1

    Root>父母>小孩> GrandChild2

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

有人能够建议我可以生成唯一密钥的方式吗?

1 个答案:

答案 0 :(得分:0)

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

使用root首次使用前缀print

打印树

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

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树。 https://www.google.com/search?q=b+tree&ie=UTF-8&oe=UTF-8&hl=en&client=safari#itp=open0