Php 前缀树实现与 assoc 数组

标签 php arrays class graph trie

<分区>

UPD:我将原始问题移至 https://codereview.stackexchange.com/questions/127055/building-tree-graph-from-dictionary-performance-issues

这是一个简短的版本,没有代码。

我正在尝试从字典构建前缀树。因此,使用以下字典 'and','anna','ape','apple',图形应如下所示: graph 我尝试了两种方法:使用关联数组和使用自己编写的树/节点类。

注意:原始词典大约有 8 MB,包含 >600000 个单词。

问题:有什么好的(快速/高效)方法吗?

到目前为止我已经尝试过:

  • php 关联数组(它们对于此图的 future 工作不是很灵活)。

  • 自行编写的树/节点类(性能问题 - 执行时间增加了 7 倍,内存使用量增加了 2 倍,即使除了插入 函数之外没有实现任何东西)。

codereview 上有示例代码(有问题的第一个链接)

最佳答案

只要我切换到 C++ 并在 codereview 上得到一个好的答案,我将在这里回答我自己的问题。

还有另一种方法可以通过增加内存使用量来提高时间效率(与“arrayarrayarray s...”方法相比,这并不是真正的大增加)。该方法称为“双数组 trie”,您可以阅读有关此主题的信息 here并在 codereview 上阅读上述答案以查看实现示例。

它的时间效率更高,但它为 future 的 trie 使用提供了更少的灵 active /便利性(与 OOP 方法相比)。

所以对我来说,这个问题的最终答案是:“php 不是进行真正大尝试的最佳工具”。

关于Php 前缀树实现与 assoc 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36938662/

相关文章:

javascript - 如何在 javascript 中对映射对象的数据进行分组?

javascript - 警告 : Accessing reactClass via the main React package is deprecated

Java 构造函数未正确初始化

php - session_destroy() 不工作

javascript - 无法根据所选选项填写其他字段

php - __METHOD__ 和 __FUNCTION__

Javascript:根据属性值将对象数组拆分为具有动态名称的单独数组

c - 数组:越界计算

Java:一个类是它自己的子类吗?

javascript - alertbox 以 html 表格格式显示数据库中的数据