hal*_*gan 6 php arrays class graph trie
UPD:我将原始问题移至https://codereview.stackexchange.com/questions/127055/building-tree-graph-from-dictionary-performance-issues
这是一个简短的版本,没有代码.
我正在尝试从字典中构建前缀树.因此,使用以下字典'and','anna','ape','apple'
,图形应如下所示:
我尝试了两种方法:使用关联数组并使用自编写的树/节点类.
注意:原始字典大约是8 MB,包含> 600000个单词.
问题:有没有好的(快速/有效)方法呢?
我到目前为止尝试过:
php关联数组(它们对于将来使用此图表的工作不是很灵活).
自编的树/节点类(性能问题 - 执行时间最多可增加7倍,即使没有实现任何inserting
功能,内存使用量也会增加2倍).
代码审查中提供了示例代码(有问题的第一个链接)
只要我已经切换到 C++ 并在codereview上得到了很好的答案,我就会在这里回答我自己的问题。
还有一种方法可以通过增加内存使用来提高时间效率(与“ array
of array
s of array
s ...”方法相比,这并不是真正的大增加)。该方法称为“双数组 trie”,您可以在此处阅读有关此主题的信息,并阅读 codereview 上的上述答案以查看实现示例。
它的时间效率更高,但未来 trie 使用的灵活性/便利性较低(与 OOP 方法相比)。
所以对我来说这个问题的最终答案是:“php 不是处理真正大尝试的最佳工具”。
归档时间: |
|
查看次数: |
398 次 |
最近记录: |