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的ORM框架中SQLAlchemy库的查询操作的教程
Apr 25 Python
详解Python中expandtabs()方法的使用
May 18 Python
基于Python的关键字监控及告警
Jul 06 Python
初学python的操作难点总结(新手必看篇)
Aug 03 Python
Python函数装饰器实现方法详解
Dec 22 Python
python实现网页自动签到功能
Jan 21 Python
Django框架用户注销功能实现方法分析
May 28 Python
Python模块、包(Package)概念与用法分析
May 31 Python
python numpy中cumsum的用法详解
Oct 17 Python
TensorFlow2.0:张量的合并与分割实例
Jan 19 Python
Python enumerate内置库用法解析
Feb 24 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
Dec 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 日期加减的类,很不错
2009/10/10 PHP
新手学习PHP的一些基础知识分享
2011/07/27 PHP
PHP中对各种加密算法、Hash算法的速度测试对比代码
2014/07/08 PHP
简单了解WordPress开发中update_option()函数的用法
2016/01/11 PHP
PHP解决中文乱码
2017/04/28 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
在Javascript里访问SharePoint列表数据的实现方法
2011/05/22 Javascript
你必须知道的Javascript知识点之&quot;字面量和对应类型&quot;说明介绍
2013/04/23 Javascript
javascript ajax 仿百度分页函数
2013/10/29 Javascript
jQuery中:checked选择器用法实例
2015/01/04 Javascript
Js与Jq 获取页面元素值的方法和差异对比
2015/04/30 Javascript
ubuntu下安装nodejs以及升级的办法
2015/05/08 NodeJs
限制复选框最多选择项的实现代码
2016/05/30 Javascript
微信小程序用户信息encryptedData详解
2018/08/24 Javascript
js获取 gif 的帧数的代码实例
2019/09/10 Javascript
详解elementUI中input框无法输入的问题
2020/04/27 Javascript
Vue + Scss 动态切换主题颜色实现换肤的示例代码
2020/04/27 Javascript
ajax jquery实现页面某一个div的刷新效果
2021/03/04 jQuery
Python3实现简单可学习的手写体识别(实例讲解)
2017/10/21 Python
Pandas 对Dataframe结构排序的实现方法
2018/04/10 Python
Python读取英文文件并记录每个单词出现次数后降序输出示例
2018/06/28 Python
使用Python实现毫秒级抢单功能
2019/06/06 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
2019/07/12 Python
简单介绍python封装的基本知识
2019/08/10 Python
Python实现滑动平均(Moving Average)的例子
2019/08/24 Python
Numpy一维线性插值函数的用法
2020/04/22 Python
python中wx模块的具体使用方法
2020/05/15 Python
如何利用CSS3制作3D效果文字具体实现样式
2013/05/02 HTML / CSS
No7 Beauty美国官网:英国国民护肤品牌
2019/10/31 全球购物
同学会主持词
2014/03/18 职场文书
2014单位领导班子四风对照检查材料思想汇报
2014/09/25 职场文书
手机被没收的检讨书
2014/10/04 职场文书
2014年党支部工作总结
2014/11/13 职场文书
2015世界地球日活动总结
2015/02/09 职场文书
vue-treeselect的基本用法以及解决点击无法出现拉下菜单
2022/04/30 Vue.js
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
2022/06/01 Servers