我试图找出如何解决递归方程,我可以很容易地他们用递归树方法,如果公式是这样的,比如做分数: T(1) = 1;
T(n) = n + 2T(n/2) for n > 1
但我无法理解如何解决其复发是由一小部分修改的方程式,这样的例子: T(1) = 1;
T(n) = n + 3/2T(.9n) for n > 1
哪有一个分支在树上3 /二路?使用递归树解决这个问题是不可能的?任何人
T(n) = { 0 If n = 0
{ T(square root n) + 1 If n > 0
我试图解决,通过使用替代 我的猜测:O(lg lg n) 通过使用感应 T(n) = c lg lg n
T(n) =< c (lg lg square root n) + 1
由于square root n = n^1/2 =< c(1/2 lg lg n) +
我很难完全理解如何为随机算法的预期运行时间编写循环。 我相信我做得很对,但如果有人能够查看它,那将是一个巨大的帮助。 下面是该算法的伪代码: printIntegers(A, n) // an array A of integers is the input, with n integers
if A.length > 0
for i = 1 to n
prin
我正在学习考试,教授给了我们一堆练习题,我们没有答案。这是其中之一,但我一直在努力,甚至不知道我是否朝着正确的方向前进。我甚至没有要求答案 - 只是有人指出我正确的方向? 我应该为以下函数开发一个动态编程算法(O(n^2)),该函数使用this recurrence找到expected number of acyclic orientations in a graph。 我想我应该使用主定理来解决