美文网首页
JavaScript的排序算法——插入排序

JavaScript的排序算法——插入排序

作者: 流浪的三鮮餡 | 来源:发表于2018-11-30 22:53 被阅读28次

    插入排序(Insertion Sort)

    插入排序是一种简单的排序算法,这种算法可以一次构建最终排序的数组(或数列)。它在大型数列上的排序效率会远低于一些更高级的排序算法,如快速排序堆排序归并排序

    原理

    每步将一个待排序的记录,按其关键码值的大小插入前面已经排序的文件中适当位置上,直到全部插入完为止。


    插入排序(Insertion Sort)
    插入排序(Insertion Sort)

    复杂度

    算法 最好情况 平均情况 最坏情况 空间复杂度 稳定性
    插入排序 O(n) O(n2) O(n2) O(1) 稳定

    ES6实现

    function InsertionSort(originalArray) {
        const array = [...originalArray];
        let len = array.length;
        for (let i = 0; i < len; i++) {
            let temp = array[i];
            let j = i - 1;
            while (j >= 0 && array[j] > temp) {
                array[j+1] = array [j];
                j--;
            }
            array[j+1] = temp;
        }
        return array;
    }
    

    参考

    维基百科
    百度百科

    相关阅读

    JavaScript的排序算法——冒泡排序
    JavaScript的排序算法——选择排序
    JavaScript的排序算法——插入排序
    JavaScript的排序算法——归并排序
    JavaScript的排序算法——快速排序

    相关文章

      网友评论

          本文标题:JavaScript的排序算法——插入排序

          本文链接:https://www.haomeiwen.com/subject/gbjtcqtx.html