zoukankan      html  css  js  c++  java
  • 选择排序


    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(n²)
    空间复杂度:O(1)
    稳定性 :稳定
    
    
  • 相关阅读:
    Django之web本质
    Python之队列
    Python之阻塞IO模型与非阻塞IO模型
    *****Python之进程线程*****
    ***Python之UDP***
    Python之FTP实现
    Python之粘包
    Python之目录结构
    Python之套接字
    Linux内核分析:Linux内核启动流程分析
  • 原文地址:https://www.cnblogs.com/tojian/p/9957338.html
Copyright © 2011-2022 走看看