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中函数的参数传递与可变长参数介绍
Jun 30 Python
win10下Python3.6安装、配置以及pip安装包教程
Oct 01 Python
python中学习K-Means和图片压缩
Nov 20 Python
Python语言实现将图片转化为html页面
Dec 06 Python
Python并发编程协程(Coroutine)之Gevent详解
Dec 27 Python
Django代码性能优化与Pycharm Profile使用详解
Aug 26 Python
python+webdriver自动化环境搭建步骤详解
Jun 03 Python
Python的赋值、深拷贝与浅拷贝的区别详解
Feb 12 Python
Python3 利用face_recognition实现人脸识别的方法
Mar 13 Python
Pytorch通过保存为ONNX模型转TensorRT5的实现
May 25 Python
Python发送邮件实现基础解析
Aug 14 Python
Docker如何部署Python项目的实现详解
Oct 26 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
虫族 Zerg 热键控制
2020/03/14 星际争霸
用PHP查询域名状态whois的类
2006/11/25 PHP
小文件php+SQLite存储方案
2010/09/04 PHP
跟我学Laravel之请求(Request)的生命周期
2014/10/15 PHP
php求今天、昨天、明天时间戳的简单实现方法
2016/07/28 PHP
php使用parse_str实现查询字符串解析到变量中的方法
2017/02/17 PHP
Web开发者必备的12款超赞jQuery插件
2010/12/03 Javascript
js的隐含参数(arguments,callee,caller)使用方法
2014/01/28 Javascript
Javascript实现快速排序(Quicksort)的算法详解
2015/09/06 Javascript
jquery设置css样式的多种方法(总结)
2017/02/21 Javascript
JS 实现banner图片轮播效果(鼠标事件)
2017/08/04 Javascript
JavaScript实现简单生成随机颜色的方法
2017/09/21 Javascript
js代码规范之Eslint安装与配置详解
2018/09/08 Javascript
微信小程序中使用Async-await方法异步请求变为同步请求方法
2019/03/28 Javascript
功能完善的小程序日历组件的实现
2020/03/31 Javascript
javascript设计模式 ? 抽象工厂模式原理与应用实例分析
2020/04/09 Javascript
ant design的table组件实现全选功能以及自定义分页
2020/11/17 Javascript
[01:18]PWL开团时刻DAY4——圣剑与抢盾
2020/11/03 DOTA
python操作ie登陆土豆网的方法
2015/05/09 Python
深入理解python对json的操作总结
2017/01/05 Python
Python读取Json字典写入Excel表格的方法
2018/01/03 Python
python smtplib模块实现发送邮件带附件sendmail
2018/05/22 Python
Python+Pandas 获取数据库并加入DataFrame的实例
2018/07/25 Python
Pycharm更换python解释器的方法
2018/10/29 Python
Keras官方中文文档:性能评估Metrices详解
2020/06/15 Python
FILA斐乐中国官方商城:意大利运动品牌
2017/01/25 全球购物
Vans澳大利亚官网:购买鞋子、服装及配件
2019/09/05 全球购物
设计模式的基本要素是什么
2014/04/21 面试题
饮料业务员岗位职责
2013/12/15 职场文书
会计师职业生涯规划范文
2014/02/18 职场文书
班级安全教育实施方案
2014/02/23 职场文书
保洁公司服务承诺书
2014/05/28 职场文书
产品陈列协议书(标准版)
2014/09/17 职场文书
运动会加油稿100字
2014/09/19 职场文书
2014年教育工作总结
2014/11/26 职场文书
六一亲子活动感想
2015/08/07 职场文书