算法之分治

查看sogou和百度的词条解释,真是无言。html

分治法的精髓:算法

分--将问题分解为规模更小的子问题;spa

治--将这些规模更小的子问题逐个击破;htm

合--将已解决的子问题合并,最终得出“母”问题的解;blog

看到分就感受到这哪里是什么精髓,又看到治这个解释彻底无言。去除了关键点,只能叫简,不能叫精髓。排序

 

查看算法导论解释。发现最精髓的红色部分,被词条完美的避过,真牛。递归

典型的分治:归并排序,分为小问题排序,再吧小排序合并为更大的排序,直到排完。get

分:将问题划分为子问题,子问题的形式与元问题同样,只是规模更小io

治:递归求解出子问题,若是子问题的规模足够小,则中止递归,直接求解。百度

合:将问题的解组合成原问题的解。

 

因此分治就是,必须分解大问题。若是分解后是另一个问题。那没有任何用处,必须是形式一直,规模更小。若是规模能够无限小下去。也没有意义。必须小到一个时候,是一个很简单的问题,是能够解决的。那么就能够倒推到最早的大问题是可解决的。

 

分治常见算法

各类常见排序,通常都是分治思想。

递归思路,  天生分治思想。

相关文章
相关标签/搜索