Algorithm 两种复杂度递推关系的区别

Algorithm 两种复杂度递推关系的区别,algorithm,recursion,recurrence,Algorithm,Recursion,Recurrence,下面是两个递归关系 T(n)=T(n/2)+T(n/2)+C T(n)=T(n/2)*T(n/2)+C 两者的时间复杂度是否相同?我可以这样写两个递归关系吗 T(n)=2T(n/2)+C (1) 显然与(3)相同:T(n/2)+T(n/2)=2t(n/2)。那是基础数学 (1) 与(2)不同,不难看出这些关系的解决方案是完全不同的。(1) =(3)意味着对于两倍大的数据,复杂性度量大约是线性复杂性的两倍。(2) 这意味着对于两倍大的数据,复杂性是平方指数复杂性。当然不是!!!为什么?2T(n/2

下面是两个递归关系

  • T(n)=T(n/2)+T(n/2)+C
  • T(n)=T(n/2)*T(n/2)+C
  • 两者的时间复杂度是否相同?我可以这样写两个递归关系吗

  • T(n)=2T(n/2)+C
  • (1) 显然与(3)相同:T(n/2)+T(n/2)=2t(n/2)。那是基础数学


    (1) 与(2)不同,不难看出这些关系的解决方案是完全不同的。(1) =(3)意味着对于两倍大的数据,复杂性度量大约是线性复杂性的两倍。(2) 这意味着对于两倍大的数据,复杂性是平方指数复杂性。

    当然不是!!!为什么?2T(n/2)并不意味着函数t将被调用两次。非常感谢您的友好响应。如果我用主定理来计算T(n)=2T(n/2)+1的复杂度,就得到了Theeta(n),或者我用反代换法来求解它。你能帮我解T(n)=T(n/2)*T(n/2)+1吗?我认为复杂性不会是指数级的,但会是O(n^2),如果我错了,请纠正我。非常感谢。