本文主要介绍了js排序算法之希尔排序与快速排序实现方法,结合实例形式分析了希尔排序与快速排序的原理及javascript实现技巧,需要的朋友可以参考下,希望能帮助到大家。
希尔排序:
定义一个间隔序列,例如是5,3,1。第一次处理,会处理所有间隔为5的,下一次会处理间隔为3的,最后一次处理间隔为1的元素。也就是相邻元素执行标准插入排序。
在开始最后一次处理时,大部分元素都将在正确的位置,算法就不必对很多元素进行交换,这是比插入元素高级的地方。
时间复杂度O(n*logn)
function shellSort(){
var N=arr.length;
var h=1;
while(h=1){
for(var i=h; i=h && arr[j]
快速排序:
通过递归的方式将数据依次分解成包含较小元素和较大元素的不同子序列,不断重复这个步骤,直到所有数据都是有序的。
选一个基准值,小于基准值的放一个数组里面。大于基准值的放一个数组里面。
华锐行业电子商务系统
华锐行业电子商务系统2.0采用微软最新的.net3.5(c#)+mssql架构,代码进行全面重整及优化,清除冗余及垃圾代码,运行速度更快、郊率更高。全站生成静态、会员二级域名、竞价排名、企业会员有多套模板可供选择;在界面方面采用DIV+CSS进行设计,实现程序和界面分离,方便修改适合自己的个性界面,在用户体验方面,大量使用ajax技术,更加易用。程序特点:一、采用微软最新.net3.5+MSSQL
下载
时间复杂度O(n*logn)
function quickSort(arr){
if(arr.length==0){
return [];
}
var left=[];
var right=[];
var p=arr[0];
for(var i=1; i
快速排序适合用于大型数据集合,在处理小数据集合反而性能会下降。
相关推荐:









