美文网首页
Java 分治策略 快速排序

Java 分治策略 快速排序

作者: 察克尼_柒 | 来源:发表于2017-03-20 20:44 被阅读0次

    快速排序:基于分治策略的 另一种排序算法。


    总体思想:把一组数据,从中间分成两半;左边一半,从左往右,依次把小数移到左端;右边一半,从右往左,依次把大数移到右端。


    1、编码步骤:

    分解、递归求解、合并。

    分解:以 数组 a[ p ] 为基准元素将 a[ p,r ] 划分成三段,a[ p,q-1 ],a[ q ],a[ q+1,r ];此三段元素满足【小】<【中】<【大】。(即将数组a分为3个子集)

    递归求解:通过递归调用快速排序算法,分别对上面三段进行排序。

    合并:由于 a[ p,q-1 ] 和 a[ q+1,r ] 的排序是就地进行的,所以在子集合排好序后,数组a的数据即已排好。

    2、代码实现:

    运行结果:

    相关文章

      网友评论

          本文标题:Java 分治策略 快速排序

          本文链接:https://www.haomeiwen.com/subject/xfpinttx.html