本文為大家分享了JS選擇排序的具體代碼,供大家參考,具體內容如下
說明
時間復雜度指的是一個算法執行所耗費的時間 空間復雜度指運行完一個程序所需內存的大小 穩定指,如果a=b,a在b的前面,排序后a仍然在b的前面 不穩定指,如果a=b,a在b的前面,排序后可能會交換位置--JS選擇排序--
原理
首先從原始數組中找到最小的元素,并把該元素放在數組的最前面,然后再從剩下的元素中尋找最小的元素,放在之前最小元素的后面,知道排序完畢。
時間復雜度,空間復雜度,穩定性
平均時間復雜度O(n*n) 最好情況O(n*n) 最差情況O(n*n) 空間復雜度O(1) 穩定性:不穩定選擇排序的寫法
var example=[8,94,15,88,55,76,21,39];function selectSort(arr){ var len=arr.length; var minIndex,temp; console.time('選擇排序耗時'); for(i=0;i<len-1;i++){ minIndex=i; for(j=i+1;j<len;j++){ if(arr[j]<arr[minIndex]){ minIndex=j; } } temp=arr[i]; arr[i]=arr[minIndex]; arr[minIndex]=temp; } console.timeEnd('選擇排序耗時'); return arr;}console.log(selectSort(example));解析
minIndex始終保存著最小值的位置的索引,隨著i的自增,遍歷的數組長度越來越短,直到完成排序。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持錯新站長站。
新聞熱點
疑難解答
圖片精選