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