首页 > 代码库 > 排序的概念(选择排序1)

排序的概念(选择排序1)

                                     排序(比较与交换)
排序的稳定性:
    排序之前,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

排序的概念(选择排序1)