算法设计与分析课件 24 快速排序.pptxVIP

  • 1
  • 0
  • 约1.29千字
  • 约 16页
  • 2026-06-10 发布于山东
  • 举报

算法设计与分析本节要点CONTENTS快速排序

快速排序快速排序(Quicksort)是比较快速的排序方法。快速排序由C.A.R.Hoare在1962年提出。基本思想:通过一组排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,最终使所有数据变成有序序列。

快速排序快速排序基于分治策略,分为3步。(1)分解:先从原序列中取出一个元素作为基准元素。以基准元素为界,将原序列分解为两个子序列,小于或等于基准元素的子序列在基准元素左侧,大于或等于基准元素的子序列在基准元素右侧。(2)治理:对两个子序列进行快速排序。(3)合并:将排好序的两个子序列合并,得到原问题的解。

快速排序如何分解是一个难题,因为如果基准元素选取不当,有可能分解成规模为0和n?1的两个子序列。例如,序列(30,24,5,58,18,36,12,42,39),第一次选取5作为基准元素,第二次选取12作为基准元素……

快速排序基准元素选取有以下几种方法:? 取第一个元素。? 取最后一个元素。? 取中间位置元素。? 取第一个、最后一个、中间位置元素三者之中位数。? 取第一个和最后一个之间位置的随机数k(low≤k≤high),选R[k]做基准元素。

快速排序算法步骤:(1)选取第一个元素作为基准元素

文档评论(0)

1亿VIP精品文档

相关文档