Algorithm 数学算法-如何求解和替换?
我无法理解算法背后的基本数学。例如,这里有一个问题: 如果 f(n)=O(g(n)) 是 f(n)*log(f(n)^c)=O(g(n)*log(g(n))) ?Algorithm 数学算法-如何求解和替换?,algorithm,math,Algorithm,Math,我无法理解算法背后的基本数学。例如,这里有一个问题: 如果 f(n)=O(g(n)) 是 f(n)*log(f(n)^c)=O(g(n)*log(g(n))) ? 我该如何回答这个问题?根据我到目前为止的理解,f(n)=O(g(n))只有当g(n)时,你才能这样做: f(n)*log(f(n)^c)=c*f(n)*log(f(n))=O(1)*O(g(n))*log(O(g(n))=O(1)*O(g(n))*O(log(g(n))=O(g(n)*log(g(n)) 所以这个问题的答案是正确的,这
我该如何回答这个问题?根据我到目前为止的理解,f(n)=O(g(n))只有当g(n)时,你才能这样做:
f(n)*log(f(n)^c)=c*f(n)*log(f(n))=O(1)*O(g(n))*log(O(g(n))=O(1)*O(g(n))*O(log(g(n))=O(g(n)*log(g(n))
所以这个问题的答案是正确的,这里需要的就是对数函数的性质
这里有一个步骤不清楚:为什么log(O(g(n))=O(log(g(n))
?证明:如果
f(n)=O(g(n))
,则存在一个常数C
,对于足够大的n
f(n)f(n)=O(g(n)),你的意思是
存在一个k,使得f(n)=n_1。---1
这意味着log(f(n)^c)我很困惑,你是怎么得到这个的:log(c*g(n))=log(g(n))+c?它应该这样读吗:log(c)+log(g(n))?你能解释一下C2部分吗?我不太明白。1)C2是什么,为什么你把它等于2?2) 这是如何工作的:log(f(n))@haosmark C2只是另一个常数。对于足够大的n,log(C)log(C)+log(g(n))>=log(f(n))。你知道一本书或一本资源有类似的问题和解决方案(有解释)?我在这个问题上很不稳定