基于分治的快速排序下面我们针对数组 [4, 1, 6, 9, 8, 5, 2, 3, 0, 7] 进行排序来讲解示例首先第一步我们需要将大问题分解为小问题。假设我们要将数组分为两个更小的子问题我们可以有以下的分解方式[4] [1, 6, 9, 8, 5, 2, 3, 0, 7] [4, 1] [6, 9, 8, 5, 2, 3, 0, 7] [4, 1, 6] [9, 8, 5, 2, 3, 0, 7] ... [4, 1, 6, 9, 8, 5, 2, 3, 0] [7]可见直接分解方式很多并且没有规律分解的两个数组没有实际的关系和联系。因此我们可以找一个数作为分界点将其余数据分成两类。具体的我们选取下标为 0 的数值 4 作为分界点并将小于 4 的数据置于数据整体的左侧大于 4 的数据置于数据整体的右侧。通过不断地比较大小和数据交换可以获得下面的子问题。[4, 1, 6, 9, 8, 5, 2, 3, 0, 7] | 4为选定的分割点 v [0, 1, 3, 2] 4 [5, 8, 9, 6, 7]此时在 4 的左右出现了子问题而这两个子问题的处理方式又是一样的。最终所有的处理方式我们可以生成下面的一张树状图。