Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/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
Sorting 大θ符号和选择排序_Sorting_Big Theta - Fatal编程技术网

Sorting 大θ符号和选择排序

Sorting 大θ符号和选择排序,sorting,big-theta,Sorting,Big Theta,当数组通过重复添加19来增长时,选择排序算法的大θ(T)表示法的最佳情况和最坏情况复杂性是什么 例如: [ 19, 13, 7, 19, 12, 16, 19 ], [ 19, 13, 7, 19, 12, 16, 19, 19 ], [ 19, 13, 7, 19, 12, 16, 19, 19, 19 ] 等等n用于表示数组的长度 所以我们将相同的数字添加到数组的末尾,但是这个数字恰好也是最大的数字,所以它将保留在数组的末尾。这是否意味着它真的对效率没有任何影响?我很困惑。不,这对效率没有

当数组通过重复添加19来增长时,选择排序算法的大θ(T)表示法的最佳情况和最坏情况复杂性是什么

例如:

[ 19, 13, 7, 19, 12, 16, 19 ],
[ 19, 13, 7, 19, 12, 16, 19, 19 ],
[ 19, 13, 7, 19, 12, 16, 19, 19, 19 ]
等等
n
用于表示数组的长度


所以我们将相同的数字添加到数组的末尾,但是这个数字恰好也是最大的数字,所以它将保留在数组的末尾。这是否意味着它真的对效率没有任何影响?我很困惑。

不,这对效率没有影响

在中,由于嵌套循环,性能为N^2。即使最后的元素不需要交换,循环仍然会比较它们

因此,为了回答您的确切问题:因为最佳情况、最坏情况和平均情况下的性能都是N^2,并且对效率没有影响,所以性能没有变化。

升序

  • 在列表中找到最小值
  • 将其与第一个位置的值交换
  • 对列表的其余部分重复上述步骤(从 第二个位置,每次前进)
  • 因此,我们必须检查所有元素的其余部分,无论晴雨,都要通过检查来获得最小值,即使存在相同的元素,直到最后一个元素

    A - an array containing the list of numbers
    numItems - the number of numbers in the list
    
    for i = 0 to numItems - 1
        for  j = i+1 to numItems               
            if A[i] > A[j]
                // Swap the entries
                Temp = A[i]
                A[i] = A[j]
                A[j] = Temp          
            End If    
        Next j
    Next i
    
    正如上面的伪代码所示,两个循环都会在没有任何条件的情况下迭代到极限。所以它给出了θ(n²)。然而,
    O(n)
    平均值,
    θ(n)
    最差和
    θ(1)
    互换情况的最佳情况


    您使用哪个版本的SELECT?