我有一个与 stackoverflow 文章(从平面列表创建 java 层次结构树集)中解决的问题类似的问题
我目前正在尝试做的是将树打印到文件中,其中包含以下内容:
- 父母需要先被打印出来,所以如果他们被导入(在某个地方),他们会首先被创建,然后可以在他们下创建孩子。
我需要根据层次结构生成唯一键,例如:
根>父>子> GrandChild1
根>父>子> GrandChild2
>
是节点的分隔符,但并不介意这是什么......
有人能建议我生成唯一密钥的方法吗?
我有一个与 stackoverflow 文章(从平面列表创建 java 层次结构树集)中解决的问题类似的问题
我目前正在尝试做的是将树打印到文件中,其中包含以下内容:
我需要根据层次结构生成唯一键,例如:
根>父>子> GrandChild1
根>父>子> GrandChild2
>
是节点的分隔符,但并不介意这是什么......
有人能建议我生成唯一密钥的方法吗?
我不确定你所说的钥匙是什么意思,等等......但这听起来微不足道。
要使用根首先使用前缀打印来打印树
这是您打印前缀的方式(这棵树有数字,但没关系,您明白了)。下面的方法使用递归。
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