在126頁,第12.2節的:概率選擇從5 2號(從編程珍珠,第二版)
該算法考慮整數0,1,2,...,N-1,以便,並通過適當的隨機測試來選擇每一個 。通過訪問整數,我們 保證輸出將被排序。
爲了理解選擇標準,讓我們考慮M = 2 的例子,且n = 5。我們應該以2/5的概率選擇第一個整數0;一個 程序實現,通過像
if (bigrand() % 5) < 2
我的問題是一個命題,爲什麼選擇的第一個整數的概率是2/5,而不是1/5?不應該從5個數字中隨機選擇一個數字的概率是1/5?
這裏真是莫名其妙。希望有人能在這裏提供一些解釋。
謝謝!
'bigrand()%5'可以給0,1,2,3,4,和其中2(0和1)是小於2 – nhahtdh
什麼是該算法的目標是什麼?以相等的概率選擇N個數字中的M個? – dfb