利用主定理说明以下时间函数的复杂度: T(n) = 9T(n/3) + n ;T(n) = T(2n/3) + 1 ;T(n) = 3T(n/4) + nlogn;T(n)=2T(n/2)+2
时间: 2023-06-07 20:08:38 浏览: 79
1. T(n) = 9T(n/3) n:
根据主定理的公式,a=9,b=3,d=1,因为logb(a)>d,所以T(n)的时间复杂度为O(nlog3(9))。
2. T(n) = T(2n/3) 1:
根据主定理的公式,a=1,b=3/2,d=0,因为logb(a)=0<d,所以T(n)的时间复杂度为O(1)。
3. T(n) = 3T(n/4) nlogn:
根据主定理的公式,a=3,b=4,d=nlog4(3),因为logb(a)<d,所以T(n)的时间复杂度为O(nlog4(3))。
4. T(n)=2T(n/2) 2:
根据主定理的公式,a=2,b=2,d=2,因为logb(a)=1=d,所以T(n)的时间复杂度为O(nlogn)。
相关问题
利用主定理说明以下时间函数的复杂度: T(n) = 9T(n/3) + n ;T(n) = T(2n/3) + 1 ;T(n) = 3T(n/4) + nlogn
对于第一个时间函数 T(n) = 9T(n/3) + n,我们可以使用主定理来判断其时间复杂度。其中,a = 9,b = 3,f(n) = n。根据主定理,这个时间函数的复杂度为 O(nlogb(a)) = O(nlog3(9)),即 O(n2.177)。
对于第二个时间函数 T(n) = T(2n/3) + 1,同样可以使用主定理来判断其时间复杂度。其中,a = 1,b = 3/2,f(n) = 1。根据主定理,这个时间函数的复杂度为 O(logb(a)) = O(log3/2(1)),即 O(0),也就是常量时间复杂度。
对于第三个时间函数 T(n) = 3T(n/4) + nlogn,同样可以使用主定理来判断其时间复杂度。其中,a = 3,b = 4,f(n) = nlogn。根据主定理,这个时间函数的复杂度为 O(nlogb(a)) = O(nlog4(3)),即 O(n1.26logn)。
利用主定理说明以下时间函数的复杂度: T(n) = 9T(n/3) + n ;T(n) = T(2n/3) + 1 ;T(n) = 3T(n/4) + nlogn;T(n)=2T(n/2)+n
根据主定理,对于时间函数 T(n) = 9T(n/3) + n,其中 a = 9,b = 3,d = 1,可以得到 T(n) 的复杂度为 O(nlogb a) = O(nlog3 9)。
对于时间函数 T(n) = T(2n/3) + 1,其中 a = 1,b = 3/2,d = 0,可以得到 T(n) 的复杂度为 O(logb n) = O(log3/2 n)。
对于时间函数 T(n) = 3T(n/4) + nlogn,其中 a = 3,b = 4,d = nlogn,可以得到 T(n) 的复杂度为 O(nlogb a) = O(nlog4 3)。
对于时间函数 T(n) = 2T(n/2) + n,其中 a = 2,b = 2,d = n,可以得到 T(n) 的复杂度为 O(nlogb a) = O(nlog2 2) = O(n)。