python写算法导论 插入排序
2013-07-16 16:04
155 查看
def insert_sort(list_data):
if not list_data: #list_data是否为空
return None
for i in range(1,len(list_data)): #从第二个元素开始循环列表
key = list_data[i]
j = i-1
while j>=0 and key<list_data[j]: #找到比他小的元素停下循环
list_data[j+1] = list_data[j]
j-=1
list_data[j+1] = key #插入的位置
return list_data
if __name__ == "__main__":
list_data = [5,4,3,2,1]
print insert_sort(list_data)
空间复杂度为1
时间复杂度我n^2
if not list_data: #list_data是否为空
return None
for i in range(1,len(list_data)): #从第二个元素开始循环列表
key = list_data[i]
j = i-1
while j>=0 and key<list_data[j]: #找到比他小的元素停下循环
list_data[j+1] = list_data[j]
j-=1
list_data[j+1] = key #插入的位置
return list_data
if __name__ == "__main__":
list_data = [5,4,3,2,1]
print insert_sort(list_data)
空间复杂度为1
时间复杂度我n^2
相关文章推荐
- [算法导论]插入排序 @ Python
- 【python菜鸟日记】-01 算法导论-插入排序
- 【算法导论】八皇后问题的算法实现(C、MATLAB、Python版)
- python 排序算法之---插入排序
- 170913_算法导论学习(一)_2.1 插入排序
- Python算法 插入排序和堆排序
- 算法导论程序24--直接寻址表(Python)
- 算法导论程序10--建堆(Python)
- 插入排序-算法导论学习
- 【算法导论】八皇后问题的算法实现(C、MATLAB、Python版)
- MIT:算法导论——1.算法分析——插入排序 vs 二路归并排序
- 【算法导论实验1】插入排序与归并排序
- 重温算法导论(一) 插入排序
- 【python菜鸟日记】-02算法导论-选择排序
- 算法 排序 python 实现--插入排序
- 算法导论程序8--堆(Python)
- python实现基础排序算法之(插入排序)
- 基于visual Studio2013解决算法导论之001插入排序