使用涉及 n 阶乘的 theta 符号的渐近分析



如果我有一个在log(n^(5/4)!)时间内运行的算法,我怎么能把它表示为log(n)?只是我知道log(n!)会渐近等于nlog(n),但是(5/4)会改变什么吗,如果它改变了呢?

好问题!正如你log(n!) = O(n log n)指出的.由此可知,

log(n^{5/4}!) = O(n^{5/4} log n^{5/4}) = O(n^{5/4} log n)

最后一个等式紧随其后,因为log n^{5/4} = (5/4)*log n.

因此,您可以将表达式简化为O(n^{5/4} log n)

答案是肯定的,指数中5/4的因素很重要:函数n^{5/4}的渐近增长速度比n快,所以你不能忽视它。(例如,

这是由于n^{5/4}/n = n^{1/4}的事实。

最新更新