关于数据结构的问题,求解答(很简单的)!!!

来源:百度知道 编辑:UC知道 时间:2024/08/23 18:23:18
就平均性而言,目前最好的内排序方法是:
1.冒泡
2.希尔
3.交换
4.快速
知道的能解释下吗?

冒泡排序是通过元素两两比较,使最大的元素“沉底”,对原来正序的表排序最快,但对一般情况时间复杂度为O(n*n),属于较慢的一种 。冒泡排序属于稳定排序

交换排序包括冒泡排序和快排,你所说的交换排序可能和我所学的不一样……

希尔排序又叫做缩小增量排序,比较快,属于非稳定排序,其复杂度的计算至今仍是一道数学难题

快排是对冒泡法的一种改进,每次经过比较确定一元素的最终位置,是目前效率最高的内排序方法

大O法对排序算法分析

冒泡: O(n^2)
选择排序: O(n^2)
快速排序: O(n*log2(n^2))
HeapSort: O(n*log2(n^2))
希尔没学过

冒泡和选择的最好情况是数据已经排好,而在这种情况下快速和heap性能很差,特别是快速排序.

排列非顺序的数据时,heap和quick性能强, quick要比heap快,一般来说用这两种方法排序最合适