設萬維讀者為首頁 廣告服務 技術服務 聯繫我們 關於萬維
簡體 繁體 手機版
分類廣告
版主:
萬維讀者網 > 靈機一動 > 帖子
判斷樣本半數的一個方法
送交者: 田苗 2006年06月11日08:52:06 於 [靈機一動] 發送悄悄話

N個樣本,如何判斷半數或更多樣本是相同的?如果有,並找出這樣本。

我這裡提出一個方法。肯定能成功。但是否最佳,不確定。最壞情況估計在2.2N左右。

為了便於描述清楚,設有袋子A,B,C,一開始樣本全部在袋子A里。另外設有筐子M只,用來放同類樣本。

一開始,從A里取兩個樣本。取一筐子作第一個同類筐子。

1:比較兩樣本,結果:(a)不一樣,(b)一樣。

2:如果是(a),把從A里取的樣本丟在B里,把從C里取的樣本丟在同類筐子裡。

如果是(b),則把兩樣本全丟在C里。這時如果C里的樣本已夠半數,就可結束(當然如果N是偶數的話,還要確證一下是否另一半也全是一樣的)。

3:如果(I):A里已空(C里必定有樣本),或者(II):A和C里加起來只有四個或五個樣本(取決於N是偶數還是奇數),去4。

否則,如果C里有樣本,就分別從A和C里各取一樣本。如果C里是空的,則從A里取兩個樣本。從A里取兩個樣本時,如果同類筐里不空,則換一個空的。回到1。

4:如果是(I),則把C里的樣本定為候選者。如果是(II),則比較A和C里剩下的。如剩下的是四個,如果四個裡有兩個或兩個以上是一樣的,就把這樣本定為候選者。如四個裡有兩對,那把這兩種樣本都定為候選者。如剩下的是五個,裡面至少有三個是一樣的,那就把這個樣本定為候選者。

5:如沒有候選者,則樣本里沒有可達半數的樣本。如有候選者,就拿候選者先與同類筐里的樣本比較(每個筐里只要比一個就行了;如找到一樣的同類筐,就可跳過其餘的同類筐),然後如需要,再和B里的樣本逐個比較,直到達半數,或者可以確定不可能達半數為止。

注意,如不能設同類筐,則在兩樣本不一樣時,全丟B。最後如有候選者,就拿候選者直接與B里的樣本逐個比較。

0%(0)
0%(0)
標 題 (必選項):
內 容 (選填項):
實用資訊
回國機票$360起 | 商務艙省$200 | 全球最佳航空公司出爐:海航獲五星
海外華人福利!在線看陳建斌《三叉戟》熱血歸回 豪情築夢 高清免費看 無地區限制
一周點擊熱帖 更多>>
一周回復熱帖