快速排序的时间复杂性不受数据初始状态影响,恒为O(nlog2n)。

  1. 快速排序的时间复杂性不受数据初始状态影响,恒为O(nlog2n)。(
    【答案】错
    不是对的吗,哪里错了

(一)快速排序的最好情况O(nlogn)
(二)快速排序的最坏情况O(n^2)

快速排序的确是比较高效的排序算法,其平均时间复杂度是O(nlogn),但其最坏情况可以达到O(n^2)。

对于每一个区间,快速排序选取的轴刚好就是这个区间的最大值或者最小值。比如我们需要对n个数排序,而每一次进行处理的时候,选取的轴刚好都是区间的最小值。于是第一次操作,在经过调换元素顺序的操作后,最小值被放在了第一个位置,剩余n-1个数占据了2~n个位置;第二次操作,处理剩下的n-1个元素,又将这个子区间的最小值放在了当前区间的第1个位置,以此类推…每次操作,都只能将最小值放到第一个位置,而剩下的元素,则没有任何变化。所以对于n个数来说,需要操作n次即n层,才能为n个数排好序。而每一次操作都需要遍历一次剩下的所有元素,这个操作的时间复杂度是O(n),所以总时间复杂度为O(n*n)即O(n^2)。

如果我的回答对你有帮助,还望采纳。