几大排序算法js实现

冒泡排序

1 具体实现

// 冒泡排序
function bubbleSort(arr) {
    let len = arr.length;
    let temp;
    for (var i=0; i arr[j+1]) {
                temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp; 
            }
        }
    }
}

2 分析

耗时

通过函数图像很容易得到:


几大排序算法js实现_第1张图片
函数图

由以上可以得到冒泡排序的时间复杂度为:
F(n) = O(n^2)

选择排序

1 具体实现


// 选择排序
function selectSort(arr) {
    let len = arr.length;
    for(var i=0; i

2 分析
很明显,可以看出选择排序和冒泡排序的时间复杂度一致,都是 O(n^2) 。

插入排序

1 具体实现

function insertSort(arr) {
    let len = arr.length;
    for(var i=1; i=0; j--) {
            if(temp

2 分析
很明显,可以看出插入排序和冒泡排序的时间复杂度一致,都是 O(n^2) 。

快速排序

  1. 具体实现

... 未完待续

你可能感兴趣的:(几大排序算法js实现)