常用十大算法复杂度之一:分治算法

分治的前提

1. 一个大的问题可以分割为n个小的问题, 并且小问题的解决方式与大问题的一致

2. 问题可以分割

3. 解决结果可以合并

分治算法的典型分类

================Decreasing=================

1. T(n) = T(n-1)+1        O(n)

2. T(n) = T(n-1) + n        O(n^2)

3. T(n) = T(n-1) + logn        O(nlogn)

4. T(n) = 2T(n-1) +1            O(2^n)

5. T(n) = 2T(n-1) + n            O(n2^n)

================Dividing======================

6. T(n) = T(n/2) +1              O(logn)


7. T(n) = T(n/2) +n              O(n)

8. T(n) = 2T(n/2) +n             O(nlogn)

================Root=========================

9. T(n) = T(n½) +1                O(loglogn)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容