统一递归树的Java实现

统一递归树的Java实现,java,tree,Java,Tree,我能够找到这么多树的实现,比如 现在我正在寻找在Java中实现统一递归树。本文详细介绍了一致递归树。 提前感谢您的帮助。实际上,这并不难实现。基本上从一个n元树开始,您所要做的就是找出如何将一个节点作为子节点添加到树中的一个现有节点 对于具有k节点的树,新节点k+1可以成为先前k节点(即,集合{1,2,…,k}中的任何节点)的子节点 您需要的是树中当前存在的所有节点的列表。我认为这是树数据结构中一个独立的内部结构。然后,您必须弄清楚如何选择树的一个节点。这是通过概率函数实现的。我发现这部分有

我能够找到这么多树的实现,比如

现在我正在寻找在Java中实现统一递归树。本文详细介绍了一致递归树。


提前感谢您的帮助。

实际上,这并不难实现。基本上从一个n元树开始,您所要做的就是找出如何将一个节点作为子节点添加到树中的一个现有节点

对于具有
k
节点的树,新节点
k+1
可以成为先前
k
节点(即,集合
{1,2,…,k}
中的任何节点)的子节点

您需要的是树中当前存在的所有节点的列表。我认为这是
数据结构中一个独立的内部结构。然后,您必须弄清楚如何选择树的一个节点。这是通过概率函数实现的。我发现这部分有点不清楚,这主要是因为我忘记了很多概率论的东西(我在学校里讨厌概率论)。但这篇论文确实解释了如何计算概率。基本上你有一系列的概率质量函数。因此,如果您有一个节点
1
,然后有一个节点
2
,则节点
2
将附加到节点
1
(因为只有一个节点可供
2
附加)。节点
3
将以
p(2,1)
的概率连接到节点
1
,或以
p(2,2)
的概率连接到节点
2
。但是,您必须确保:

p(k, i) >= 0
以及:


一个简单的实现是从现有节点列表中随机选择一个节点

在我看来,没有实施;你得自己滚。
sigma(p(k, i)) from i = 1 to k equals 1