zoukankan      html  css  js  c++  java
  • sorted_一个函数秒杀冒泡排序算法和选择排序

    sorted一招杀

    a = [3,9,12,4,5,7,8,110]
    print(sorted(a,reverse=True))# true为降序
    print(sorted(a,reverse=False))# revers= false为升序
    print(sorted(a))#默认是false升序排列


    Bubble_sort
    下面看看坑死人无数的冒泡排序
    内循环和外循环
    每次循环依次比较大小并来回挪坑,直到把目标值放入设定坑
    再剩下的那堆继续如上操作
    圈复杂度O(n²)
    import  time
    def bubble_sort(a):
    time1 = time.time()
    for i in range (len(a)-1,0,-1):
    for j in range (i):
    if a[j] > a[j+1]:
    a[j],a[j+1] = a[j+1],a[j]
    time2 = time.time()
    print(a)
    print(time2 - time1)
    a = [9,15,7,2,1]
    bubble_sort(a)
    select_sort
    优化一下下,因为有人说读比写节约资源,那么选择排序登台
    我每一轮找最值,然后只交换最值与既定坑值
    圈复杂度还是O(n²)
    #比较n-1次;最多交换n-2次
    # 算法不稳定,优势较冒泡读比写节约资源
    '''
    首先在未排序的序列中找到最大(小)元素
    存放到排序序列的起(终)位置
    再从剩余未排序元素中继续寻找最大(小)元素,然后放在已排序序列的末尾或前面~
    '''
    def select_sort(a):
    for i in range (len(a)-1):
    #动态标记最小索引位置
    min_index = i
    for j in range (i+1,len(a)):
    if a[j] < a[min_index]:#每一轮找一次最小值,找到后记录下最小值索引值
    min_index = j
    if min_index != i:#如果最小值索引值与预设不一致,将预设位数与本轮比较最小值做交换
    a[i],a[min_index] = a[min_index],a[i]
    return a
    a = [99,123,2,6,9527]
    select_sort(a)
    print(a)
  • 相关阅读:
    python-opencv 分离图片(视频)中的某一颜色物体
    python-opencv遍历图片像素,并对像素进行操作
    7月5日实习日志
    7月4日实习日志
    对《软件工程》这门课总结
    作业四: 结对编程项目---四则运算
    PSP记录个人项目耗时情况
    代码复审
    是否需要有代码规范
    四则运算程序生成
  • 原文地址:https://www.cnblogs.com/digitalNatives/p/10582807.html
Copyright © 2011-2022 走看看