日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

算法系列: 10大常見排序算法: 分治的原理

 長(zhǎng)沙7喜 2019-02-10
一句

 分治法“分而治之”(Divide-and-Conquer),就是把一個(gè)復(fù)雜的問(wèn)題分成兩個(gè)或更多的相同或相似的子問(wèn)題的策略

在計(jì)算機(jī)科學(xué)中,分治法是一種很重要的算法。字面上的解釋是“分而治之”,就是把一個(gè)復(fù)雜的問(wèn)題分成兩個(gè)或更多的相同或相似的子問(wèn)題,再把子問(wèn)題分成更小的子問(wèn)題……直到最后子問(wèn)題可以簡(jiǎn)單的直接求解,原問(wèn)題的解即子問(wèn)題的解的合并。這個(gè)技巧是后面要介紹的幾個(gè)高效排序算法的基礎(chǔ),所以今天就講分治。


一個(gè)例子

問(wèn)題:在全美國(guó)找到個(gè)子最高的那個(gè)人

美國(guó)有2億多人,我們顯然不會(huì)把2億多人排一排,然后一個(gè)個(gè)比較。


常用策略是選出每個(gè)州的冠軍。這就是“分”的過(guò)程


然后再總決賽,選出全美傻大個(gè)冠軍。這就是“治”的過(guò)程。當(dāng)然各個(gè)州比賽下面也可以再繼續(xù)細(xì)分為各個(gè)縣的比賽,各個(gè)縣可以細(xì)分為各個(gè)學(xué)校的比賽。。。


為什么分治策略奏效?

先來(lái)看個(gè)例子:

聚會(huì)有10個(gè)人。如果每個(gè)人都和其他所有人打招呼,聚會(huì)一共有多少次招呼?

顯然是9*10=90次。

聚會(huì)人多嘈雜,怎么辦?把10人分到2個(gè)房間里,或者分為2組,一組5個(gè)人。 只有同組的人相互打招呼。那么每組中的5個(gè)人相互打了 4*5=20個(gè)招呼。2組一共打了20+20=40個(gè)招呼,相比10個(gè)人打90個(gè)招呼,清凈太多了!


簡(jiǎn)單的結(jié)論

分治法的設(shè)計(jì)思想是,將一個(gè)難以直接解決的大問(wèn)題,分割成一些規(guī)模較小的相同問(wèn)題,以便各個(gè)擊破,分而治之。

任何一個(gè)可以用計(jì)算機(jī)求解的問(wèn)題所需的計(jì)算時(shí)間都與其規(guī)模有關(guān)。問(wèn)題的規(guī)模越小,問(wèn)題的復(fù)雜程度降低的越多,越容易直接求解。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多