次のような内容のテキスト ファイルがあります。
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.x.y.a
2 つのノードを含むパスは、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 に移行することもできます。これを達成するだけです。