單次遍歷,等概率隨機選取問題

問題描述:假設我們有一堆數據(可能在一個鏈表裏,也可能在文件裏),數量未知。要求只遍歷一次這些數據,隨機選取其中的一個元素,任何一個元素被選到的概率相等。O(n)時間,O(1)輔助空間(n是數據總數,但事先不知道)。 引例: 5個人抽5個籤,只有一個籤意味着「中籤」,輪流抽籤,從很久很久以前我們就認爲這個是非常公平的例子,這個應該不用去懷疑吧。如果懷疑了,好吧,看下面的分析: 分析: 設Ai爲第i
相關文章
相關標籤/搜索