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

  ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,排序(比较与交换)   排序的稳定性:   ,,,排序之前,R[我]在[j]前面,排序后,R(我)还在R [j]前面,则这个排序方法是稳定的。否则这个排序   ,方法是不稳定的。   ,外排序:——依赖- - -》内排的序   ,,,,待排序的数据元素数量很大,整个序列的排序过程不可能在内存中完成。   ,内排序:   ,,,,整个排序过程不需要访问外存便能完成。   ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,排序的审判   ,1:时间性能(重要)   ,,,关键性能差异性体现在比较和交换的数量。   ,2:辅助存储空间   ,,,,为完成排序操作需要的额外的存储空间。   ,,,,必要时可以时间换空间。   ,3:算法的实现复杂性   ,,,,过于复杂的排序算法会影响代码的可读性和可维护性,也可能会影响排序的性能。

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,选择排序

基本思想:

,,,,每一趟在后面n个待排的数据元素中选出关键字最小的元素,作为有序元素序列的第i个元素。

实例:js

& lt;脚本type=" text/javascript在

,算术函数(){

,

,}

, Arithmetic.selection=function (a) {

, var min=0;

, var max=0;

,为(var i=0; i< a.length;我+ +){

, min=我;//标记最小

,为(var j=我;j< a.length-1; j + +) {

,如果((min)在一个[j + 1]) {

, min=j + 1,

,}//找出最小并标记

,}

, max=[我];


,[我]=(min);//交换

, (min)=max;


,}

, console.log (a),

,}

, var arr=[8、4、2、7、1, 42岁,20日,5日,1,0,2、7];

, Arithmetic.selection (arr);

& lt;/script>


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