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

    简单选择排序也叫作直接选择排序

    基本思想:

    每一趟在后面n-i+1个中选出keyword最小的记录,作为有序序列的第i个记录

    (1)设待排序的记录存放在数组r[1…n ]中。第一趟从r[1]開始,通过n-1次比較,从n个记录中选出keyword最小的记录。记为r[k],交换r[1]和r[k].

    (2)第二趟从r[2]開始。通过n-2次比較,从n-1个记录中选出keyword最小的记录,记为r[k],交换r[1]和r[k]。

    (3)第i趟从r[i]開始。通过n-i次比較,从n-1+1个记录中选出keyword最小的记录。记为r[k],交换r[i]和r[k].

    (4)经过n-1趟,排序完毕。

    这里写图片描写叙述

    void SelectSort(SqList &K)
    {
    //对顺序表L做简单选择排序
        for(i=1;i<L.length;++i)
    {
    //在L.r[i...L.length]中选择keyword最小的记录
         k=i;
         for(j=j+1;j<=L.length;j++)
         if(L.r[j].key<L.r[k].key)k=j;//k指向此趟排序中keyword最小的记录
         if(k!=i)
     {
         t=L.r[i];
         L.r[i]=L.r[k];//交换r[i]与r[k]
         L.r[k]=t;
    }
    }
    }
    

    算法分析

    移动次数

    • 最好情况: 0

    • 最坏情况:3(n-1)

    比較次数:1/2(n*n-n)

    时间复杂度:O(n*n)

    空间复杂度:O(1)

    算法特点

                不稳定
    
  • 相关阅读:
    nginx--gunicorn 部署Web服务
    Hexo 搭建博客真的太简单了
    nohup 和 &
    Nginx 服务器搭建
    Django3 的服务器搭建
    Mongo 服务器的安装
    Ubuntu16.04 安装tesseract
    phantomjs 的安装
    JsonPath python
    CSS 选择器:BeautifulSoup4
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/7131326.html
Copyright © 2011-2022 走看看