1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
排序(比较与交换)
排序的稳定性:
排序之前,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];
1
|
<
br
>
|
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>
本文转自 沉迷学习中 51CTO博客,原文链接:http://blog.51cto.com/12907581/1930347,如需转载请自行联系原作者