主定理
假设分治法中,递推公式如下
CLRS上的直观解释
- 前一部分比较大,占主要地位
- 两部分差不多, 乘以 lg(n)
- 后一部分比较大,占主要地位
例子
wiki上的三个例子
另: findKth a=1 b=2 f(n)=O(n) 根据第3条, 复杂度是 O(n)
这三个例子也都比较方便使用递归树进行解释,详细如下:
1. 折半搜索
一共lg(n) 层, 每层为 O(1)。 复杂度是 lg(n).
2. 二叉树遍历
一共lg(n) 层, 每层的操作数不一样, 第一层是1,第二层是2,第n层是2^n, 利用等比数列的知识, 可以得到复杂度是 O(n)
3. 归并排序
一共lg(n) 层, 每层为 O(n)。 复杂度是 O(n*lg(n)).
特例
出现在情况三种,先不管
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。