【发布时间】:2012-06-04 09:26:41
【问题描述】:
我有一个单词列表。例如:
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。有谁知道如何使用这个类?我在任何地方都找不到任何例子!例如,如何在 trie 中添加单词?
【问题讨论】:
-
听起来你在寻找一个trie
-
@EliBendersky:你是对的——看来我是。你知道 Python 包可以轻松创建、操作和可视化尝试吗?
-
graphviz 绑定,或类似 NetworkX 或其他图形处理库
标签: python parsing data-structures tree