【正确答案】
B
【答案解析】 快速排序是目前被认为最好的一种内部排序方法。快速排序算法处理的最好情况指每次都是将待排序列划分为均匀的两部分,通常认为快速排序在平均情况下的时问复杂度为O(nlogn)。但是,如果初始记录序列按关键字有序或基本有序,那么此时快速排序将蜕化为冒泡排序,其时间复杂度为O(n^2)。
那么对于其他排序算法,当序列已经有序时,又是哪种情况呢?无论原始序列中的元素如何排列,归并排序和堆排序算法的时间复杂度都是O(nlogn)。插入排序是将一个新元素插入已经排列好的序列中。如果在数据已经是升序的情况下,新元素只需插入到序列尾部,这就是插入排序的最好情况,此时,时间复杂度为O(n)。所以,选项B正确。