我如何解决这种重复关系? T(n)= 4T(n / 3)+ lg n
我知道Master-Theorem-Case 1适用,但我不明白为什么。直到现在我接近这个的方式就是这个。 a = 4,b = 3,f(n)= lg n。
是lg n =(lg10 n)还是(lg2 n)我知道因为(lge n)它并不重要但我仍然不明白为什么它不重要,如果它是lg10或lg2。我可以计算(lg10 n)/(lg2 n)或者......并且由于某种原因它无关紧要但是为什么?...但让我们继续。
n ^ log3 ^ 4~1.26但是n ^ n的含义是什么。
另一个例子也许你了解我。 如果我有f(n)= n的平方根而不是lg n则它将是f(n)= n ^ 0.5。 因此,对于e> 1,n ^ 1.26 <= n ^ 0.5。对于e = 1,第一种情况,f(n)变为n ^ logb ^(a-e)= n ^ log3 ^(4-1)= n ^ log3 ^ 3的元素。 n ^ 0.5的n ^ 0.5元素?是?因为它更小?所以这导致n ^ logb ^ a,或T(N)= O(N ^ logba)或O(n ^ log3 ^ 4)。
如果这是正确的,我如何按照这种方式进行f(n)= lg n?
我希望你理解我的问题,我无法正确格式化所有n ^ logba的东西。
答案 0 :(得分:1)
没有。对数函数的增长率小于指数大于0的任何多项式函数。也就是说,即使像x ^ 0.0000001这样的东西最终也会比log x增长得快。
所以在这种情况下它的O(n ^ log_3 4)。