算法之分治

查看sogou和百度的詞條解釋,真是無言。html

分治法的精髓:算法

分--將問題分解爲規模更小的子問題;spa

治--將這些規模更小的子問題逐個擊破;htm

合--將已解決的子問題合併,最終得出「母」問題的解;blog

看到分就感受到這哪裏是什麼精髓,又看到治這個解釋徹底無言。去除了關鍵點,只能叫簡,不能叫精髓。排序

 

查看算法導論解釋。發現最精髓的紅色部分,被詞條完美的避過,真牛。遞歸

典型的分治:歸併排序,分爲小問題排序,再吧小排序合併爲更大的排序,直到排完。get

分:將問題劃分爲子問題,子問題的形式與元問題同樣,只是規模更小io

治:遞歸求解出子問題,若是子問題的規模足夠小,則中止遞歸,直接求解。百度

合:將問題的解組合成原問題的解。

 

因此分治就是,必須分解大問題。若是分解後是另一個問題。那沒有任何用處,必須是形式一直,規模更小。若是規模能夠無限小下去。也沒有意義。必須小到一個時候,是一個很簡單的問題,是能夠解決的。那麼就能夠倒推到最早的大問題是可解決的。

 

分治常見算法

各類常見排序,通常都是分治思想。

遞歸思路,  天生分治思想。

相關文章
相關標籤/搜索