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用模块pytz来转换时区
Aug 19 Python
利用标准库fractions模块让Python支持分数类型的方法详解
Aug 11 Python
利用Python进行异常值分析实例代码
Dec 07 Python
pandas数据清洗,排序,索引设置,数据选取方法
May 18 Python
基于python OpenCV实现动态人脸检测
May 25 Python
详解爬虫被封的问题
Apr 23 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
Apr 26 Python
python中栈的原理及实现方法示例
Nov 27 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
May 10 Python
Python collections.defaultdict模块用法详解
Jun 18 Python
python中如何设置代码自动提示
Jul 15 Python
python控制台打印log输出重复的解决方法
May 14 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
定制404错误页面,并发信给管理员的程序
2006/10/09 PHP
PHP实现上传多文件示例代码
2017/02/20 PHP
PHPTree――php快速生成无限级分类
2018/03/30 PHP
PHP常用日期加减计算方法实例小结
2018/07/31 PHP
js判断上传文件类型判断FileUpload文件类型代码
2014/05/20 Javascript
Javascript保存网页为图片借助于html2canvas库实现
2014/09/05 Javascript
jQuery 获取遍历获取table中每一个tr中的第一个td的方法
2016/10/05 Javascript
微信小程序开发之toast提示插件使用示例
2017/06/08 Javascript
基于Bootstrap模态对话框只加载一次 remote 数据的解决方法
2017/07/09 Javascript
Node.js静态服务器的实现方法
2018/02/28 Javascript
浅谈Vue.js 中的 v-on 事件指令的使用
2018/11/25 Javascript
使用Vue实现移动端左滑删除效果附源码
2019/05/16 Javascript
vuex页面刷新导致数据丢失的解决方案
2020/12/10 Vue.js
JavaScript实现瀑布流布局的3种方式
2020/12/27 Javascript
[47:35]VP vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
使用Python脚本在Linux下实现部分Bash Shell的教程
2015/04/17 Python
python实现list元素按关键字相加减的方法示例
2017/06/09 Python
numpy.where() 用法详解
2019/05/27 Python
Django如何自定义model创建数据库索引的顺序
2019/06/20 Python
IDLE下Python文件编辑和运行操作
2020/04/25 Python
python针对Oracle常见查询操作实例分析
2020/04/30 Python
Python 执行矩阵与线性代数运算
2020/08/01 Python
python 实现朴素贝叶斯算法的示例
2020/09/30 Python
美国求婚钻戒网站:Super Jeweler
2016/08/27 全球购物
美国家具网站:Cymax
2016/09/17 全球购物
乌克兰电子产品和家用电器购物网站:TOUCH
2019/08/09 全球购物
中国央视网签名寄语
2014/01/18 职场文书
行政管理毕业生自荐信
2014/02/24 职场文书
幼儿园师德演讲稿
2014/05/06 职场文书
护理学院专科毕业生求职信
2014/06/28 职场文书
2014年建筑工程工作总结
2014/12/03 职场文书
2015暑假社会调查报告
2015/07/13 职场文书
Ajax实现局部刷新的方法实例
2021/03/31 Javascript
goland 清除所有的默认设置操作
2021/04/28 Golang
pytorch中的model.eval()和BN层的使用
2021/05/22 Python
一起来学习Python的元组和列表
2022/03/13 Python