我试图了解lg *(n)[log *(n)以2为底的时间复杂度,而我发现其中哪个更快一些...有人可以解释吗,请?预先感谢。
[我以前从未见过lg*(n)
表示法,但是我假设您是指对数基数2与对数基数10。结果证明,log2(N) == log10(N) * 3.32192809489...
是一个常数因子差,当分析算法复杂度。结果,所有对数都被认为是相等的,并且我们无需费心指定算法复杂度的基数。
[研究实际运行时时,log10(N)比log2(N)快,但是很少有开发人员以这种方式实际分析运行时,他们通常使用探查器来完成。
根据Wikipedia,迭代对数(log *)是最慢的增长时间之一。实际上,在所有常用的复杂度中,它是第二慢的,仅被逆阿克曼函数击败。这意味着它的增长明显比log函数慢得多,因此完成起来也快得多。
来源:https://en.wikipedia.org/wiki/Iterated_logarithm#Analysis_of_algorithms