2010-10-31 44 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