
思想简单,细节颇多;本以为很简单的两个小程序,写起来发现BUG频出,留此纪念。
#usr/bin/env pythondef binary_search(lst,t): low=0 height=len(lst)-1 quicksort(lst,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 -1def 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,low-1) quicksort( lst,low+1,right)if __name__=='__main__': print binary_search([4,8,1,5,10,2,12,3,6,9],4)@H_403_5@
总结
以上所述是小编给大家介绍的python 二分查找和快速排序实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持!
总结以上是内存溢出为你收集整理的python 二分查找和快速排序实例详解全部内容,希望文章能够帮你解决python 二分查找和快速排序实例详解所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)