Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.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 算法分析:选择最佳算法_Algorithm_Time_Inequality - Fatal编程技术网

Algorithm 算法分析:选择最佳算法

Algorithm 算法分析:选择最佳算法,algorithm,time,inequality,Algorithm,Time,Inequality,我试图解决一个问题,即比较两种算法的最坏运行时间,找出其中一种算法比另一种算法运行时间更快的输入大小 这两种算法是: A1=2n对数10 n A2=0.1n2 基本上,我试图解决n的以下不等式: 2n log10 n

我试图解决一个问题,即比较两种算法的最坏运行时间,找出其中一种算法比另一种算法运行时间更快的输入大小

这两种算法是:
A1=2n对数10 n
A2=0.1n2

基本上,我试图解决n的以下不等式:
2n log10 n<0.1n2

谁能给我指一下正确的方向吗?
我已设法达到:
log10 n<0.05n==>n<100.05n

但我不知道接下来该怎么办(或者我试图解决这个问题时走错了方向)


提前感谢您的帮助

实际上,你正在试图解决这个不等式

因为算法只会在很短的时间内更快,然后对于任何较大的n值,算法都会更快


忽略案例n 29,算法获胜。

实际上,您正在尝试解决不等式

因为算法只会在很短的时间内更快,然后对于任何较大的n值,算法都会更快


忽略情况n29,算法获胜。

只需使用sagemath绘制函数图像:plot(0.1*n*n-2*n*log(n,10),n,0,50)


只需使用sagemath绘制函数图像:plot(0.1*n*n-2*n*log(n,10),n,0,50)


也许更适合一些人应该指出说
2n log\u 10 n<0.1n^2
是不正确的(等式不适用于
n=1
),你需要说
O(2n log\u 10 n)
,为
n
指定一个值,或者说“渐近”。也许更适合于某些人应该指出说
2n log\u 10 n<0.1n^2
是不正确的(等式不适用于
n=1
),你需要说
O(2n log\u 10 n)
,为
n
指定一个值,或者说“渐近”。谢谢你的回复!我可以问一下为什么40是一个明显的上限吗?我在回答中解释了,但是有人编辑了它并造成了一个拼写错误,我不知道如何纠正他们的拼写错误。错别字是说10040而不是100不小于40。看看这个不等式,很容易理解:当n=20时,10^(n/20)>> fzero(@(x) 10^(x/20)- x, 20) ans = 29.3531