Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 是O((对数n)!)多项式吗?_Algorithm_Time Complexity_Big O - Fatal编程技术网

Algorithm 是O((对数n)!)多项式吗?

Algorithm 是O((对数n)!)多项式吗?,algorithm,time-complexity,big-o,Algorithm,Time Complexity,Big O,我想找到O((日志n)!)。我认为O((logn)!)和O(n!)是相等的!因为我认为当n是无限的(logn)和n是相等的。这是真的吗?如果是,我如何证明?如果不是的话,O((logn)!)多项式?让我们回到一些基本数学: 我们知道如果log a>log b,那么a>b:(log base大于1) 现在我们知道log(N!)=NLogN() 保持相同的参数,我们得到,log((logN)!)=logN logN 自, log(N!)为多项式次,log((logn)!)为对数阶, 清晰地 O(N

我想找到
O((日志n)!)
。我认为
O((logn)!)
O(n!)
是相等的!因为我认为当n是无限的
(logn)
n是相等的。这是真的吗?如果是,我如何证明?如果不是的话,
O((logn)!)
多项式?

让我们回到一些基本数学:
我们知道如果log a>log b,那么a>b:(log base大于1)

现在我们知道log(N!)=NLogN()

保持相同的参数,我们得到,log((logN)!)=logN logN 自,
log(N!)为多项式次,log((logn)!)为对数阶,
清晰地 O(N!)>O((logN)!)

希望这能有所帮助。

使用$n!~\sqrt{2\pin}\frac{n}{e}^n(1+O(frac{1}{n}))$,使用$\log{n}$的相同公式,可以检查$n!$前导因子是$n^n$,而$\log{n}!$的前导因子是$n^n$相同的因子变成$\log{n}^\log{n}$。通过使用$\ln{n}\leq n-1$这一事实,我相信您可以很容易地证明$O(\log{n}!)$小于$O(n!)$。

我想接下来的问题是
(logn)是多项式有界的。它显然不是多项式本身斯特林近似给出了

n!≤英文^[n+1/2]*e^(−n) 

所以

(日志n)!≤e(对数n)^[1/2+对数n]*e^(−日志n)

现在
(logn)^logn=(e^logn)^logn=e^[(logn)⋅(logn)]

因此,增长顺序大约是
e^[(logn)(loglogn)−logn]=n^[(logn)−1] 

不幸的是,这不受任何多项式的限制,因为
loglogn
最终将超过任何正整数

例如,比较
(log n)带有
n^2

n=e^10时,(对数n)=3480,而
(e^10)2≈4.85×108

n=e^100时,(对数n)!≈10157

,而
e^200≈1086

既然已经完成了正确的数学运算,那么让我添加一个更直观的解释,说明为什么对于任何给定的
c
,O(log(n)!)>O(n^c)
。我们假设对数以2为底,为简单起见,选择
c
作为10。(该论点同样适用于不同数量的通用值)

那么,为什么
log(n)
n^10
更大吗?让我们看看两个函数的值在2的功率,更具体地说,它们比2的最后一个功率增长了多少。(
n=2^p
从现在开始)

log(2^p)!=p*log(2^(p-1))
(2^p)^10=2^10*(2^(p-1))^10
。这可能看起来很复杂,但它告诉我们,
log(n)
函数将在
2
的每个
p
次方将其值乘以
p
,但
n^10
将仅将其值乘以
1024
,因此
日志(n)最终将变得越来越大

另外,
log(n)
的增长速度比任何指数都慢,通过观察
n
增长1时两个函数的值相乘的程度,可以得出类似的结论。

“当n为无穷大(logn)!且n!相等时”-首先,你可以这样说任何递增函数。n、 n^2,n^3,nlog(n),任何东西。第二,我们不能将无穷大插入n!或(对数n)!,这不是big-O符号所描述的。