UPD: I将原始问题移到https://codereview.stackexchange.com/questions/127055/building-tree-graph-from-dictionary-performance-issues
这是一个简短的版本,没有代码。
我正试着从字典中建立一个前缀树。因此,使用以下字典'and','anna','ape','apple',图应该如下所示:

我尝试过两种方法:使用关联数组和使用自写树/节点类。
注:原始字典约为8MB,包含>600000字。
问题:有什么好的(快速/有效的)方法吗?
我已经试过了:
inserting函数之外,甚至没有实现任何东西)。示例代码可在codereview (所讨论的第一个链接)上获得。
发布于 2016-05-06 10:50:28
只要我已经转到C++,并且在codereview上得到了一个很好的答案,我就在这里回答我自己的问题。
还有一种方法可以通过增加内存使用来提高时间效率(与"array of arrays of arrays.“相比,这并不是很大的增长)。办法)。这种方法称为“双数组trie”,您可以阅读有关这个主题的信息( 这里 ),并阅读codereview上的上述答案,以查看实现的示例。
它具有更高的时间效率,但它为以后的trie使用提供了更少的灵活性/便利性(与OOP方法相比)。
因此,对我来说,这个问题的最后一个答案是:"php不是与真正的大尝试一起工作的最佳工具“。
https://stackoverflow.com/questions/36938662
复制相似问题