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实现baidu hi自动登录的代码
Feb 10 Python
Python中的startswith和endswith函数使用实例
Aug 25 Python
django轻松使用富文本编辑器CKEditor的方法
Mar 30 Python
Pycharm编辑器技巧之自动导入模块详解
Jul 18 Python
对python制作自己的数据集实例讲解
Dec 12 Python
python将txt文件读取为字典的示例
Dec 22 Python
django 连接数据库 sqlite的例子
Aug 14 Python
python可视化实现KNN算法
Oct 16 Python
python return逻辑判断表达式实现解析
Dec 02 Python
ipython jupyter notebook中显示图像和数学公式实例
Apr 15 Python
利用Python实现某OA系统的自动定位功能
May 27 Python
Django+RestFramework API接口及接口文档并返回json数据操作
Jul 12 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 mcrypt可逆加密算法分析
2011/07/19 PHP
php笔记之:有规律大文件的读取与写入的分析
2013/04/26 PHP
PHP设计模式之迭代器模式的深入解析
2013/06/13 PHP
PHP处理大量表单字段的便捷方法
2015/02/07 PHP
PHP图像裁剪缩略裁切类源码及使用方法
2016/01/07 PHP
JavaScript 中的事件教程
2007/04/05 Javascript
js判断鼠标同时离开两个div的思路及代码
2013/05/31 Javascript
我的Node.js学习之路(四)--单元测试
2014/07/06 Javascript
为什么Node.js会这么火呢?Node.js流行的原因
2014/12/01 Javascript
jQuery使用empty()方法删除元素及其所有子元素的方法
2015/03/26 Javascript
JavaScript 常见安全漏洞和自动化检测技术
2015/08/21 Javascript
JS响应鼠标点击实现两个滑块区间拖动效果
2015/10/26 Javascript
jQuery添加删除DOM元素方法详解
2016/01/18 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
2016/07/22 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
2016/11/21 Javascript
javascript事件的传播基础实例讲解(35)
2017/02/14 Javascript
JS函数节流和函数防抖问题分析
2017/12/18 Javascript
JS使用正则表达式获取小括号、中括号及花括号内容的方法示例
2018/06/01 Javascript
jquery.param()实现数组或对象的序列化方法
2018/10/08 jQuery
Vue实现表格批量审核功能实例代码
2019/05/28 Javascript
你不可不知的Vue.js列表渲染详解
2019/10/01 Javascript
Python绘制的二项分布概率图示例
2018/08/22 Python
Python如何应用cx_Oracle获取oracle中的clob字段问题
2019/08/27 Python
Python argparse模块应用实例解析
2019/11/15 Python
Python类和实例的属性机制原理详解
2020/03/21 Python
详解python tkinter包获取本地绝对路径(以获取图片并展示)
2020/09/04 Python
Shopee马来西亚:随拍即卖,最佳行动电商拍卖平台
2017/06/05 全球购物
文案策划求职信
2014/04/14 职场文书
2015年政务公开工作总结
2015/05/19 职场文书
2015年城市管理工作总结
2015/05/23 职场文书
2015年药品销售工作总结范文
2015/05/25 职场文书
学习焦裕禄观后感
2015/06/09 职场文书
2016年小学“感恩教师”主题队日活动总结
2016/04/01 职场文书
一次MySQL启动导致的事故实战记录
2021/09/15 MySQL
三星 3nm 芯片将于第二季度开始量产
2022/04/29 数码科技
Go语言怎么使用变长参数函数
2022/07/15 Golang