码迷,mamicode.com
首页 > 编程语言 > 详细

选择排序

时间:2018-11-14 14:35:46      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:数据结构与算法   code   sel   最小   tle   分享   算法   空间复杂度   img   


title: 选择排序
tags: 数据结构与算法之美
author: 辰砂


1.概述


基本思想: 每一趟在后面 n-i +1个中选出关键码最小的对象, 作为有序序列的第 i 个记录
详细思想给定数组:int[] arr={里面n个数据};第1趟排序,在待排序数据arr[1]~arr[n]中选出最小的数据,将它与arrr[1]交换;第2趟,在待排序数据arr[2]~arr[n]中选出最小的数据,将它与r[2]交换;以此类推,第i趟在待排序数据arr[i]~arr[n]中选出最小的数据,将它与r[i]交换,直到全部排序完成

2.过程


技术分享图片

技术分享图片

3.关键代码

void SelectSort(SqList &K)
 { 
    for (i=1; i<L.length; ++i)
    { //在L.r[i..L.length] 中选择key最小的记录
        k=i;     
        for( j=i+1;j<=L.length ; j++)
            if ( L.r[j].key <L.r[k].key) k=j; 
        if(k!=i)L.r[i]←→L.r[k];            
    }  
}

4.算法分析

移动次数:

最好情况:0 ;
最坏情况:3(n-1)

比较次数:

技术分享图片

时间复杂度:O(n2)
空间复杂度:O(1)
稳定性 :稳定

选择排序

标签:数据结构与算法   code   sel   最小   tle   分享   算法   空间复杂度   img   

原文地址:https://www.cnblogs.com/tojian/p/9957338.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!