美文网首页
Day 150/200(JavaScript)什么是选择排序?

Day 150/200(JavaScript)什么是选择排序?

作者: 赵国星 | 来源:发表于2021-09-21 17:53 被阅读0次

    前言

    今儿是中秋,第二天开始学习排序算法,脸皮是得厚点,虽然自己还是有点水,但是还是需要继续努力ing~

    1、定义

    双层循环找最小(大)

    在内存空间不变的情况下,依次找到最小(或最大)置到排序的最前方;

    用时间换空间

    特点

    无论什么数据进去都是 O(n²) 的时间复杂度

    数据规模越小越好

    不占用额外的内存空间

    2、步骤

    首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。

    再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。

    重复第二步,直到所有元素均排序完毕。

    3、JavaScript实现

    functionselectionSort(arr){varlen = arr.length;varminIndex, temp;for(vari =0; i < len -1; i++) {        minIndex = i;for(varj = i +1; j < len; j++) {if(arr[j] < arr[minIndex]) {// 寻找最小的数minIndex = j;// 将最小数的索引保存}        }        temp = arr[i];        arr[i] = arr[minIndex];        arr[minIndex] = temp;    }returnarr;}

    参考链接

    1.2 选择排序 | 菜鸟教程

    相关文章

      网友评论

          本文标题:Day 150/200(JavaScript)什么是选择排序?

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