zoukankan      html  css  js  c++  java
  • 进阶:python3实现 插入排序

    一图胜千言,插入排序的核心逻辑如下:

    • 将数据分成两半,前一半是已排好序的,后一半是待排序的
    • 每次取后一半中的第一个数,在已排序的一半中,逆序依次比较,找到要插入的位置
    • 记录插入的位置,在最后判断是否需要插入即可

    实现代码:

    
    def insertionSort(a:list):
        for i in range(1,len(a)):
            value = a[i]
            insert_index = -1
    
            for j in range(i-1,-1,-1):
                if  value< a[j]:
                    a[j+1] = a[j]
                    insert_index = j
                else:
                    break
            if insert_index !=-1:
                a[insert_index] = value
        
        return a
    

    思考:

    为什么插入排序比冒泡排序更常用

    关键在于赋值操作,冒泡排序需要3次,而插入排序只需要1次

  • 相关阅读:
    python re模块
    python
    python
    Django学习手册
    Django学习手册
    前端
    前端
    Django学习手册
    前端
    Database学习
  • 原文地址:https://www.cnblogs.com/yeni/p/11162337.html
Copyright © 2011-2022 走看看