您的位置:首页 > 编程语言 > Python开发

Python实现插入排序

2017-11-25 14:29 197 查看

插入排序(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 value

insert_sort([4, 2, 6, 1, 9], False)

时间复杂度:

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

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

稳定性:稳定

动态图片演示:



工作原理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: