本文實例講述了Python快速查找算法的應用,分享給大家供大家參考。
具體實現方法如下:
import randomdef partition(list_object,start,end): random_choice = start #random.choice(range(start,end+1)) #把這里的start改成random()效率會更高些 x = list_object[random_choice] i = start j = end while True: while list_object[i] < x and i < end: i += 1 while list_object[j] > x: j -= 1 if i >= j: break list_object[i],list_object[j] = list_object[j],list_object[i] print list_object #list_object[random_choice] = list_object[j] #list_object[j] = random_choice return jdef quick_sort(list_object,start,end): if start < end: temp = partition(list_object,start,end) quick_sort(list_object,start,temp-1) quick_sort(list_object,temp + 1 ,end) a_list = [69,65,90,37,92,6,28,54]quick_sort(a_list,0,7)print a_list
程序測試環境為Python2.7.6
輸出結果如下:
[54, 65, 28, 37, 6, 69, 92, 90][6, 37, 28, 54, 65, 69, 92, 90][6, 37, 28, 54, 65, 69, 92, 90][6, 28, 37, 54, 65, 69, 92, 90][6, 28, 37, 54, 65, 69, 90, 92][6, 28, 37, 54, 65, 69, 90, 92]
希望本文所述對大家的Python程序設計有所幫助。
新聞熱點
疑難解答