2016 - 2024

感恩一路有你

冒泡排序最差比较次数 当记录序列基本有序时,哪种排序方法效率高?简单选择排序与起泡排序两者在什么情况下执行效率差别较大?

浏览量:2817 时间:2021-03-13 09:18:14 作者:admin

当记录序列基本有序时,哪种排序方法效率高?简单选择排序与起泡排序两者在什么情况下执行效率差别较大?

序列基本顺序是指正序,直接插入、冒泡或随机快速排序是合适的

这两种算法效率都很低,一般我们用一个与数据大小相关的时间渐近函数来评价算法的时间效率,这就是所谓的算法时间复杂度。这两种算法的时间复杂度均为O(n^2),基于比较的排序算法的时间复杂度最好,为O(nlogn)。堆排序、合并排序和快速排序的预期复杂度可以达到o(nlogn)。堆排序和合并排序的最坏情况复杂度仍然是o(nlogn)]~],这主要是在每一轮的交换方式上的不同,最大或最小的元素被过滤掉并放在相应的位置。这是相同的,但对于每一轮,例如,在第一轮中,1~n中的最大元素放在n的位置。冒泡方法每次比较和移动两个相邻的项,并选择排序,每次交换当前项和第n项。我将为您编写代码:冒泡:对于I:=1到n-1 do if(a[I]>A[I 1]),然后交换(I,I,1)选择:对于I:=1到n-1 do if(a[I]>A[n]),然后交换(I,n)(交换意味着交换)一般来说,这两种类型的比较时间是相同的,但交换时间较少。虽然这两种排序的时间复杂度都是O(n^2),但一般来说,选择排序的速度更快

我现在想了解这个问题。事实上,这个比较排名的下界(注意下界是最好的情况)一定是对的。但有一个条件,即在排序过程中,附加的信息或条件不能用来比较排序的下限。

1. 气泡排序,它利用了上次扫描中没有发生交换的附加条件。

2. 插入排序,它利用了大量有序元素的额外信息。

3. 快速排序,如果采用三向切分法,可以将其分为与pivot相同、大于pivot和小于pivot,然后利用含有大量重复元素的额外信息来突破nlogn。因此,比较排名或下界的最佳情况是nlogn,它不考虑任何附加条件和附加信息。如果你对数据做额外的假设,你就可以突破这个下限。

冒泡排序最差比较次数 哪种排序算法效率最高 选择排序和冒泡排序哪个快

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。