python快速查找算法应用实例

 更新时间:2014年09月26日 10:41:35   投稿:shichen2014  
这篇文章主要介绍了python快速查找算法,是一个比较经典的算法应用,有一定的借鉴价值,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • pytorch模型保存到本地后,如何实现继续训练

    pytorch模型保存到本地后,如何实现继续训练

    在PyTorch中,保存和加载模型对于实现模型训练的中断和恢复非常有用,保存模型主要有两种方式:一是保存整个模型包括结构与参数;二是仅保存模型的state_dict,加载模型时,若保存了整个模型则直接加载,若仅保存了state_dict,则需先实例化模型结构后加载
    2024-09-09
  • Python不同目录间进行模块调用的实现方法

    Python不同目录间进行模块调用的实现方法

    这篇文章主要介绍了Python不同目录间进行模块调用的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Python之eval()函数危险性浅析

    Python之eval()函数危险性浅析

    这篇文章主要介绍了Python之eval()函数危险性浅析,需要的朋友可以参考下
    2014-07-07
  • Python实现从url中提取域名的几种方法

    Python实现从url中提取域名的几种方法

    这篇文章主要介绍了Python实现从url中提取域名的几种方法,本文给出了3种方法实现在URL中提取域名的需求,需要的朋友可以参考下
    2014-09-09
  • 在Python 不同级目录之间模块的调用方法

    在Python 不同级目录之间模块的调用方法

    今天小编就为大家分享一篇在Python 不同级目录之间模块的调用方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Selenium的使用详解

    Selenium的使用详解

    今天小编就为大家分享一篇关于Selenium的使用详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • 快速解决pyqt5窗体关闭后子线程不同时退出的问题

    快速解决pyqt5窗体关闭后子线程不同时退出的问题

    今天小编就为大家分享一篇快速解决pyqt5窗体关闭后子线程不同时退出的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • Ubuntu下安装PyV8

    Ubuntu下安装PyV8

    本文给大家简单介绍了下在ubuntu下安装pyv8的方法和注意事项,非常的实用,有需要的小伙伴可以参考下
    2016-03-03
  • Python图像处理之图像金字塔详解

    Python图像处理之图像金字塔详解

    这篇文章主要介绍了图像处理中的图像金字塔,包括图像向上取样和向下取样。文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编学习一下
    2022-02-02
  • Python实现本地csv文件合并

    Python实现本地csv文件合并

    大家好,本篇文章主要讲的是Python实现本地csv文件合并,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02

最新评论