1.6 快速排序

发布日期:2019-07-23 19:47:09 阅读数: 26次 来源: 作者:

快速排序是由东尼·霍尔所成长的一种排序算法。在平均情况下,排序 n 个项目要 Ο(nlogn) 次比力。在最坏情况下则需要 Ο(n2) 次比力,但这种情况并不常见。现实上,快速排序凡是较着比其他 Ο(nlogn) 算法更快,由于它的内部轮回(inner loop)能够在大部门的架构上很无效率地被实现出来。

快速排序利用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。

快速排序又是一种分而治之思惟在排序算法上的典型使用。素质上来看,快速排序该当算是在冒泡排序根本上的递归分治法。

快速排序的名字起的是简单粗暴,由于一听到这个名字你就晓得它具有的意义,就是快,并且效率高!它是处置大数据最快的排序算法之一了。虽然 Worst Case 的时间亚博手机app复杂度达到了 O(n²),可是人家就是优良,在大大都环境下都比平均时间复杂度为 O(n logn) 的排序算法表示要更好,可是这是为什么呢,我也不晓得。好在我的强迫症又犯了,查了 N 多材料终究在《算法艺术与消息学竞赛》上找到了对劲的谜底:

本文由亚博编辑整理亚博手机app