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

    选择排序:比如在一个长度为N的无序数组中,在第一趟遍历N个数据,找出其中最小的数值与第一个元素交换,第二趟遍历剩下的N-1个数据,找出其中最小的数值与第二个元素交换......第N-1趟遍历剩下的2个数据,找出其中最小的数值与第N-1个元素交换,至此选择排序完成。
    def selectSort(listx):
    count=len(listx)
    for i in range(count):
    min=i
    for j in range(i+1,count):
    if listx[j]<listx[min]:
    min=j
    listx[i],listx[min]=listx[min],listx[i]

    return listx

    if __name__=="__main__":
    print (selectSort([3,1,6,7,45,21]))
    计算时间复杂度:O(1)<O(logn)<O(n)<O(nlogn)<O(n^2)<…<O(2^n)<O(n!)
    1. n-1
    2. n-2
    3. n-3
    …..
    n-1:1
    (首项+尾项目)*次数/2=N*(N-1)/2=N^2/2-N/2=O(n^2)
    时间复杂度=O(n^2)

  • 相关阅读:
    java-5
    java-4
    java-03
    java-02
    Java的集合类
    数据库之约束
    网络编程
    多表查询
    二维数组打印乘法表,三角形,输入三个数,输出最大值
    例:进店买衣服案例
  • 原文地址:https://www.cnblogs.com/tom-gao/p/7902605.html
Copyright © 2011-2022 走看看