Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/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
Algorithm 选择要使用的算法_Algorithm_Big O_Time Complexity - Fatal编程技术网

Algorithm 选择要使用的算法

Algorithm 选择要使用的算法,algorithm,big-o,time-complexity,Algorithm,Big O,Time Complexity,假设您有两个算法(A1和A2) 这些算法确定一个数n是否为素数。 你应该选择哪一个?为什么 并且,当在大量A1和A2上运行试验时,运行时间没有差异。这怎么可能 这些算法确定一个数n是素数还是素数 不你应该选择哪一个?为什么 由于几个原因,提供的算法规范信息不足 O(n^2)和ω(n)的信息量不足以选择具有更好的渐近复杂性的。例如,可以在Theta(n)中运行A1,在Theta(n^2)中运行A2,并且A1将逐渐优于A2。另一方面,可以在Theta(n^3)中运行A1,在Theta(log^3(n

假设您有两个算法(A1和A2)

这些算法确定一个数n是否为素数。 你应该选择哪一个?为什么

并且,当在大量A1和A2上运行试验时,运行时间没有差异。这怎么可能

这些算法确定一个数n是素数还是素数 不你应该选择哪一个?为什么

由于几个原因,提供的算法规范信息不足

  • O(n^2)和ω(n)的信息量不足以选择具有更好的渐近复杂性的。例如,可以在
    Theta(n)
    中运行A1,在
    Theta(n^2)
    中运行A2,并且A1将逐渐优于A2。另一方面,可以在
    Theta(n^3)
    中运行A1,在
    Theta(log^3(n))
    ()中运行A2。根据哪一个是真正的复杂性,答案会有所不同

  • 此外,我们对预期输入一无所知,如果预期输入是
    n
    的小值,那么大O表示法(和大Omega)的信息量不大,因为它们只处理大值


  • 然而,第二个确实给了你一些上限,而第一个没有,所以这是一个奖励。尽管仍然不足以准确地判断哪一个更好。

    Ordo=大O吗?A2和A1的ω和大O分别是多少?算法是什么?@C.B.我也没见过像O()那样写的,但维基百科指出它是这样写的。(更确切地说,对“Ordo”进行消歧的页面表明了这一点——关于大O符号的页面没有提及任何内容。)我指的是Ordo(n^2),O(n^2),我也没有任何算法,但是假设。
    A1 = Omega(n)
    A2 = O(n^2)