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中变量的拷贝和作用域问题
May 05 Python
Python中import导入上一级目录模块及循环import问题的解决
Jun 04 Python
python消费kafka数据批量插入到es的方法
Dec 27 Python
selenium获取当前页面的url、源码、title的方法
Jun 12 Python
python如何解析配置文件并应用到项目中
Jun 27 Python
Python3从零开始搭建一个语音对话机器人的实现
Aug 23 Python
使用Django搭建web服务器的例子(最最正确的方式)
Aug 29 Python
基于spring boot 日志(logback)报错的解决方式
Feb 20 Python
Jupyter 无法下载文件夹如何实现曲线救国
Apr 22 Python
python 对一幅灰度图像进行直方图均衡化
Oct 27 Python
python的dict判断key是否存在的方法
Dec 09 Python
SpringBoot首页设置解析(推荐)
Feb 11 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错误处理函数
2016/04/03 PHP
浅析Yii2 GridView实现下拉搜索教程
2016/04/22 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
2018/01/27 PHP
在laravel中使用with实现动态添加where条件
2019/10/10 PHP
WordPress 照片lightbox效果的运用几点
2009/06/22 Javascript
js操作CheckBoxList实现全选/反选(在客服端完成)
2013/02/02 Javascript
基于Jquery+div+css实现弹出登录窗口(代码超简单)
2015/10/27 Javascript
解决JavaScript数字精度丢失问题的方法
2015/12/03 Javascript
学习JavaScript设计模式之中介者模式
2016/01/14 Javascript
JS作为值的函数用法示例
2016/06/20 Javascript
JSON格式的时间/Date(2367828670431)/格式转为正常的年-月-日 格式的代码
2016/07/27 Javascript
Node.js中流(stream)的使用方法示例
2017/07/16 Javascript
JS禁止浏览器右键查看元素或按F12审查元素自动关闭页面示例代码
2017/09/07 Javascript
node实现的爬虫功能示例
2018/05/04 Javascript
Angular ui-roter 和AngularJS 通过 ocLazyLoad 实现动态(懒)加载模块和依赖
2018/11/25 Javascript
js实现的格式化数字和金额功能简单示例
2019/07/30 Javascript
layui select 禁止点击的实现方法
2019/09/05 Javascript
layui实现鼠标移动到单元格上显示数据的方法
2019/09/11 Javascript
VUE+node(express)实现前后端分离
2019/10/13 Javascript
使用p5.js实现动态GIF图片临摹重现
2019/10/23 Javascript
uniapp微信小程序:key失效的解决方法
2021/01/20 Javascript
Python中的__SLOTS__属性使用示例
2015/02/18 Python
python cv2截取不规则区域图片实例
2019/12/21 Python
django queryset相加和筛选教程
2020/05/18 Python
Python三维绘图之Matplotlib库的使用方法
2020/09/20 Python
html5本地存储 localStorage操作使用详解
2016/09/20 HTML / CSS
美国环保妈妈、儿童和婴儿用品购物网站:The Tot
2019/11/24 全球购物
Booking.com亚太地区:Booking.com APAC
2020/02/07 全球购物
合伙经营协议书
2014/04/18 职场文书
高三英语复习计划
2015/01/19 职场文书
2015年小学数学教师个人工作总结
2015/05/25 职场文书
有关骆驼祥子的读书笔记
2015/06/26 职场文书
员工工作心得体会
2019/05/07 职场文书
告别网页搜索!教你用python实现一款属于自己的翻译词典软件
2021/06/03 Python
Redis实战高并发之扣减库存项目
2022/04/14 Redis