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 相关文章推荐
使用PyInstaller将Python程序文件转换为可执行程序文件
Jul 08 Python
Python 备份程序代码实现
Mar 06 Python
python实现员工管理系统
Jan 11 Python
Python实现曲线拟合操作示例【基于numpy,scipy,matplotlib库】
Jul 12 Python
对PyQt5中的菜单栏和工具栏实例详解
Jun 20 Python
python连接打印机实现打印文档、图片、pdf文件等功能
Feb 07 Python
pycharm激活码快速激活及使用步骤
Mar 12 Python
opencv 图像滤波(均值,方框,高斯,中值)
Jul 08 Python
Python实现LR1文法的完整实例代码
Oct 25 Python
python中的列表和元组区别分析
Dec 30 Python
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
Apr 12 Python
Python Pygame实战在打砖块游戏的实现
Mar 17 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 第二节 数据类型之转换
2012/04/28 PHP
php生成动态验证码gif图片
2015/10/19 PHP
php利用gd库为图片添加水印
2016/11/09 PHP
php中bind_param()函数用法分析
2017/03/28 PHP
php批量转换文件夹下所有文件编码的函数类
2017/08/06 PHP
详解php中生成标准uuid(guid)的方法
2019/04/28 PHP
Jquery 实现grid绑定模板
2015/01/28 Javascript
js中flexible.js实现淘宝弹性布局方案
2020/06/23 Javascript
js实现select二级联动下拉菜单
2020/04/17 Javascript
jQuery点击输入框显示验证码图片
2016/05/19 Javascript
jQueryUI DatePicker 添加时分秒
2016/06/04 Javascript
浅谈JavaScript函数的四种存在形态
2016/06/08 Javascript
vue组件中点击按钮后修改输入框的状态实例代码
2017/04/14 Javascript
JS HTML图片显示Canvas 压缩功能
2017/07/21 Javascript
vue router学习之动态路由和嵌套路由详解
2017/09/21 Javascript
Vue实现table上下移动功能示例
2019/02/21 Javascript
解决layui富文本编辑器图片上传无法回显的问题
2019/09/18 Javascript
layui实现根据table数据判断按钮显示情况的方法
2019/09/26 Javascript
JavaScript原型继承和原型链原理详解
2020/02/04 Javascript
微信小程序实现上传照片代码实例解析
2020/08/04 Javascript
Taro小程序自定义顶部导航栏功能的实现
2020/12/17 Javascript
Python批量修改文本文件内容的方法
2016/04/29 Python
Python Web编程之WSGI协议简介
2018/07/18 Python
Win10下python 2.7.13 安装配置方法图文教程
2018/09/18 Python
pandas使用apply多列生成一列数据的实例
2018/11/28 Python
使用PyQt5实现图片查看器的示例代码
2020/04/21 Python
世界最大域名注册商:GoDaddy
2016/07/24 全球购物
孤独星球出版物:Lonely Planet Publications
2018/03/17 全球购物
Harrods美国:英国最大的百货公司
2018/11/04 全球购物
时尚孕妇装:Ingrid & Isabel
2019/05/08 全球购物
苏格兰领先的多渠道鞋店:Begg Shoes
2019/10/22 全球购物
财务与信息服务专业推荐信
2013/11/28 职场文书
2015年科协工作总结
2015/05/19 职场文书
红色经典观后感
2015/06/18 职场文书
保险公司2016开门红口号集锦
2015/12/24 职场文书
VUE中的v-if与v-show区别介绍
2022/03/13 Vue.js