本文透過實例程式碼給大家詳細介紹了python 二分查找和快速排序,的相關知識,需要的朋友可以參考下
思想簡單,細節頗多;本以為很簡單的兩個小程序,寫起來發現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實作二分查找與快速排序實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!