• 排序系列02--选择排序


    大概是最简单的一种排序了吧。。。

    选择排序:单元排序

     老湿们把教室里的座位按照好坏分了级别 然后成绩好的坐在第一区域 成绩中等的做在第二区域 成绩差的坐在第三区域

     这大概就是最叼的选择排序了吧,自嘲。。。LOL

    代码里面的操作好烦,不想打字了 。。。。但是思路很简单 大概就是逐个去比较 然后呢每次都把最小的放在前面

    def fe(list2):
        for i in range(0, len (list2)):
            min = i
            for j in range(i + 1, len(list2)):
                
                if list2[j] < list2[min]:
                    min = j
            list2[i], list2[min] = list2[min], list2[i]  

     选择排序的时间复杂度是O(n^2) 平方级的

    接下来我们要看看冒泡排序了。。。 也许你已经听过无数次人抱怨冒泡有多慢了

    于是我们这里在来一次,其实冒泡跟选择很接近他们都算法复杂都是O(n^2) {平均}

    但是很显然冒泡这边大多数情况下 做了过多的交换 

    def bubble(bubbleList):
        listLength = len(bubbleList)
        while listLength > 0:
            for i in range(listLength - 1):
                if bubbleList[i] > bubbleList[i+1]:
                    bubbleList[i] = bubbleList[i] + bubbleList[i+1]
                    bubbleList[i+1] = bubbleList[i] - bubbleList[i+1]
                    bubbleList[i] = bubbleList[i] - bubbleList[i+1]
            listLength -= 1
        print bubbleList
  • 相关阅读:
    Spring jar包功能
    maven pom.xml详细介绍,必须留一份
    redis基本类型以及优点特性
    如何实现网站的防盗链?
    php几种常见排序算法
    批量去除文件的BOM头
    Keepalived实现双机热备
    nginx配置文件详解
    源码编译安装lnmp环境
    nginx实现https网站设置
  • 原文地址:https://www.cnblogs.com/nerdlerss/p/5463979.html
Copyright © 2020-2023  润新知