排序(比较与交换)
排序的稳定性:
排序之前,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>
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。