本文实例讲述了基于JavaScript实现的快速排序算法。分享给大家供大家参考,具体如下:
首先要介绍一下冒泡排序,冒泡排序的过程很简单,一个记录的关键字和第二个记录的关键字进行比较,若为逆序,则将两个关键字交换,然后比较第二个和第三个,直到最后一个比较完成。这是第一趟冒泡,其结果使得关键字最大的记录被安置到最后一个位置上了。然后对序列前n-1个元素进行第二次冒泡,将倒数第二个选出。以此类推直到所有被选出,冒泡结束。
通过分析可以得出,冒泡排序的时间复杂度为
O(n2)
。快速排序是对冒泡排序的一种改进,它是处理大数据集最快的排序之一,通过递归的方式将数据依次分解为包含较小元素和较大元素的不同子序列,不断重复该过程直到所有数据都是有序的。这个算法首先要选择一个基准值,围绕基准值进行。
示例如下:
算法思想
如下:一个基准元素,将列表分为两个子序列;
我们通过js实现代码如下: