数据结构&算法实践—【排序|插入排序】插入排序
2012-06-02 22:39
274 查看
转载请注明出处:http://blog.csdn.net/wklken
回主目录
排序>>选择排序>>选择排序
List:
0.概念+示例分析
1.插入排序实现
0 start
基本概念:
维基百科http://zh.wikipedia.org/wiki/%E6%8F%92%E5%85%A5%E6%8E%92%E5%BA%8F
插入排序,简单来说就是每次拿一个新的数,将其插入到有序序列中.
示例:
[8, 4, 3, 1, 6, 9, 2, 7]
index- 1 #从第二个数开始
move 1 , change-> [4, 8, 3, 1, 6, 9, 2, 7] #移动一次,插入
index- 2
move 2 , change-> [3, 4, 8, 1, 6, 9, 2, 7] #移动两次,插入
index- 3
move 3 , change-> [1, 3, 4, 8, 6, 9, 2, 7]
index- 4
move 1 , change-> [1, 3, 4,6, 8, 9, 2,
7]
index- 5
move 0 , nochange -> [1, 3, 4, 6, 8, 9, 2, 7]
index- 6
move 5 , change-> [1,2, 3, 4, 6, 8, 9, 7]
index- 7
move 2 , change-> [1, 2, 3, 4, 6,7, 8, 9]
[1, 2, 3, 4, 6, 7, 8, 9]
1 start
插入排序python实现
改进及优化:
1.加入监控,已排序完成直接退出
2.使用二分插入排序,即,处理某个节点往前插入的时候,使用二分查找插入
回主目录
排序>>选择排序>>选择排序
List:
0.概念+示例分析
1.插入排序实现
0 start
基本概念:
维基百科http://zh.wikipedia.org/wiki/%E6%8F%92%E5%85%A5%E6%8E%92%E5%BA%8F
插入排序,简单来说就是每次拿一个新的数,将其插入到有序序列中.
示例:
[8, 4, 3, 1, 6, 9, 2, 7]
index- 1 #从第二个数开始
move 1 , change-> [4, 8, 3, 1, 6, 9, 2, 7] #移动一次,插入
index- 2
move 2 , change-> [3, 4, 8, 1, 6, 9, 2, 7] #移动两次,插入
index- 3
move 3 , change-> [1, 3, 4, 8, 6, 9, 2, 7]
index- 4
move 1 , change-> [1, 3, 4,6, 8, 9, 2,
7]
index- 5
move 0 , nochange -> [1, 3, 4, 6, 8, 9, 2, 7]
index- 6
move 5 , change-> [1,2, 3, 4, 6, 8, 9, 7]
index- 7
move 2 , change-> [1, 2, 3, 4, 6,7, 8, 9]
[1, 2, 3, 4, 6, 7, 8, 9]
1 start
插入排序python实现
#!/usr/bin/python # -*- coding:utf-8 -*- #插入排序 #@author: wklken@yeah.net def insert_sort(l): print l for i in range(1,len(l)): #从第二个元素开始 value = l[i] while i >= 1 and l[i-1] > value: l[i] = l[i-1] i -= 1 l[i] = value return l l = [8, 4, 3, 1, 6, 9, 2, 7] print insert_sort(l)
改进及优化:
1.加入监控,已排序完成直接退出
2.使用二分插入排序,即,处理某个节点往前插入的时候,使用二分查找插入
相关文章推荐
- 数据结构&算法实践—【排序|插入排序】插入排序
- 数据结构&算法实践—【排序|交换排序】奇偶排序
- 数据结构&算法实践—【排序|选择排序】堆排序
- 数据结构&算法实践—【排序|选择排序】选择排序
- 程序算法艺术与实践:经典排序算法之插入排序
- 数据结构&算法实践—【排序|交换排序】梳子排序
- 数据结构&算法实践—【排序|交换排序】地精排序及改进
- 数据结构&算法实践—【排序|交换排序】梳子排序
- 数据结构&算法实践—【排序|交换排序】地精排序及改进
- 数据结构&算法实践—【排序|交换排序】冒泡排序及改进
- 数据结构&算法实践—【排序|交换排序】Bogo排序
- 数据结构&算法实践—【排序|交换排序】冒泡排序及改进
- 数据结构&算法实践—【排序|交换排序】Bogo排序
- 数据结构&算法实践—【排序|交换排序】奇偶排序
- Algorithms - 排序算法之一:插入排序
- 算法基础:排序(一)——选择排序、插入排序、Shell排序——Python实现
- 笔试面试最常涉及到的12种排序算法(包括插入排序、二分插入排序、希尔排序、选择排序、冒泡排序、鸡尾酒排序、快速排序、堆排序、归并排序、桶排序、计数排序和基数排序)进行了详解。每一种算法都有基本介绍、算
- 基础算法之四--排序: 之插入排序
- 美团推荐算法实践:机器学习重排序模型成亮点
- 几种基本的排序算法:选择排序、插入排序、冒泡排序