Python实现插入排序

来源:互联网 发布:阿里云域名修改dns 编辑:程序博客网 时间:2024/06/03 14:00

插入排序(Insertion Sort):

插入排序是一种简单直观的排序算法。

工作原理:通过构建有序序列,对于未排序的数据,在已排序序列中从后向前进行扫描,找到相应位置并插入。插入排序,在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。

Pyhton代码实现:

# 插入排序# order 默认为True 表示升序;False 表示降序def insert_sort(value, order=True):    if not isinstance(order, bool):        raise TypeError("order 类型错误")    for x in range(1, len(value)):        for y in range(x, 0, -1):            if order:                if value[y] < value[y-1]:                    value[y], value[y-1] = value[y-1], value[y]            else:                if value[y] > value[y - 1]:                    value[y], value[y - 1] = value[y - 1], value[y]    return valueinsert_sort([4, 2, 6, 1, 9], False)

时间复杂度:

最坏时间复杂度:O(n)(升序排序,序列已经处于升序状态)

最坏时间复杂度:O(n^2)

稳定性:稳定

动态图片演示:


工作原理


原创粉丝点击