本文实例讲述了JS排序算法之希尔排序与快速排序实现方法。分享给大家供大家参考,具体如下:
定义一个间隔序列,例如是5、3、1。第一次处理,会处理所有间隔为5的,下一次会处理间隔为3的,最后一次处理间隔为1的元素。也就是相邻元素执行标准插入排序。
在开始最后一次处理时,大部分元素都将在正确的位置,算法就不必对很多元素进行交换,这是比插入元素高级的地方。
时间复杂度
函数shellSort () { var N=arr.length; var h=1; 而(h=1) { 我对(var=h;i h=,,arr [j] & lt; arr[陶宏根];j -=h) { 交换(arr j陶宏根); } } h - h=()/3; } } 函数交换(数组,i, j){//两个数调换 var temp=array [j]; array [j]=[我]数组; 数组[我]=temp; } >之前
通过递归的方式将数据依次分解成包含较小元素和较大元素的不同子序列,不断重复这个步骤,直到所有数据都是有序的。
选一个基准值,小于基准值的放一个数组里面。大于基准值的放一个数组里面。
时间复杂度
函数快速排序(arr) { 如果(arr.length==0) { 返回[]; } var左=[]; var=[]; var的arr p=[0]; (var i=1;i之前 快速排序适合用于大型数据集合,在处理小数据集合反而性能会下降。
http://tools.jb51.net/aideddesign/paixu_ys
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数学运算用法总结》,《JavaScript数据结构与算法技巧总结》,《JavaScript数组操作技巧总结》,《JavaScript排序算法总结》,《JavaScript遍历算法与技巧总结》,《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结》
希望本文所述对大家JavaScript程序设计有所帮助。
JS排序算法之希尔排序与快速排序实现方法