快速排序时间效率与其逆序对之间的关系.docVIP

  • 35
  • 0
  • 约5.2千字
  • 约 7页
  • 2016-11-26 发布于天津
  • 举报

快速排序时间效率与其逆序对之间的关系.doc

快速排序时间效率与其逆序对之间的关系

快速排序时间效率与其逆序对之间的关系 海南中学 钟瑶熹 引言 对一个数组排序是计算机领域的一个非常重要的问题,因此,排序的时间效率对于许多问题的解决至关重要。众所周知,常见的排序有O(n)级别的如bucket sort,counting sort等等;常见的O(n lg n)排序有merge sort,heap sort以及本文提到的快速排序(quick sort);至于O(n^2)的朴素排序算法,由于对于较大的n,时间效率过于低下,这里便不在赘述。O(n)的算法在某些特定的情况下确实比O(n lg n)的算法时间效率要高出许多,但是当数轴和所需排序的数趋向于无穷大时,可以证明,排序算法的最低渐进时间复杂度为O(n lg n)。 常见的O(n lg n)排序算法有归并排序、堆排序、快速排序。快速排序以其简单精炼的代码、较小的常数因子受到了广泛的喜爱。 注意到,快速排序的时间效率是跟其逆序对有很大关系的,因为当数组划分极为平衡时,如完全顺序或完全逆序,时间复杂度都将退化到O(n^2),但是当数组划分非常平衡的时候,时间复杂度为O(n lg n),就这样,判断相关快速排序算法的时间效率就成为了一个很重要的课题。作者考虑过使用康托展开探究其时间效率,但因为康托展开得出的结果数量级过大,不便于计算,因而使用了求逆序对的方法。求逆序对方法有时间复杂度为O(n^2)的朴素算法,效率过于低

文档评论(0)

1亿VIP精品文档

相关文档