您好,登錄后才能下訂單哦!
排序(比較與交換) 排序的穩(wěn)定性: 排序之前,R[i]在R[j]前面,排序后,R[i]還在R[j]前面,則這個排序方法是穩(wěn)定的。否則這個排序 方法是不穩(wěn)定的。 外排序:----依賴---》內(nèi)排序 待排序的數(shù)據(jù)元素數(shù)量很大,整個序列的排序過程不可能在內(nèi)存中完成。 內(nèi)排序: 整個排序過程不需要訪問外存便能完成。 排序的審判 1:時間性能(重要) 關鍵性能差異性體現(xiàn)在比較和交換的數(shù)量。 2:輔助存儲空間 為完成排序操作需要的額外的存儲空間。 必要時可以時間換空間。 3:算法的實現(xiàn)復雜性 過于復雜的排序算法會影響代碼的可讀性和可維護性,也可能會影響排序的性能。
選擇排序
基本思想:
每一趟在后面n-i個待排的數(shù)據(jù)元素中選出關鍵字最小的元素,作為有序元素序列的第i個元素。
實例: js
<script type="text/javascript">
function Arithmetic(){
}
Arithmetic.selection=function(a){
var min =0;
var max =0;
for(var i=0;i<a.length;i++){
min=i;//標記最小
for(var j=i;j<a.length-1;j++){
if(a[min]>a[j+1]){
min=j+1;
}//找出最小并標記
}
max=a[i];
a[i]=a[min];//交換
a[min]=max;
}
console.log(a);
}
var arr =[8,4,2,7,1,42,20,5,1,0,2,7];
Arithmetic.selection(arr);
</script>
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。