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开发编码规范
Sep 08 Python
python实现的简单抽奖系统实例
May 22 Python
Python之Scrapy爬虫框架安装及简单使用详解
Dec 22 Python
Python操作MySQL模拟银行转账
Mar 12 Python
计算机二级python学习教程(1) 教大家如何学习python
May 16 Python
Django缓存系统实现过程解析
Aug 02 Python
python 画出使用分类器得到的决策边界
Aug 21 Python
python将三维数组展开成二维数组的实现
Nov 30 Python
python将时分秒转换成秒的实例
Dec 07 Python
Python实现UDP程序通信过程图解
May 15 Python
Python如何基于Tesseract实现识别文字功能
Jun 05 Python
Python基础之条件语句详解
Jun 16 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
神族 Protoss 剧情介绍
2020/03/14 星际争霸
PHP模板引擎SMARTY
2006/10/09 PHP
PHP VS ASP
2006/10/09 PHP
Yii1.1框架实现PHP极光推送消息通知功能
2018/09/06 PHP
说说掌握JavaScript语言的思想前提想学习js的朋友可以看看
2009/04/01 Javascript
基于JQuery实现的类似购物商城的购物车
2011/12/06 Javascript
jQuery之选择组件的深入解析
2013/06/19 Javascript
js两种拼接字符串的简单方法(必看)
2016/09/02 Javascript
Bootstrap Table表格一直加载(load)不了数据的快速解决方法
2016/09/17 Javascript
JS+DIV实现的卷帘效果示例
2017/03/22 Javascript
MUI顶部选项卡的用法(tab-top-webview-main)详解
2017/10/08 Javascript
vue组件中的样式属性scoped实例详解
2018/10/30 Javascript
详解Vue中使用Axios拦截器
2019/04/22 Javascript
vue实现日历备忘录功能
2020/09/24 Javascript
微信小程序地图实现展示线路
2020/07/29 Javascript
python基础教程之类class定义使用方法
2014/02/20 Python
Python实现生成简单的Makefile文件代码示例
2015/03/10 Python
Django中几种重定向方法
2015/04/28 Python
python中assert用法实例分析
2015/04/30 Python
举例讲解Python的Tornado框架实现数据可视化的教程
2015/05/02 Python
python开发之函数定义实例分析
2015/11/12 Python
Python实现类似比特币的加密货币区块链的创建与交易实例
2018/03/20 Python
对numpy中数组转置的求解以及向量内积计算方法
2018/10/31 Python
Python实现字典排序、按照list中字典的某个key排序的方法示例
2018/12/18 Python
python os.path.isfile()因参数问题判断错误的解决
2019/11/29 Python
Python的对象传递与Copy函数使用详解
2019/12/26 Python
keras实现VGG16方式(预测一张图片)
2020/07/07 Python
就业推荐自我鉴定
2013/10/06 职场文书
大学校庆邀请函
2014/01/11 职场文书
保健品市场营销方案
2014/03/31 职场文书
第二批党的群众路线教育实践活动总结报告
2014/10/30 职场文书
统招统分证明
2015/06/23 职场文书
小学英语教学随笔
2015/08/14 职场文书
2016春季校长开学典礼致辞
2015/11/26 职场文书
JavaScript与JQuery框架基础入门教程
2021/07/15 Javascript
SQL Server 中的事务介绍
2022/05/20 SQL Server