我有一个文本文件,内容如下:
a.b.c.d
a.c
a.d
a.x.y.z
a.x.y.a
a.x.y.b
a.subtree
我希望将此转化为一棵树:
a
/ / \ \ \
b c d x subtree
| |
c y
| / | \
d z a b
编辑: 带有两个a
节点的a.x.y.a
路径需要分别处理。实际上,a.x.y.a
是路径。
我们可以这样看待输入文件:
Level0.Level1.Level2...
我是用Python(我也熟悉Java,如果有Java的答案也可以)尝试做这件事情,但不知道为什么逻辑上无法实现。
我的基本树形结构大致如下:
class Tree:
def __init__(self,data):
self.x = data
self.children = []
逻辑有点像这样:
for line in open("file","r"):
foos = line.split(".")
for foo in foos:
put_foo_in_tree_where_it_belongs()
我该如何处理这个问题?
此外,如果有任何能帮助我解决问题的Java库,我也可以转向使用Java。只需完成任务即可。
a
叶子? - Konstantin Yovkov