用python实现插入排序
来源:互联网 发布:乐视电视网络连接失败 编辑:程序博客网 时间:2024/06/06 10:42
一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才有插入的位置),而第二部分就只包含这一个元素(即待插入元素)。在第一部分排序完成后,再将这个最后元素插入到已排好序的第一部分中。
def insertionSort(alist): for index in range(1,len(alist)): currentvalue = alist[index] position = index while position>0 and alist[position-1]>currentvalue: alist[position]=alist[position-1] position = position-1 alist[position]=currentvaluealist = [54,26,93,17,77,31,44,55,20]insertionSort(alist)print(alist)
时间复杂度
最优时间复杂度:O(n) (升序排列,序列已经处于升序状态)
最坏时间复杂度:O(n2)
稳定性:稳定
阅读全文
0 0
- 用python实现插入排序
- 用Python实现插入排序
- 用python实现插入排序
- python实现插入排序
- python实现插入排序
- Python 实现插入排序
- Python实现插入排序
- python实现插入排序
- python实现插入排序
- 插入排序-python实现
- Python实现插入排序
- Python实现插入排序
- python实现插入排序
- python 实现插入排序算法
- 插入排序之python实现
- Python 插入排序算法实现
- 直接插入排序 Python实现
- 插入排序InsertionSort(Python实现)
- ASP.NET 页面之间传值的几种方式
- 剑指offer 25 题 ,java 递归实现
- HttpClient总结一之基本使用
- 【Google浏览器系列】之google Chrome浏览器(理论篇)
- 【Google浏览器系列】之Google Chrome浏览器(操作篇)(上)
- 用python实现插入排序
- 随笔2
- JavaScript数组操作
- 【Google浏览器系列】之Google Chrome浏览器(操作篇)(下)
- 勒索安全防护
- .NET 开发环境搭建
- Form submission canceled because the form is not connected
- 【ASP.NET系列】之ASP.NET MVC 路由
- 【ASP.NET系列】之ASP.NET MVC 控制器