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简单的实现树莓派的WEB控制
Feb 18 Python
python安装与使用redis的方法
Apr 19 Python
python消费kafka数据批量插入到es的方法
Dec 27 Python
浅析python的Lambda表达式
Feb 27 Python
python字符串和常用数据结构知识总结
May 21 Python
python简单实现矩阵的乘,加,转置和逆运算示例
Jul 10 Python
django 微信网页授权登陆的实现
Jul 30 Python
如何基于Python制作有道翻译小工具
Dec 16 Python
解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题
Jun 12 Python
python实现简单遗传算法
Sep 18 Python
scrapy结合selenium解析动态页面的实现
Sep 28 Python
如何用python批量调整视频声音
Dec 22 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制作静态网站的模板框架(一)
2006/10/09 PHP
探讨php中header的用法详解
2013/06/07 PHP
PHP获取HTTP body内容的方法
2018/12/31 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
不错的一个日期输入 动态
2006/11/06 Javascript
优化 JavaScript 代码的方法小结
2009/07/16 Javascript
Extjs ajax同步请求时post方式参数发送方式
2009/08/05 Javascript
利用jQuery的$.event.fix函数统一浏览器event事件处理
2009/12/21 Javascript
javascript面向对象包装类Class封装类库剖析
2013/01/24 Javascript
Extjs优化(一)删除冗余代码提高运行速度
2013/04/15 Javascript
在Firefox下js select标签点击无法弹出
2014/03/06 Javascript
JavaScript中一个奇葩的IE浏览器判断方法
2014/04/16 Javascript
jQuery trigger()方法用法介绍
2015/01/13 Javascript
7个有用的jQuery代码片段分享
2015/05/19 Javascript
Vue.js实现移动端短信验证码功能
2017/03/29 Javascript
详解webpack+es6+angular1.x项目构建
2017/05/02 Javascript
canvas基础绘制-绚丽倒计时的实例
2017/09/17 Javascript
jQuery实现所有验证通过方可提交的表单验证
2017/11/21 jQuery
玩转Koa之koa-router原理解析
2018/12/29 Javascript
vue-cli3访问public文件夹静态资源报错的解决方式
2020/09/02 Javascript
vue大型项目之分模块运行/打包的实现
2020/09/21 Javascript
VUE+Element实现增删改查的示例源码
2020/11/23 Vue.js
关于angular 8.1使用过程中的一些记录
2020/11/25 Javascript
vue el-upload上传文件的示例代码
2020/12/21 Vue.js
Python使用pygame模块编写俄罗斯方块游戏的代码实例
2015/12/08 Python
Python的标准模块包json详解
2017/03/13 Python
对numpy中shape的深入理解
2018/06/15 Python
Python 给定的经纬度标注在地图上的实现方法
2019/07/05 Python
解决python 3 urllib 没有 urlencode 属性的问题
2019/08/22 Python
django跳转页面传参的实现
2020/09/17 Python
美国男士和女士奢侈品折扣手表购物网站:Certified Watch Store
2018/06/13 全球购物
会计电算化专业应届大学生求职信
2013/10/22 职场文书
雷锋的故事观后感
2015/06/10 职场文书
Angular性能优化之第三方组件和懒加载技术
2021/05/10 Javascript
Python3接口性能测试实例代码
2021/06/20 Python
python字符串的一些常见实用操作
2022/04/06 Python