一个最稳定的
排序算法,无论什么数据,它的时间复杂度为O(nsup2)。因此,当它被使用时,数据规模越小越好,唯一的好处可能是没有额外的
内存空间。
1)算法原理
首先,找到最小(大)的排序序列元素并将其存储到排序序列的起始
位置。然后,继续寻找最小(大)从剩余的无序的元素,然后放在有序序列结束。以此类推,直到所有元素排序。
2)算法描述与实现
n个记录的直接选择可以通过n-1次的直接选择来排序,具体的算法描述如下:
初始状态:无序
区域为r 1…},有序区域为空。
在我Wade秩序的开始(我= 1,2,3…N-1),当前的有序与无序的区域R { 1 }和R(即:I-1。N),分别。排序算法的选择从当前无序区的最小记录K R { },并与无序区第一个记录R交流,使R { 1 }和我R {我+ 1 ..成为新的有序区,记录的数量分别增加1,记录的数量,从而降低了1新的无序区。
在n-1行程结束时,数组被
命令。
3)Javascript代码实现
功能选择排序(ARR){
VaR len = arr.length;
var指数;
对于(var i = 0;i < len-1;i++){
索引= i;
对于(var j = i + 1;j;<;j + +){
如果(ARR { } { },<< ARR指标)找到{ / /最低数量
索引;
保存小数索引
}
}
温度= ARR {我};
ARR {我} = { }度指数;
ARR { } =温度指数;
}
报酬;
}
var arr = { 1,45,37,5,48,15,37,26,29,2,46,4,17,50,52 };
console.log(选择排序(ARR));
4)算法分析
最佳
情况:t(n)=o(n2)
最坏情况:t(n)=o(n2)
平均数:t(n)=o(n2)
以上是本文的全部内容,希望能对您有所帮助,希望大家多多
支持。