QuickSort在算法征服阶段实现排序?

QuickSort achieves sorting during the conquer stage of algorithm?

我很困惑。 其中一个测验问题是 "True or False, Quick sort achieves sorting during the conquer stage of the algorithm" 我选择了 true 因为我记得读过:

快速排序的三个步骤如下:

划分:重新排列元素并将数组拆分为两个子数组和中间的一个元素,使得左侧子数组中的每个元素都小于或等于中间元素,右侧子数组中的每个元素都大于中间元素。

征服:对两个子数组进行递归排序

合并:None.

然而,测验的答案说答案是错误的,没有任何解释...

正如教科书所说,QuickSort 遵循分而治之的算法,在征服阶段递归地对两个子数组进行排序,答案不应该是正确的吗?

任何启发将不胜感激。

Quicksort 选择一个主元,将较小的东西放在左边,将较大的东西放在右边。

这就是您所指的分割步骤。

征服部分是在左右子集上递归执行此操作。

但是,在除法步骤中,元素已经被排序(左边较小,右边较大),并且快速排序有效,因为递归这样做可以确保所有内容都在正确的位置。

定义没有错,因为征服在左右重复了这一点,但划分部分才是真正分裂和重新排列它们的部分,如所述。

实际上,快速排序是在算法的划分阶段实现排序的。划分数组后,中间元素在正确的位置,因此每个划分阶段排序后有一个元素