Python 折半插入排序
来源:互联网 发布:linux中反引号的作用 编辑:程序博客网 时间:2024/06/05 14:17
基本思想
对直接插入排序寻找合适插入点时,用了类似二分法的寻位方法
Python实现
def binaryInsert(a):# 折半插入排序: 小->大# 在直接插入排序的基础上使用了折半查找的方法 for i in xrange(1, len(a)): index = a[i] low = 0 hight = i - 1 while low <= hight: mid = (low + hight) / 2 if index > a[mid]: low = mid + 1 else: hight = mid - 1 # 跳出循环后 low, mid 都是一样的, hight = low - 1 for j in xrange(i, low, -1): a[j] = a[j - 1] a[low] = index return a
虽然在查找插入点的过程优于直接插入法,但元素移动次数不变,因此复杂度依旧为:O(n^2)
0 0
- Python 折半插入排序
- 插入排序--折半插入
- 插入排序--折半插入
- 排序:折半插入排序
- 排序--折半插入排序
- 排序-折半插入排序
- 【插入排序】折半插入排序
- 插入排序--折半插入排序
- 折半插入排序,插入排序
- 折半插入排序
- 折半插入排序
- 折半插入排序算法
- 折半插入排序算法
- 折半插入排序 练习
- 折半插入排序
- 折半插入排序
- 折半插入排序
- 折半插入排序 Java
- DSP6000的几个简单优化技巧
- 进程间通讯方式总结
- 使用IDEA开发Android项目时遇到Cannot merge new index into a non-jumbo instruction! 的解决
- jstl中的日期格式化
- 数字信号处理的学习资源
- Python 折半插入排序
- Ubuntu的recovery模式进入及退出
- UVa1395&POJ3522--Slim Span【kruskal】瓶颈生成树
- 单片机,矩阵键盘扫描驱动
- LeetCode 45 Permutations
- sql 相关函数
- 白话压缩感知(含Matlab代码)
- Node.js 博客实例(十)pv统计和留言统计
- STRAIGHT_JOIN优化坑爹SQL