算法学习-排序-选择排序

原理:

选择排序是一种原址比较算法,大致思路是在第一轮迭代中找到数据结构中的最小值并将其放置在第一位,第二轮迭代中找到第二小的值并将其放在第二位,以此类推,与冒泡排序一样,都含有嵌套的两个循环,这导致了二次方的复杂度。

复杂度:

时间复杂度为O(n²);

javaScript:

function selectSort(arr, length){  

    let indexMin;

    for(let i=0; i<length-1;i++){

        indexMin = i;

        for(let j = i+1; j<length;j++){

            if(arr[indexMin] > arr[j]){

                indexMin = j;

            }

        }

        if(i != indexMin){

          let changeA = arr[i];

          arr[i] = arr[indexMin];

          arr[indexMin] = changeA;

        }

    }

    return arr;

}

function createArr(size){

  results = [];

  for(let i=0; i< size; i++){

    results[i] = Math.floor(Math.random()*100);

  }

  return results;

}

let testArr = createArr(10);

console.log(testArr);

let testResults = selectSort(testArr, testArr.length);

console.log(testResults);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,544评论 0 13
  • 某次二面时,面试官问起Js排序问题,吾绞尽脑汁回答了几种,深感算法有很大的问题,所以总计一下! 排序算法说明 (1...
    流浪的先知阅读 1,252评论 0 4
  • 排序算法说明 (1)排序的定义:对一序列对象根据某个关键字进行排序; 输入:n个数:a1,a2,a3,…,an 输...
    code武阅读 743评论 0 0
  • 这一部分能感受到库珀也不太理解怎么具体做到反思层面的设计,提到了就算诺曼自己也没有很好的阐述如何做到。 对于什么是...
    仟廢阅读 511评论 0 0
  • 万物生
    须臾_83f1阅读 116评论 0 0

友情链接更多精彩内容