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的Django框架下搭建的BLOG添加RSS功能的教程
Apr 08 Python
在Windows系统上搭建Nginx+Python+MySQL环境的教程
Dec 25 Python
Python实现简单的四则运算计算器
Nov 02 Python
Python探索之pLSA实现代码
Oct 25 Python
Python决策树之基于信息增益的特征选择示例
Jun 25 Python
Python中pandas dataframe删除一行或一列:drop函数详解
Jul 03 Python
Python tkinter的grid布局及Text动态显示方法
Oct 11 Python
Python中xml和json格式相互转换操作示例
Dec 05 Python
Django restframework 源码分析之认证详解
Feb 22 Python
Python3.9 beta2版本发布了,看看这7个新的PEP都是什么
Jun 10 Python
10张动图学会python循环与递归问题
Feb 06 Python
python 使用pandas读取csv文件的方法
Dec 24 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
Flash空降上海 化身大魔王接受挑战
2020/03/02 星际争霸
PHP json格式和js json格式 js跨域调用实现代码
2012/09/08 PHP
php封装的验证码工具类完整实例
2016/10/19 PHP
MAC下通过改apache配置文件切换php多版本的方法
2017/04/26 PHP
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.2 0
2008/03/22 Javascript
autoIMG 基于jquery的图片自适应插件代码
2011/03/12 Javascript
jQuery中animate用法实例分析
2015/03/09 Javascript
Sortable.js拖拽排序使用方法解析
2016/11/04 Javascript
Vue中如何实现轮播图的示例代码
2017/07/27 Javascript
不使用JavaScript实现菜单的打开和关闭效果demo
2018/05/01 Javascript
axios的拦截请求与响应方法
2018/08/11 Javascript
Vue实现类似Spring官网图片滑动效果方法
2019/03/01 Javascript
Vue初始化中的选项合并之initInternalComponent详解
2020/06/11 Javascript
[04:54]DOTA2 2017国际邀请赛:上届冠军WINGS采访短片
2017/08/09 DOTA
python通过yield实现数组全排列的方法
2015/03/18 Python
python打开文件并获取文件相关属性的方法
2015/04/23 Python
Python常用字符串替换函数strip、replace及sub用法示例
2018/05/21 Python
python爬虫实例详解
2018/06/19 Python
python变量赋值方法(可变与不可变)
2019/01/12 Python
Python转换itertools.chain对象为数组的方法
2020/02/07 Python
Python3.6 + TensorFlow 安装配置图文教程(Windows 64 bit)
2020/02/24 Python
Python Pandas 对列/行进行选择,增加,删除操作
2020/05/17 Python
字中字效果的实现【html5实例】
2016/05/03 HTML / CSS
比驿:全球酒店比价网
2018/06/20 全球购物
Quiksilver荷兰官方网站:冲浪和滑雪板
2019/11/16 全球购物
在weblogic中发布ejb需涉及到哪些配置文件
2012/01/17 面试题
结婚周年感言
2014/02/24 职场文书
空气的环保标语
2014/06/12 职场文书
2014镇副书记群众路线专题民主生活会思想汇报
2014/09/23 职场文书
个人年终总结开头
2015/03/06 职场文书
工作经历证明范本
2015/06/15 职场文书
防震减灾主题班会
2015/08/14 职场文书
运动会口号霸气押韵
2015/12/24 职场文书
2016年师德先进个人事迹材料
2016/02/29 职场文书
聊聊基于pytorch实现Resnet对本地数据集的训练问题
2022/03/25 Python
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android