大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 分治算法詳解

分治算法詳解

更新時間:2021-02-04 17:38:46 來源:動力節點 瀏覽1233次

在計算機科學中,分治算法是一種很重要的算法。分治算法的基本思想是將一個規模為N的問題分解為K個規模較小的子問題,這些子問題相互獨立且與原問題性質相同。求出子問題的解,就可得到原問題的解。即一種分目標完成程序算法,簡單問題可用二分法完成。這個技巧是很多高效算法的基礎,如排序算法(快速排序,歸并排序),傅立葉變換(快速傅立葉變換)……

一、分治算法適用的情況

    分治算法所能解決的問題一般具有以下幾個特征:

    1) 該問題的規??s小到一定的程度就可以容易地解決

    2) 該問題可以分解為若干個規模較小的相同問題,即該問題具有最優子結構性質。

    3) 利用該問題分解出的子問題的解可以合并為該問題的解;

    4) 該問題所分解出的各個子問題是相互獨立的,即子問題之間不包含公共的子子問題。

第一條特征是絕大多數問題都可以滿足的,因為問題的計算復雜性一般是隨著問題規模的增加而增加;

第二條特征是應用分治法的前提它也是大多數問題可以滿足的,此特征反映了遞歸思想的應用;、

第三條特征是關鍵,能否利用分治法完全取決于問題是否具有第三條特征,如果具備了第一條和第二條特征,而不具備第三條特征,則可以考慮用貪心法或動態規劃法。

第四條特征涉及到分治法的效率,如果各子問題是不獨立的則分治法要做許多不必要的工作,重復地解公共的子問題,此時雖然可用分治法,但一般用動態規劃法較好。

二、分治算法的基本步驟

分治算法在每一層遞歸上都有三個步驟:

 step1 分解:將原問題分解為若干個規模較小,相互獨立,與原問題形式相同的子問題;

 step2 解決:若子問題規模較小而容易被解決則直接解,否則遞歸地解各個子問題

step3 合并:將各個子問題的解合并為原問題的解。

三、分治算法的一般的算法設計模式如下:

Divide-and-Conquer(P)

1. if |P|≤n0

2. then return(ADHOC(P))

3. 將P分解為較小的子問題 P1 ,P2 ,...,Pk

4. for i←1 to k

5. do yi ← Divide-and-Conquer(Pi) △ 遞歸解決Pi

6. T ← MERGE(y1,y2,...,yk) △ 合并子問題

7. return(T)

其中|P|表示問題P的規模;n0為一閾值,表示當問題P的規模不超過n0時,問題已容易直接解出,不必再繼續分解。ADHOC(P)是該分治法中的基本子算法,用于直接解小規模的問題P。因此,當P的規模不超過n0時直接用算法ADHOC(P)求解。算法MERGE(y1,y2,...,yk)是該分治法中的合并子算法,用于將P的子問題P1 ,P2 ,...,Pk的相應的解y1,y2,...,yk合并為P的解。

四、分治法的復雜性分析

一個分治法將規模為n的問題分成k個規模為n/m的子問題去解。設分解閥值n0=1,且adhoc解規模為1的問題耗費1個單位時間。再設將原問題分解為k個子問題以及用merge將k個子問題的解合并為原問題的解需用f(n)個單位時間。用T(n)表示該分治法解規模為|P|=n的問題所需的計算時間,則有:

 T(n)= k T(n/m)+f(n)

 分治算法實際上類似于數學歸納法,找到解決本問題的求解方程公式,然后根據方程公式設計遞歸程序。對于算法總體而言,很多算法都是有共通之處的,我們只要牢記這些共同的地方,在憑借著每個算法的特點來進行算法的區分。在本站的數據結構和算法教程中,對于算法整體有很好的總結和歸納,感興趣的小伙伴可以收藏,學好算法指日可待!

 

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 日本边添边爱边做视频 | 日本一本一区二区 | 国产成人免费a在线资源 | 亚洲视频二区 | 韩国色三级伦不卡高清在线观看 | 亚洲国产精品久久日 | 欧美高清免费精品国产自 | 草草免费视频 | 毛茸茸成熟女性老太的女bbww | 亚洲一欧洲中文字幕在线 | 亚洲一区二区三区久久 | 亚洲日本欧美产综合在线 | 毛片片 | 91国内视频在线观看 | 久久综合给会久久狠狠狠 | 97精品久久天干天天蜜 | 乱人伦精品一区二区 | 国产国产精品人在线视 | 动漫美女撒尿 | 亚洲成a人v大片在线观看 | 日日夜夜操视频 | 日本一区二区三区在线播放 | 99色视频在线观看 | 精品久久久久久中文字幕专区 | 成人精品视频在线 | 伊人365影院 | 天天爽影院一区二区在线影院 | 91亚洲国产三上悠亚在线播放 | 欧美国产一区二区二区 | 国产精品亚洲第一区广西莫菁 | 操综合| 欧美成人免费毛片 | 爆操大奶美女 | 欧美乱大交xxxxxbbb | 四虎在线看 | 青青热久久国产久精品秒播 | 亚洲成人xxx | 午夜国产在线观看 | 97在线视| 久久在线精品 | 日本夜爽爽一区二区三区 |