各种排序方法的比较 各种排序算法最好和最坏情况比较?
各种排序算法最好和最坏情况比较?
不知道怎么回答,各种排序说得太多了,在这里简单谈几句吧,希望对你有所帮助
!例如,当对n个顺序存储元素进行排序时,[0]用作“哨兵”(即,[0]不存储数据,而是用作辅助存储空间)
1直接插入排序:比较的最小次数为n-1;(n-1)(n2)/2的最大次数
移动的最小次数为0;最大(n-1)(n4)/2
使用一个辅助存储空间,这是一个稳定的排序;
2半插入排序:最小和最大比较数为n*log2n(其中2是底部,底部相同),
最小移动次数为0,最大时间复杂度为O(N2)(n的平方也表示在下面);
使用辅助存储空间是一种稳定排序;
3气泡排序:最小比较次数为n-1,最大时间复杂度为O(N2)
最小移动次数为0,最大时间复杂度为O(N2)
使用辅助内存空间是稳定排序;
4简单选择排序:比较次数为n(n-1)/2
最小移动次数为0,最大移动次数为3(n-1)
使用辅助内存空间是稳定排序;
5快速排序:比较的时间复杂度最少比较和移动次数表示为O(n*log2n)
最多比较和移动次数的时间复杂度表示为O(N2)
使用的辅助存储空间至少为log2n,最大值为n的平方;这是一种不稳定排序;
6堆排序:比较和移动时间之间没有好的或坏的差别,两者都是o(n*log2n)
使用辅助内存空间,这是一种不稳定的排序;
7双向合并排序:比较和移动时间之间没有好的或坏的差别,两者都是o(n*log2n)
需要n个辅助存储空间,这是一种稳定的排序方法;
另外,还有很多排序方法,如希尔排序、基数排序、双向插入排序等很多排序方法,这里不一一列举,希望对您有所帮助!
各种排序方法的比较 堆排序最坏情况下的比较次数 几种排序算法的比较
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。