最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

python快速查找算法应用实例

来源:懂视网 责编:小采 时间:2020-11-27 14:38:05
文档

python快速查找算法应用实例

python快速查找算法应用实例:本文实例讲述了Python快速查找算法的应用,分享给大家供大家参考。 具体实现方法如下: import random def partition(list_object,start,end): random_choice = start #random.choice(range(start,end+1)) #把这里的
推荐度:
导读python快速查找算法应用实例:本文实例讲述了Python快速查找算法的应用,分享给大家供大家参考。 具体实现方法如下: import random def partition(list_object,start,end): random_choice = start #random.choice(range(start,end+1)) #把这里的

本文实例讲述了Python快速查找算法的应用,分享给大家供大家参考。

具体实现方法如下:

import random
def 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 j

def 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程序设计有所帮助。

文档

python快速查找算法应用实例

python快速查找算法应用实例:本文实例讲述了Python快速查找算法的应用,分享给大家供大家参考。 具体实现方法如下: import random def partition(list_object,start,end): random_choice = start #random.choice(range(start,end+1)) #把这里的
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top