本文介绍了谁生长较快? nlgn或LGN! ?以及如何获得T(N)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个算法n为数组的长度。和binary_search的(阵列,O,N值)的T(n)是T(N)=西塔(LGN)。
I got a algorithmn is array's length.and binary_search(array, 0, n, value) 's T(n) is T(n) = Theta(lgn).
CHECK_VALUE_IN_ARRAY(array, n, value)
for i = 1 to n
binary_search(array, i, n, value)
如何获取T(n)的?下面是我的步骤:
how to get T(n) ?Here is my steps:
T(n) = c(lg(1) + lg(2) + lg(3) + ...+ lg(n))
= clgn!
= Theta(lgn!)
这是正确的?
Is this right?
2)如果这是正确的? 谁更快增长? nlgn VS LGN!
2) If this is right? Who grows faster? nlgn vs lgn!
非常感谢你。
推荐答案
对于大型 N
两者是相同的,更多的precisely它们的比值收敛于1更precisely,你大概
For large n
both are identical, more precisely their ratio converges towards 1. Even more precisely, you have roughly
log(n!) == n*(log(n)-1)
如果你想准确的说,你会发现
If you want to be exact, you will find
log(n!) == n*(log(n)-1) + 1/2*log(2*Pi*n) + O(1/n)
编辑::一种很好的来源,这是wolframalpha.com,要求系列(!的log(n))
A good source for this is wolframalpha.com , ask for Series(Log(n!))
这篇关于谁生长较快? nlgn或LGN! ?以及如何获得T(N)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!