排序(比较与交换) 排序的稳定性: 排序之前,R[i]在R[j]前面,排序后,R[i]还在R[j]前面,则这个排序方法是稳定的。否则这个排序 方法是不稳定的。 外排序:----依赖---》内排序 待排序的数据元素数量很大,整个序列的排序过程不可能在内存中完成。 内排序: 整个排序过程不需要访问外存便能完成。 排序的审判 1:时间性能(重要) 关键性能差异性体现在比较和交换的数量。 2:辅助存储空间 为完成排序操作需要的额外的存储空间。 必要时可以时间换空间。 3:算法的实现复杂性 过于复杂的排序算法会影响代码的可读性和可维护性,也可能会影响排序的性能。
选择排序
基本思想:
每一趟在后面n-i个待排的数据元素中选出关键字最小的元素,作为有序元素序列的第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>
本文出自 “12897581” 博客,请务必保留此出处http://12907581.blog.51cto.com/12897581/1930347
原文地址:http://12907581.blog.51cto.com/12897581/1930347