python 二分查找和快速排序实例详解
2017-10-13 15:07
831 查看
思想简单,细节颇多;本以为很简单的两个小程序,写起来发现bug频出,留此纪念。
#usr/bin/env python def binary_search(lst,t): low=0 height=len(lst)-1 quicksort(lst,0,height) print lst while low<=height: mid = (low+height)/2 if lst[mid] == t: return lst[mid] elif lst[mid]>t: height=mid-1 else: low=mid+1 return -1 def quicksort( lst, left , right): low=left high=right key=lst[left] if left>=right: return 0 while low<high: while low<high and key<lst[high]: high=high-1 lst[low]=lst[high] while low<high and key>lst[low]: print lst[low] low=low+1 lst[high]=lst[low] lst[low]=key quicksort( lst , left ,low-1) quicksort( lst , low+1 , right) if __name__=='__main__': print binary_search([4,8,1,5,10,2,12,3,6,9],4)
总结
以上所述是小编给大家介绍的python 二分查找和快速排序实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:
相关文章推荐
- python 查找字符串是否存在实例详解
- Python二分查找详解
- 黑马程序员_Java基础_04数组main函数args详解、数组排序、二分查找实例
- Python实现二分查找与bisect模块详解
- python中实现二分查找,插入排序,归并排序,快速排序
- 二分查找、快速排序对比和详解
- Python二分查找详解
- Python heapq使用详解及实例代码
- python开发之for循环操作实例详解
- Python类的实例属性详解
- python中的二维列表实例详解
- Python 多线程的实例详解
- Python随机数用法实例详解【基于random模块】
- php 快速排序和二分查找
- 二分查找详解
- Python 二分查找算法
- python 二分查找
- python处理按钮消息的实例详解
- 【从零学习经典算法系列】分治策略实例——二分查找
- python开发学习-day04(迭代器、生成器、装饰器、二分查找、正则)