python应用_快速查找

来源:互联网 发布:nginx的内置变量 编辑:程序博客网 时间:2024/06/08 11:27

快速查找算法:

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        

输出结果:

[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]


原创粉丝点击