快速排序的第一趟结果是?

如题所述

快速排序的第一趟结果是(24,25,21,15,27,47,68,35,84)。

堆排序的初始堆是(25,84,21,47,15,27,68,35,24)。

快速排序的关键是划分。每一趟划分,我们就可以将作为 pivot 的值 x 放到排序数组的正确位置,并且将所有比 x 小的放到 x 的左边,所有比 x 大的元素放到 x 的右边。

扩展资料

快速排序的平均情况:

快速排序的时间复杂度依旧是  , 也就意味着只要只要每一次不是选择最大或者最小的元素作为 pivot ,时间复杂度都在  量级。

快速排序的实现中,我们仅使用了一个临时变量用于交换操作,也就是其空间复杂度为 ,所以快速排序也是一个原地排序算法。

快速排序的划分阶段会进行交换操作,而这种交换操作会破坏原始数组中元素之间的相对位置,也就意味着,快速排序是一个不稳定的排序算法。


参考资料来源:

百度百科-快速排序算法

百度百科-堆排序

温馨提示:答案为网友推荐,仅供参考
相似回答