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)
稳定性:稳定
动态图片演示:
工作原理
相关文章推荐
- python实现插入排序和选择排序
- 用Python实现基本排序算法03——插入排序
- Python实现 -- 冒泡排序、选择排序、插入排序
- 算法导论学习-插入排序python实现
- 选择排序、插入排序、冒泡排序python实现
- python实现插入排序
- python实现插入排序
- python实现基础排序算法之(插入排序)
- 【程序员笔试面试必会——排序①】Python实现 冒泡排序、选择排序、插入排序、归并排序、快速排序、堆排序、希尔排序
- 排序和搜索(六)——插入排序的python实现
- python中两种实现排序的方法:冒泡排序和插入排序
- python 实现冒泡,选择,插入排序
- Python实现冒泡排序、选择排序、插入排序、快速排序、归并排序、二分法查找算法(基于《算法导论》伪代码)
- 用python实现插入排序
- 排序法学习之插入排序(python3实现)
- python3实现选择排序和插入排序
- Python实现冒泡排序,选择排序,插入排序
- 算法基础:排序(一)——选择排序、插入排序、Shell排序——Python实现
- python实现插入排序
- 插入排序(INSERTION-SORT) PYTHON实现