python快速查找算法应用实例


Posted in Python onSeptember 26, 2014

本文实例讲述了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的Flask中使用WTForms表单框架的基础教程
Jun 07 Python
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
Sep 21 Python
Python安装模块的常见问题及解决方法
Feb 05 Python
python控制windows剪贴板,向剪贴板中写入图片的实例
May 31 Python
Python使用ConfigParser模块操作配置文件的方法
Jun 29 Python
Matplotlib中文乱码的3种解决方案
Nov 15 Python
Pythony运维入门之Socket网络编程详解
Apr 15 Python
Python3.5装饰器典型案例分析
Apr 30 Python
python3实现单目标粒子群算法
Nov 14 Python
python中的RSA加密与解密实例解析
Nov 18 Python
详解BeautifulSoup获取特定标签下内容的方法
Dec 07 Python
python flask开发的简单基金查询工具
Jun 02 Python
python求众数问题实例
Sep 26 #Python
python字典序问题实例
Sep 26 #Python
python计算书页码的统计数字问题实例
Sep 26 #Python
python实现从web抓取文档的方法
Sep 26 #Python
python实现udp数据报传输的方法
Sep 26 #Python
python使用Berkeley DB数据库实例
Sep 26 #Python
python实现通过shelve修改对象实例
Sep 26 #Python
You might like
在 PHP 中使用随机数的三个步骤
2006/10/09 PHP
Snoopy类使用小例子
2008/04/15 PHP
Laravel框架之解决前端显示图片问题
2019/10/24 PHP
Jquery获取复选框被选中值的简单方法
2013/07/04 Javascript
JS判断浏览器是否支持某一个CSS3属性的方法
2014/10/17 Javascript
jQuery中before()方法用法实例
2014/12/25 Javascript
JS运动基础框架实例分析
2015/03/03 Javascript
深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解
2016/04/03 Javascript
打造自己的jQuery插件入门教程
2016/09/23 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
2016/12/08 Javascript
原生JS改变透明度实现轮播效果
2017/03/24 Javascript
Restify中接入Socket.io报Error:Can’t set headers的错误解决
2017/03/28 Javascript
微信小程序中的swiper组件详解
2017/04/14 Javascript
JS简单验证上传文件类型的方法
2017/04/17 Javascript
jQuery滚动插件scrollable.js用法分析
2017/05/25 jQuery
js对象实例详解(JavaScript对象深度剖析,深度理解js对象)
2017/09/21 Javascript
Vue.JS项目中5个经典Vuex插件
2017/11/28 Javascript
使用socket.io制做简易WEB聊天室
2018/01/02 Javascript
微信小程序网络层封装的实现(promise, 登录锁)
2019/05/08 Javascript
微信小程序实用代码段(收藏版)
2019/12/17 Javascript
原生javascript的ajax请求及后台PHP响应操作示例
2020/02/24 Javascript
用Python实现换行符转换的脚本的教程
2015/04/16 Python
使用httplib模块来制作Python下HTTP客户端的方法
2015/06/19 Python
关于python下cv.waitKey无响应的原因及解决方法
2019/01/10 Python
深入浅析Python中的迭代器
2019/06/04 Python
纯CSS3实现的阴影效果
2014/12/24 HTML / CSS
全球销量第一生发产品:Viviscal
2017/12/21 全球购物
新奥尔良珠宝:Mignon Faget
2020/11/23 全球购物
一道Delphi上机题
2012/06/04 面试题
交通安全责任书范本
2014/07/24 职场文书
公安局负责人查摆问题及整改方案
2014/09/27 职场文书
2014标准社保办理委托书
2014/10/06 职场文书
慈善募捐倡议书
2015/04/27 职场文书
欠款起诉书范文
2015/05/19 职场文书
农贸批发市场管理制度
2015/08/07 职场文书
CSS3 Tab动画实例之背景切换动态效果
2021/08/23 HTML / CSS