2016 - 2024

感恩一路有你

快速算法 快速排序方法的简单解释?

浏览量:2745 时间:2021-03-16 20:47:36 作者:admin

快速排序方法的简单解释?

快速排序只是简单地选择一个基准,将较大的数字放在一边,将较小的数字放在另一边。在数字的两边递归上述方法。例如,在这个问题66 13 51 76 81 26 57 69 23中,以66为基准,按升序,小于66的放在左边,大于66的放在右边。。。66…具体的快速排序规则一般是:从右边开始查找小于66的数字,查找时稍等片刻,然后从左边开始查找大于66的数字,用66交换两个数字的位置,继续这个过程,直到两个搜索过程相遇。在这个例子中:66 13 51 76 81 26 57 69 23发现23从右边小于66,交换23 13 51 76 81 26 57 69 66发现76从左边大于66,交换23 13 51 66 81 26 57 69 76继续发现57从右边小于66,交换23 13 51 57 81 26 57 69 76发现81大于66从左边,互换23 13 51 57 66 81 69 76从右边搜索,26小于66,互换23 13 51 57 26 66 81 69 76从左边搜索,发现已遇到右搜索,结束,第一课排序结束,下面排序c语言快速代码,快速排序是一种重要的基于分治技术的排序算法,排序算法根据元素的值对它们进行划分。

分区是对给定数组中的元素重新排序,以使a[S]a[S]a[S]a[S]左侧的元素小于或等于a[S]a[S]a[S],而a[S]a[S]a[S]右侧的元素大于或等于a[S]a[S]。

显然,在建立分区后,[S]a[S]a[S]a[S]已在其有序数组的最终结果中。接下来,我们可以继续对a[S]a[S]a[S]之前和a[S]a[S]之后的子阵列进行排序(例如,使用相同的方法)。

注意与合并排序不同:

在合并排序算法中,将问题分为两个子问题的速度非常快,算法的主要工作是合并子问题的解;

在快速排序中,算法的主要工作是划分阶段,不需要合并子问题的解。

快速算法 数据结构快速排序图解 快速排序图解及实现

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。