我有一个单词列表。例如:
reel
road
root
curd
我想以反映以下结构的方式存储这些数据:
Start -> r -> e -> reel
-> o -> a -> road
o -> root
c -> curd
对我来说很明显我需要实现一棵树。从这棵树中,我必须能够很容易地得到一个节点的高度、一个节点的后代数量、搜索一个节点等统计信息。添加节点应该“自动”将其添加到树中的正确位置,因为该位置是唯一的。
它还希望能够以实际图形树的形式可视化数据。由于树会很大,我需要在可视化上进行缩放/平移控件。当然,漂亮的可视化总是比丑陋的要好。
有谁知道可以让我简单地实现这一切的 Python 包?自己编写代码需要相当长的时间。你认为http://packages.python.org/ete2/适合这个任务吗?
我在 Python 2.x 上,顺便说一句。
我发现 NLTK 有一个 trie 类 - nltk.containers.trie。这对我来说很方便,因为我已经使用了 NLTK。有谁知道如何使用这个类?我在任何地方都找不到任何例子!例如,如何向树中添加单词?