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运用于数据分析的简单教程
Mar 27 Python
python批量提取word内信息
Aug 09 Python
Python使用PDFMiner解析PDF代码实例
Mar 27 Python
Python使用sorted排序的方法小结
Jul 28 Python
python技能之数据导出excel的实例代码
Aug 11 Python
快速了解python leveldb
Jan 18 Python
Linux下python与C++使用dlib实现人脸检测
Jun 29 Python
python协程之动态添加任务的方法
Feb 19 Python
Keras中的两种模型:Sequential和Model用法
Jun 27 Python
详解Python 循环嵌套
Jul 09 Python
Python+logging输出到屏幕将log日志写入文件
Nov 11 Python
python如何为list实现find方法
May 30 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计算到指定日期还有多少天的方法
2015/04/14 PHP
PHP基于单例模式实现的mysql类
2016/01/09 PHP
PHP设置images目录不充许http访问的方法
2016/11/01 PHP
CodeIgniter框架验证码类库文件与用法示例
2017/03/18 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
Yii2框架中一些折磨人的坑
2019/12/15 PHP
PHP中isset、empty的用法与区别示例详解
2020/11/05 PHP
JavaScript对象模型-执行模型
2008/04/28 Javascript
js 创建书签小工具之理论
2011/02/25 Javascript
jQuery代码优化 事件委托篇
2011/11/01 Javascript
jquery解析xml字符串简单示例
2014/04/11 Javascript
js防止DIV布局滚动时闪动的解决方法
2014/10/30 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
2015/03/09 Javascript
在HTML中插入JavaScript代码的示例
2015/06/03 Javascript
基于jQuery+JSON的省市二三级联动效果
2015/06/05 Javascript
AngularJS基于provider实现全局变量的读取和赋值方法
2017/06/28 Javascript
Vuejs 页面的区域化与组件封装的实现
2017/09/11 Javascript
使用vs code开发Nodejs程序的使用方法
2017/09/21 NodeJs
Vue props用法详解(小结)
2018/07/03 Javascript
Angular使用cli生成自定义文件、组件的方法
2018/09/04 Javascript
详解webpack+ES6+Sass搭建多页面应用
2018/11/05 Javascript
nodejs搭建本地服务器并访问文件操作示例
2019/05/11 NodeJs
angular inputNumber指令输入框只能输入数字的实现
2019/12/03 Javascript
深入理解webpack process.env.NODE_ENV配置
2020/02/23 Javascript
Python网络爬虫项目:内容提取器的定义
2016/10/25 Python
python如何派生内置不可变类型并修改实例化行为
2018/03/21 Python
python提取照片坐标信息的实例代码
2019/08/14 Python
基于Python实现ComicReaper漫画自动爬取脚本过程解析
2019/11/11 Python
python装饰器代码深入讲解
2021/03/01 Python
css 如何让背景图片拉伸填充避免重复显示
2013/07/11 HTML / CSS
Clarins娇韵诗美国官网:法国天然护肤品牌
2016/09/26 全球购物
中国电子产品外贸网站:MiniIntheBox
2017/02/06 全球购物
Wallis官网:英国女装零售商
2020/01/21 全球购物
六年级数学教学反思
2014/02/03 职场文书
付款证明模板
2015/06/19 职场文书
mysql定时自动备份数据库的方法步骤
2021/07/07 MySQL