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 相关文章推荐
Python3 能振兴 Python的原因分析
Nov 28 Python
Python进程通信之匿名管道实例讲解
Apr 11 Python
详解Python实现按任意键继续/退出的功能
Aug 19 Python
Python OpenCV处理图像之滤镜和图像运算
Jul 10 Python
win7 x64系统中安装Scrapy的方法
Nov 18 Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
Jan 05 Python
Django异步任务之Celery的基本使用
Mar 23 Python
python实现图片插入文字
Nov 26 Python
爬虫代理池Python3WebSpider源代码测试过程解析
Dec 20 Python
python实现修改固定模式的字符串内容操作示例
Dec 30 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
Feb 12 Python
PyQt5中向单元格添加控件的方法示例
Mar 24 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 中的str_replace 函数总结
2007/04/27 PHP
php实现refresh刷新页面批量导入数据的方法
2014/12/23 PHP
PHP实现将浏览历史页面网址保存到cookie的方法
2015/01/26 PHP
Yii2如何批量添加数据
2016/05/17 PHP
JS网络游戏-(模拟城市webgame)提供的一些例子下载
2007/10/14 Javascript
js 自定义的联动下拉框
2010/02/07 Javascript
怎样在JavaScript里写一个swing把数据插入数据库
2012/12/10 Javascript
js 判断控件获得焦点的示例代码
2014/03/04 Javascript
js操作输入框提示信息且响应鼠标事件
2014/03/25 Javascript
javascript实现数组去重的多种方法
2016/03/14 Javascript
javascript使用闭包模拟对象的私有属性和方法
2016/10/05 Javascript
基于Angularjs+mybatis实现二级评论系统(仿简书)
2017/02/13 Javascript
JS时间控制实现动态效果的实例讲解
2017/07/31 Javascript
node.js多个异步过程中判断执行是否完成的解决方案
2017/12/10 Javascript
react-redux中connect的装饰器用法@connect详解
2018/01/13 Javascript
React 组件中的 bind(this)示例代码
2018/09/16 Javascript
koa源码中promise的解读
2018/11/13 Javascript
layui问题之模拟table表格中的选中按钮选中事件的方法
2019/09/20 Javascript
微信小程序实现分页加载效果
2020/11/19 Javascript
jQuery实现全选按钮
2021/01/01 jQuery
[45:16]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第一场 12.12
2020/12/16 DOTA
深入理解Python中的元类(metaclass)
2015/02/14 Python
在python中将list分段并保存为array类型的方法
2019/07/15 Python
用Python将Excel数据导入到SQL Server的例子
2019/08/24 Python
Python中six模块基础用法
2019/12/08 Python
pycharm如何实现跨目录调用文件
2020/02/28 Python
Python调用C语言程序方法解析
2020/07/07 Python
使用css3制作登录表单的步骤
2014/04/07 HTML / CSS
阿迪达斯奥地利官方商城:adidas.at
2016/10/16 全球购物
Linux文件系统类型
2012/09/16 面试题
校园网站的创业计划书范文
2013/12/30 职场文书
大学毕业自我鉴定范文
2014/02/03 职场文书
国家税务局领导班子对照检查材料思想汇报
2014/10/04 职场文书
图书借阅制度范本
2015/08/06 职场文书
如何使用JavaScript策略模式校验表单
2021/04/29 Javascript
教你win10系统中APPCRASH事件问题解决方法
2022/07/15 数码科技