Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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
Performance 比较以复数形式表示的算法运行时间_Performance_Algorithm_Math - Fatal编程技术网

Performance 比较以复数形式表示的算法运行时间

Performance 比较以复数形式表示的算法运行时间,performance,algorithm,math,Performance,Algorithm,Math,我知道如何比较不同算法的运行时间 有时这是显而易见的,有时需要简化,有时用L'Hopital的规则来划分,看看它是收敛到常数还是0 但是,如果函数的形式复杂,如何比较它们 例如,你会如何比较 和n 当然,我需要一个严格的证明。在本例中,第一个简化是删除sqrt(2)-0.4幂。这种能力非常接近于1,几乎没有什么区别。如果您的比较需要这种区别,请道歉。这可能有一个指数法则,但我记不太清楚我的数学 下一步是使用日志规则计算出log96n 等效值为log2n/log296。现在你有了2到前者的力量l

我知道如何比较不同算法的运行时间

有时这是显而易见的,有时需要简化,有时用L'Hopital的规则来划分,看看它是收敛到常数还是0

但是,如果函数的形式复杂,如何比较它们

例如,你会如何比较

n


当然,我需要一个严格的证明。

在本例中,第一个简化是删除
sqrt(2)-0.4
幂。这种能力非常接近于
1
,几乎没有什么区别。如果您的比较需要这种区别,请道歉。这可能有一个指数法则,但我记不太清楚我的数学

下一步是使用日志规则计算出log96n

等效值为log2n/log296。现在你有了2到前者的力量log296只是一个常数(约为6.585)。您可以将其排除在外(因为随着
n
的增加,它将变得无关紧要),或者保留它并使用另一个日志规则。让我们把它留在:

log2n/log296变成log2n(log296)-1

整个过程简化为n(log296)-1。或者如果你做了额外的简化,你会得到2^log2n,它就是n


由于您想与n进行比较,因此第一个结果似乎更相关,大约为0.15n,,这是每个问题所特有的。在这种情况下,假设n=96^k和96=2^m

n vs表达式可以重写为:

2^(m*k) vs 2^(k ^(sqrt(2) - 0.4))
因为2,m,k,sqrt(k)-0.4都大于0,所以比较变为

(m * k) vs k ^(sqrt(2) - 0.4)

但m=对数96到基数2,基数2是固定的(6.585),而k是无界的


因此表达式(RHS)将更大。

它是基于具体情况的。我不认为有一般的规则。对于你的例子,我首先要简化2^表达式。您可以从将指数转换为涉及对数基数2的项开始,并观察到2^(对数基数2 of k)=k.@thang指数sqrt(2)-0.4为对数指数。我如何在这里应用2^(k的对数基2)=k这一事实?对不起。我的比较需要'sqrt(2)-0.4'幂。
m vs k ^(sqrt(2) - 1.4)