Performance 以下代码在大O表示法中的时间复杂度是多少?
Performance 以下代码在大O表示法中的时间复杂度是多少?,performance,algorithm,big-o,time-complexity,Performance,Algorithm,Big O,Time Complexity,T(n)=8*T(n/2)+n*n T(n)=3*T(n/4)+n 我想用大O表示法计算时间复杂度。答案是什么(不使用主定理)主定理适用于T(n)=a*T(n/b)+n^c形式的任何递归。它查看并比较了重复周期的两个部分: 1) 此级别的恒定功的大小(c) 2) 递归调用的数量和大小(a和b) 从这里,我们将log_b(a)与c进行比较。有三种可能性 log\u b(a)>c->T(n)isO(n^log\u b(a)) log\u b(a)T(n)是O(n^c) log_b(a)=c->T(n
T(n)=8*T(n/2)+n*n
T(n)=3*T(n/4)+n
我想用大O表示法计算时间复杂度。答案是什么(不使用主定理)主定理适用于
T(n)=a*T(n/b)+n^c形式的任何递归。它查看并比较了重复周期的两个部分:
1) 此级别的恒定功的大小(c)
2) 递归调用的数量和大小(a和b)
从这里,我们将log_b(a)与c进行比较。有三种可能性
log\u b(a)>c
->T(n)
isO(n^log\u b(a))
log\u b(a)
->T(n)
是O(n^c)
log_b(a)=c
->T(n)
是O(n^c log(n))
所以对于你的两个例子
T(n)=8*T(n/2)+n*n
,因此a=8,b=2,c=2
,logu2(8)>2
,因此T(n)
是O(logu2(8))
=O(n^3)
T(n)=3*T(n/4)+n
,因此a=3,b=4,c=1
,log_4(3)<1
,因此T(n)
是O(n^c)
=O(n)
对于第一个关系,您可以执行以下操作:
答案是应用主定理。你能解释一下主定理是如何工作的吗?有人知道为什么我在添加这个问题时投了4张反对票吗?因为你不必在谷歌上搜索“主定理”,而只是希望其他人为你做工作。StackOverflow旨在帮助人们回答他们自己无法轻松回答的问题。通过在Wiki上查看master定理,我无法理解它。