3.6次序統(tǒng)計.ppt_第1頁
3.6次序統(tǒng)計.ppt_第2頁
3.6次序統(tǒng)計.ppt_第3頁
3.6次序統(tǒng)計.ppt_第4頁
3.6次序統(tǒng)計.ppt_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、1,.,Order Statistics,(次序統(tǒng)計),- 找第k最小元,2,問題: 已知n元數(shù)組A1:n,確定其中第k最小的元。, 最容易想到的算法是采用一種分類算法先將數(shù)組按不降的次序排好,然后從排好序的數(shù)組中撿出第k小的元素。但這樣的算法在最壞情況下至少是O(nlogn),甚至可達(dá)O(n)。 實際上,我們可以設(shè)計出時間復(fù)雜性為O(n)的算法。,3,6.1,找第k最小元,- 分治策略劃分,4,按某個mS,把S分成三個小集合s1,s2,s3 例如,取m=6 3 2 5 6 6 6 9 7 8 8 s1 s2 s3,如果 k|s1|,那么k元就在s1中。 如果 k|s1|+|s2|,那么k元就

2、在s2中,即k元就是m=6。 如果 k|s1|+|s2|,那么k元就在s3中。 這就把問題分成了小的問題,s1 或s3。,5,但是要得到O(n)算法,還必須: s1,s2都不超過S長的某固定分?jǐn)?shù),以便 遞歸。顯然,m 最好是中間元或接近中 間元。 2.找m的時間不得高于O(n)。,6,下面舉例說明找m的方法: 例如,n=35, m=?,7,把S分成幾個小序列,每個序列5個元,分別分揀好。把所有中間元合成序列M,求M序列中間元m。 我們按上圖:5個元小序列按縱向分揀(上小,下大),M是按橫向分揀(左小,右大),那么由圖可知: 至少有 的元大于或等于m,即小于m的元(集合s1)最 多有 個元。 至

3、少有 的元小于或等于m,即大于m的元(集合s3)最 多有 個元。,8,算法3.6.1: 查找S中第k最小元 Procedure FIND( k, S ) (P.59) 1. if |S|50 then begin sort S; return Kth smallest element in S end else begin 2. 把S分成5元小序列,不足5的余數(shù)另行處理; 分揀5元小序列; 設(shè)M為5元小序列中間元的集合; 3. mFIND( , M ),9,4. 把S如上述分成s1,s2,s3; (m為分裂元,3個集合中的元分別小于、等于、大于m) 5. if |s1| k then retu

4、rn FIND( k, s1 ) else 6. if ( |s1| + | s2| k ) then return m else (即 k 元在 s2 中,也就是分裂元 m) return FIND( k - |s1| - |s2|, s3 ) end 注:該算法語句編號與書上有區(qū)別!,2和3是找中間元,3遞歸多次,直到|M|50為止。,10,例如,n=260 第1輪: 2. 把S分成52個5元序列, 3. FIND(26,M);此時|M|=52(52個中間元的集合) 第2輪: 2. 把M分成10個5元序列, 余下的2個元暫置一邊。 3. FIND(5,M1); 此時|M1|=10 第3輪: 1. 給出了M1序列第5元 回到第2輪3 回到第1輪3 (mM1的第5元),11,為什么選5元小序列? 排列5元小序列的代價不高 算法3.6.1有2次遞歸:3、5或3、6 |M|+|s1|和|M|+|s3|都應(yīng)小于|S|, |M|最多是|S|的 ;|s1|或|s3|最多是|S|的 ; 兩者相加,最多只是,12,6.2,算法的時間復(fù)雜性,13,時間復(fù)雜性: 當(dāng)n50時,執(zhí)行1, T(n)cn for n50 |M|最多只有 ; 第3句最多是 |s1|,|s3|最多是 ; 第5(或6)句最多是

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論