我有可以拥有子组的组。子组可以有自己的子组,依此类推。这种树状结构的深度没有限制。
我一直在阅读有关Tries的内容,http://en.wikipedia.org/wiki/Trie。在我看来,我设想的数据结构类似于Trie,但有一些差异。
首先,在我的例子中,值与每个节点相关联。 (例如,值可以是组名称和组描述)。虽然Trie结构允许这样做,但我想知道是否有一个更具体的名称,该变量具有与每个节点相关的值?
其次,我有多个根源。另一种看待这种情况的方法是我有一系列相关的尝试。是否有一个数据结构的名称是Tries的集合?
我试图在PHP中实现它。如果你有任何令人印象深刻的提示。
编辑:我希望能够添加','编辑','删除'和'检索'节点。 (无需移动'。)检索将经常发生,但不会发生其他操作。我并不太担心性能,因为这不是整个应用程序中最常用的部分。
谢谢!
答案 0 :(得分:2)
你所描述的并不是真正的特里。 trie更像是一个状态机,它将键与值相关联,同时将键的一部分导航为节点。
您描述了一个通用的根树。一个简单的特里也是一棵树。有trie-like structures that aren't trees。大多数看起来像树的东西都是树木。
树木的集合称为forest。