冒泡排序和快速排序

简介: 冒泡排序:比较次数(n+1)*n/2,时间复杂度为O(n2) function bubblesort(arr){ var temp; for(var i=0;ii;j--){ if(arr[j-1]>arr[j]){ ...

冒泡排序:比较次数(n+1)*n/2,时间复杂度为O(n2)

function bubblesort(arr){
    var temp;
    for(var i=0;i<arr.length-1;i++){
        for(var j = arr.length-1;j>i;j--){
            if(arr[j-1]>arr[j]){
                temp = arr[j-1];
                arr[j-1] = arr[j];
                arr[j]=temp;
            }
        }
    }
}
            
var arr = [51,33,62,96,87,17,28,51];
            
bubblesort(arr);



快速排序时间复杂度为O(nlog2n)

function partition(arr,left,right){
    var baseNum = arr[left];
    while(left<right){
        while(left<right&& arr[right]>=baseNum){
            right = right -1;
                        
        }
        arr[left] = arr[right];
        while(left<right && arr[left]<=baseNum){
            left = left + 1;
        }
        arr[right] = arr[left];
    }
    arr[left] = baseNum;
    return left;
}
            
function quicksort(arr,left,right){
    if(left<right){
        var i = partition(arr, left, right);
        quicksort(arr, left, i - 1);
        quicksort(arr, i + 1, right);
    }
}
            
var arr = [51,33,62,96,87,17,28,51];
            
quicksort(arr);

 

目录
相关文章
|
1月前
|
搜索推荐 C++
C++快速排序的实现
C++快速排序的实现
|
4月前
|
C++
C++快速排序
C++快速排序
38 1
|
8月前
|
算法 搜索推荐 测试技术
快速排序详解
快速排序详解
46 0
|
9月前
|
搜索推荐 算法
排序算法:冒泡排序,插入排序,选择排序,归并排序,快速排序
排序算法:冒泡排序,插入排序,选择排序,归并排序,快速排序
|
9月前
|
人工智能 搜索推荐
【快速排序】
【快速排序】
|
9月前
|
算法 搜索推荐
快速排序到底有多快
快速排序到底有多快
54 0
|
10月前
重新理解快速排序
重新理解快速排序
40 0
|
11月前
快速排序实现
快速排序实现
42 0
|
11月前
|
机器学习/深度学习
785. 快速排序
785. 快速排序
43 0
快速排序
概念:快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。