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)

  • 相关阅读:
    链表相加
    Unity 摄像机跟随
    整数反转
    两数和
    频繁项集挖掘思路
    有关于二进制的乘法计算(原码一位乘)
    JAVA面向对象(下)
    JAVAAPI
    JAVA面向对象()上)
    JAVA基础第一章
  • 原文地址:https://www.cnblogs.com/tom-gao/p/7902605.html
Copyright © 2011-2022 走看看