国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript實現(xiàn)經(jīng)典排序算法之選擇排序

2019-11-19 18:13:58
字體:
供稿:網(wǎng)友

表現(xiàn)最穩(wěn)定的排序算法之一,因為無論什么數(shù)據(jù)進去都是O(n²)的時間復雜度.....所以用到它的時候,數(shù)據(jù)規(guī)模越小越好。唯一的好處可能就是不占用額外的內(nèi)存空間。
1)算法原理

         先在未排序序列中找到最?。ù螅┰?,存放到排序序列的起始位置,然后,再從剩余未排序元素中繼續(xù)尋找最?。ù螅┰?,然后放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。

2)算法描述和實現(xiàn)

       n個記錄的直接選擇排序可經(jīng)過n-1趟直接選擇排序得到有序結(jié)果。具體算法描述如下:

      <1>初始狀態(tài):無序區(qū)為R[1..n],有序區(qū)為空;

      <2>第i趟排序(i=1,2,3...n-1)開始時,當前有序區(qū)和無序區(qū)分別為R[1..i-1]和R(i..n)。該趟排序從當前無序區(qū)中-選出關(guān)鍵字最小的記錄 R[k],將它與無序區(qū)的第1個記錄R交換,使R[1..i]和R[i+1..n)分別變?yōu)橛涗泜€數(shù)增加1個的新有序區(qū)和記錄個數(shù)減少1個的新無序區(qū);

      <3>n-1趟結(jié)束,數(shù)組有序化了。

3)javascript代碼實現(xiàn)

function selectSort(arr){  var len = arr.length;  var index,temp;  for(var i = 0; i < len-1 ;i++){   index = i;   for(var j = i + 1 ; j<len; j++){    if(arr[j] < arr[index]){//尋找最小的數(shù)     index = j;//保存最小數(shù)的索引    }   }   temp = arr[i];   arr[i] = arr[index];   arr[index] = temp;  }  return arr; }  var arr=[1,45,37,5,48,15,37,26,29,2,46,4,17,50,52]; console.log(selectSort(arr)); 

4)算法分析

       最佳情況:T(n) = O(n2)
       最差情況:T(n) = O(n2)
      平均情況:T(n) = O(n2)

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 柳江县| 霸州市| 屏边| 富裕县| 定州市| 凉城县| 永靖县| 开平市| 大庆市| 普格县| 黄平县| 易门县| 漳州市| 岐山县| 会理县| 郧西县| 莱州市| 彭泽县| 黄大仙区| 湟中县| 九江县| 疏勒县| 红桥区| 云浮市| 天津市| 永康市| 紫金县| 资中县| 察雅县| 札达县| 万源市| 桃园县| 彭山县| 乐平市| 虹口区| 资中县| 洛南县| 吴江市| 沭阳县| 惠来县| 荣成市|