一、Master公式的含义
二、Master公式的用处和适用范围
三、推导
归并排序通常分为递归和非递归两种版本的写法,通过非递归的写法,我们可以清晰地看出其n*logN的时间复杂度,但递归的写法就显得不那么直观了。那么,我们在处理这种子问题规模相同的递归问题时有没有什么方便的公式能快速地求解呢?
答案就是这篇文章的所讲的Master公式。
1.含义
注释:n代表数据的规模,a代表子过程调用的次数,b代表拆分成了多少个子问题。
2.用处
此公式可以快速地帮助我们快速计算子规模相同的递归问题的时间复杂度,节省时间。
注意:此公式专门适用于子问题规模相同的情况,不平均拆分的情况并不适用。
3.推导
具体的推导过程大家可以看B站上的这个视频
【Proving_the_Master_Theorem】 https://www.bilibili.com/video/BV1K54y1y7kk/?share_source=copy_web&vd_source=3254543d45eb20829f2c93186801f61f
其中涉及较多数学,这里就不再赘述。