11 Sep 2019
            插入排序算法
插入排序算法
思路:以数组的第一个元素为初始数列,一个个增加,逐位插入,即插入排序算法。
代码实现
Python实现
class InsertSort:
    @staticmethod
    def sort(array):
        # 第一个元素就是有序序列了
        for i in range(1, len(array)):
            # 从后往前依次插入
            for j in range(i, 0, -1):
                if array[j] > array[j - 1]:
                    continue
                array[j], array[j - 1] = array[j - 1], array[j]
        return array
def main():
    array = [5, 3, 2, 1, 9, 8, 4, 0]
    print("插入排序:%s" % InsertSort.sort(array))
输出结果
插入排序:[0, 1, 2, 3, 4, 5, 8, 9]
附录
- 时间复杂度
    - 平均:$O(n^2)$
- 最坏的情况:$O(n^2)$
- 最好的情况:$O(n)$
 
- 空间复杂度:O(1)
- 稳定性:稳定
博文
  Til next time,
  LinkWorld
  at 23:40
 
      