目标是创建一个特里数据结构。我见过Tree::Trie并使用过它。只有在读取文件(数据库)后,它才会将数据转换为特里结构。因此,这会使处理速度变慢,因为每次需要查找时,整个数据都会转换为 trie。
有没有一种方法可以让我一次性创建一个特里树并将其用作查找的特里树结构。
如果您再次Tree::Trie查看链接到的文档中的概要,您将看到只创建了一次特里树(my($trie) = new Tree::Trie;- 尽管这应该写成my $trie = Tree::Trie->new;而不是使用间接对象表示法)并且数据只添加一次 ( $trie->add(...);) ,然后使用 trie 进行多次查找(my(@all) = $trie->lookup("");和my(@ms) = $trie->lookup("m");)。
创建一次trie然后将其用于查找的方法是简单地保留$trie变量(在范围内)并将其用于所有查找,而不是Tree::Trie每次都创建新实例。
如果此答案对您没有用,请更新您的问题,以包含一个小型、自包含、可运行的示例程序,显示您的使用方式Tree::Trie,我们可以向您展示如何修改它,以便只构建一次特里树。
| 归档时间: |
|
| 查看次数: |
278 次 |
| 最近记录: |