# 分治法小记

将一个规模为n的问题分解为k个规模较小的子问题,这些子问题互相独立且与原问题相同。

递归地解这些问题,然后将各个子问题的解合并在一起,从而得到原问题的解。

# 分治法的基本框架

规模很小的时候直接求解,如果规模较大,就将其分为k个子问题,用递归分别去解。

# 二分搜索有序表

二分搜索有序表,每次循环查找区间减半,查找区间构成一颗二叉树,最坏的情况是一直走到二叉树的叶子节点。因此算法的复杂度为log n + 1。

# 分治法的时间复杂性

子问题的复杂性当然低于原问题。但是整体上能否降低复杂性还取决于合并。通过降低合并的复杂性,可以降低原问题求解的复杂性。

有时候如果没有更好的方法的话,可以使用一些计算上的小技巧来处理降低时间复杂度。

# 致谢

感谢大家阅读我的文章,如果对我感兴趣可以点击页面右上角,帮我点个star。

作者:前端小然子

链接: https://xiaoranzife.com/guide/arithmetic/0.%E5%88%86%E6%B2%BB.html

来源:前端小然子的博客

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

上次更新: 2019-11-11 10:18:25 ├F10: AM┤