2010-10-31 43 views

回答

2

答案是正确的,在引文。向下滚动到的javadoc:

* @param r   upper bound for the random range 

这听起来好像r应该是树中的节点的数量。你同意吗?

我随机选择从 二叉树的节点,我必须建立一个 黑箱测试,证明 有几乎相同的概率被选中的 所有节点。

我不明白这一点。你做?它似乎不是对树数据结构的测试,而更多是关于您用来选择要选择的节点的随机算法。这个结果证明了什么?

请告诉我你在做什么,请。这是我想象的:

  1. 你有你的树中的节点列表。
  2. 您可以使用随机算法以某种方式选择要从树中选择的节点。
  3. 您遍历您的树来找到该节点。

如果树中有r个节点,每个节点应该有1/r的选择概率。这是一个多维的,右侧的硬币或死亡。对?

这棵树可能会带来另一个元素:如果被选中的机会取决于你在树中的位置以及你是否被允许回溯,概率将被改变。如果是这种情况,每个节点选择的机会都不相同。从根开始意味着您可以访问所有子节点。处于第一级并且不能够回溯消除了根和所有其他第一级节点的考虑,等等。

你试图解决哪个问题?

+0

基本上我只能访问返回的值,但我创建了一个平衡的测试树,其中每个节点的值都是一个简单的计数器:)所以,我想你是对的。我们能否假设它是可能的返回值范围的平均值? (对不起,如果这听起来令人困惑...)非常感谢 – DiogoNeves 2010-10-31 15:18:28

+0

这是一直失败,但我认为C兰特()是不够好... – DiogoNeves 2010-10-31 15:44:18

+0

“失败”是什么样子? – duffymo 2010-10-31 15:53:30