python实现的直接插入排序算法
来源:互联网 发布:小白编程网站 编辑:程序博客网 时间:2024/03/29 06:39
插入排序—直接插入排序(Straight Insertion Sort)
基本思想:
将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。
要点:设立哨兵,作为临时存储和判断数组边界之用。
直接插入排序示例:
如果碰见一个和插入元素相等的,那么插入元素把想插入的元素放在相等元素的后面。所以,相等元素的前后顺序没有改变,从原无序序列出去的顺序就是排好序后的顺序,所以插入排序是稳定的。
效率:
时间复杂度:O(n^2).
其他的插入排序有二分插入排序,2-路插入排序。
实现代码:
<span style="font-size:14px;">#!/usr/bin/python2.6a=[7,11,3,8,2,10,6,9,5,4]for i in range(len(a)): if a[i]<a[i-1]: temp=a[i] k=i-1 a[i]=a[i-1] while(temp<a[k] and k>=0): a[k+1]=a[k] k-=1 a[k+1]=temp print a</span>
运行结果:
1 0
- python实现的直接插入排序算法
- 排序算法C++ && Python实现---直接插入排序
- 直接插入排序 Python实现
- 直接插入排序 Python实现
- 实现直接插入排序算法
- 直接插入排序算法实现
- 直接插入排序算法实现
- 排序算法--插入排序(直接插入排序、折半插入、shell排序)的java实现
- 各种排序算法的实现-1(直接插入排序)
- 【数据结构与算法】【排序】直接插入排序的代码实现
- [排序算法]--直接插入排序的三种实现(Java)
- 【排序算法】直接插入排序(java实现)
- 排序算法--Java实现直接插入排序
- JAVA 实现直接插入排序算法的实现
- 排序算法总结(冒泡排序、直接插入排序、希尔排序)(python实现)
- 直接插入排序、折半插入排序、冒泡排序、快速排序的算法实现
- python算法实践1-直接插入排序
- 插入排序算法的python实现
- volatile的作用
- WebService 的发布方式
- __devexit_p的作用
- struts2 上传文件
- 被遗忘的 Logrotate
- python实现的直接插入排序算法
- 2016.1.22寒假任务
- 解决TableViewCell分割线默认左边间隔15点
- ZOJ1045-HangOver
- java基础篇--02<对类的操作>
- Hive学习1_hive配置遇到的问题:Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%
- 临界段CCriticalSection的使用
- Socket方式发布 WebService
- 循环递归treeview节点树