|
Post by joyutsrfn7785 on May 20, 2024 4:52:53 GMT
部分由于这个原因它在实践中并未以其纯粹的形式出现因为已经有方法可以在该算法的运行中实现更高的效率。 要了解该算法如何以及为何得到改进您需要了解它的原始形式是如何工作的。值得注意的是考虑到其计算效率该算法非常容易理解和实现。 该算法的工作原理是 分而治之 我们将数组进行划分并对它的各个部分应用相同的算法这些部分将逐渐减少。该算法的总体方案如下所示 从数组中选择一个元素称为枢轴即支撑元素。 接下来执行数组的划分过程使得一部分包含小于或等于参考元素的所有元素第二部分包含大于参考元素 比利时手机号码 的所有元素。 对于每个子数组如果它们具有两个以上元素则递归执行上一段中描述的过程。如果有两个元素则将它们相互比较并在必要时交换。 执行这些操作后我们将得到一个完全排序的数组。 让我们更详细地考虑第二点那里发生了什么?为此我们将采用一个未排序的元素数组 并逐步遍历它。 步骤 首先让我们选择一个参考元素 取数组的最后一个元素它等于 。我们还输入两个计数器 和。 每个子数组如果它们具有两个以上元素则递归执行上一段中描述的过程。如果有两个元素则将它们相互比较并在必要时交换。 执行这些操作后我们将得到一个完全排序的数组。 让我们更详细地考虑第二点那里发生了什么?为此我们将采用一个未排序的元素数组 并逐步遍历它。 步骤 首先让我我们假设数组中的索引从 开始。然后 。 我们将数组 的第 个元素与参考元素 进行比较。如果第 个元素大于参考元素那么我们只需增加计数器 即可。在我们的例子中我们将在第一步中这样做。 现在 我们将数组 的第 个元素与参考元素 进行比较。如果它小于参考值那么我们增加计数器。
|
|