算法学习

数据结构与算法学习(二)——Master公式及其应用

2019-11-08  本文已影响0人  namedsatan

1. Master公式是什么?

我们在解决算法问题时,经常会用到递归。递归在较难理解的同时,其算法的复杂度也不是很方便计算。而为了较为简便地评估递归的算法复杂度,Master公式应运而生。下面给出Master公式的维基百科链接

1.1 Master公式

T(N) = a*T(\frac{N}{b}) + O(N^d)

  • a:子问题被调用的次数
  • \frac{N}{b}:子问题的规模
  • N:母问题的规模
  • d:额外操作的次数
  1. log_{b}a < d时,O(N^d)
  2. log_{b}a > d时,O(N^{log_{b}a})
  3. log_{b}a = d时,O(N^d*logN)

2. Master公式的应用举例

使用递归求最大值

3. 注意事项

使用Master公式分析递归问题复杂度时,各子问题的规模应该是一致的,否则不能使用Master公式。

本人系菜鸟一枚,所写文章皆为学习总结,大佬请轻喷😱
谢谢阅读😘,欢迎补充!

上一篇 下一篇

猜你喜欢

热点阅读