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_Data Structures_Runtime_Theory - Fatal编程技术网

Sorting 气泡/简单排序的运行时

Sorting 气泡/简单排序的运行时,sorting,data-structures,runtime,theory,Sorting,Data Structures,Runtime,Theory,在类中,简单排序被用作我们对O(N)运行时的第一个定义之一 但是,既然它每次运行时都少经过一次数组迭代,那么它不是更符合 运行时气泡=总和(i=0,n,(n-i)) 不仅仅是一个接一个地运行的最大的过程在渐近分析中被算作N次迭代,为什么根据定义这种排序不是O(N)?我不确定你(或你的教授)从哪里得到了冒泡排序是O(N)的概念。如果你的教授有一个有保证的O(n)排序算法,他们最好尝试并申请专利:-) 泡泡排序,本质上是O(n2) 这是因为它必须完整地传递整个数据集,才能正确地放置第一个元素 然后第

在类中,简单排序被用作我们对O(N)运行时的第一个定义之一

但是,既然它每次运行时都少经过一次数组迭代,那么它不是更符合

运行时气泡=总和(i=0,n,(n-i))

不仅仅是一个接一个地运行的最大的过程在渐近分析中被算作N次迭代,为什么根据定义这种排序不是O(N)?

我不确定你(或你的教授)从哪里得到了冒泡排序是O(N)的概念。如果你的教授有一个有保证的O(n)排序算法,他们最好尝试并申请专利:-)

泡泡排序,本质上是O(n2)

这是因为它必须完整地传递整个数据集,才能正确地放置第一个元素

然后第二次通过
N-1
元素来正确放置第二个元素。第三次通过
N-2
元素来正确放置第三个元素


以此类推,有效地结束了接近
N*N/2的运算,除去多余的
0.5
常数,即O(n2)。

1+2+…+的和N
N*(N+1)/2
。。。(高中数学)。。。当
N
变为无穷大时,它接近
(N^2)/2
。经典的
O(N^2)

冒泡排序的时间复杂度为O(N^2)。 考虑复杂性时,只考虑最大表达式(但不考虑因子)