那么,我们应当选择何种排序算法呢?数据结构中给我们提供了很多的排序算法,我们该使用哪一种呢?我们在这里做一个简单的分析,看哪种排序更加适合。下面给出了一些常见的排序算法及其时间复杂度。
插入排序 O(n2)
冒泡排序 O(n2)
选择排序 O(n2)
快速排序 O(n log n)
堆排序 O(n log n)
归并排序 O(n log n)
基数排序 O(n)
希尔排序 O(n1.25)
插入和冒泡、选择我们就不做考虑了,现在主要分析后面的几种排序算法。
快速排序是所有排序算法中最高效的一种。它采用了分治的思想:先保证列表的前半部分都小于后半部分,然后分别对前半部分和后半部分排序,这样整个列表就有序了。这是一种先进的思想,也是它高效的原因。因为在排序算法中,算法的高效与否与列表中数字间的比较次数有直接的关系,而