python 二分查找和快速排序实例详解


Posted in Python onOctober 13, 2017

思想简单,细节颇多;本以为很简单的两个小程序,写起来发现bug频出,留此纪念。

#usr/bin/env python
def binary_search(lst,t):
  low=0
  height=len(lst)-1
  quicksort(lst,0,height)
  print lst
  while low<=height: 
    mid = (low+height)/2
    if lst[mid] == t:
      return lst[mid]
    elif lst[mid]>t:
      height=mid-1
    else:
      low=mid+1
  return -1
def quicksort( lst, left , right):
  low=left
  high=right
  key=lst[left]
  if left>=right:
    return 0
  while low<high:
    while low<high and key<lst[high]:
      high=high-1
    lst[low]=lst[high]
    while low<high and key>lst[low]:
      print lst[low]
      low=low+1
    lst[high]=lst[low]
    lst[low]=key
  quicksort( lst , left ,low-1)
  quicksort( lst , low+1 , right)
if __name__=='__main__':
  print binary_search([4,8,1,5,10,2,12,3,6,9],4)

总结

以上所述是小编给大家介绍的python 二分查找和快速排序实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
python发送邮件的实例代码(支持html、图片、附件)
Mar 04 Python
Python获取DLL和EXE文件版本号的方法
Mar 10 Python
利用Python和OpenCV库将URL转换为OpenCV格式的方法
Mar 27 Python
Python的自动化部署模块Fabric的安装及使用指南
Jan 19 Python
python+selenium实现163邮箱自动登陆的方法
Dec 31 Python
python pycurl验证basic和digest认证的方法
May 02 Python
Python实现的线性回归算法示例【附csv文件下载】
Dec 29 Python
使用python将请求的requests headers参数格式化方法
Jan 02 Python
使用pandas把某一列的字符值转换为数字的实例
Jan 29 Python
python中取绝对值简单方法总结
Jul 24 Python
Python本地及虚拟解释器配置过程解析
Oct 13 Python
用Python创建简易网站图文教程
Jun 11 Python
Python实现的排列组合计算操作示例
Oct 13 #Python
python numpy函数中的linspace创建等差数列详解
Oct 13 #Python
Python配置mysql的教程(推荐)
Oct 13 #Python
基于Python数据可视化利器Matplotlib,绘图入门篇,Pyplot详解
Oct 13 #Python
python的paramiko模块实现远程控制和传输示例
Oct 13 #Python
基于python(urlparse)模板的使用方法总结
Oct 13 #Python
Python创建对称矩阵的方法示例【基于numpy模块】
Oct 12 #Python
You might like
中国广播史趣谈 — 几个历史第一次
2021/03/01 无线电
提问的智慧
2006/10/09 PHP
php 无法载入mysql扩展
2010/03/12 PHP
php模拟socket一次连接,多次发送数据的实现代码
2011/07/26 PHP
深入解析PHP的Yii框架中的event事件机制
2016/03/17 PHP
php each 返回数组中当前的键值对并将数组指针向前移动一步实例
2016/11/22 PHP
微信公众号实现扫码获取微信用户信息(网页授权)
2019/04/09 PHP
用js实现多域名不同文件的调用方法
2007/01/12 Javascript
神奇的7个jQuery 3D插件整理
2011/01/06 Javascript
javascript 实现简单的table排序及table操作练习
2012/12/28 Javascript
javascript中声明函数的方法及调用函数的返回值
2014/07/22 Javascript
js实现数字每三位加逗号的方法
2015/02/05 Javascript
jQuery zTree加载树形菜单功能
2016/02/25 Javascript
微信小程序 富文本转文本实例详解
2016/10/24 Javascript
js封装tab标签页实例分享
2016/12/19 Javascript
Angular2的管道Pipe的使用方法
2017/11/07 Javascript
Angular4 反向代理Details实践
2018/05/30 Javascript
解决layer弹出层中表单不起作用的问题
2019/09/09 Javascript
[52:20]DOTA2-DPC中国联赛正赛 SAG vs XGBO3 第一场 3月5日
2021/03/11 DOTA
python聊天程序实例代码分享
2013/11/18 Python
Python中的类学习笔记
2014/09/23 Python
微信跳一跳辅助python代码实现
2018/01/05 Python
对python中执行DOS命令的3种方法总结
2018/05/12 Python
Python实现基于KNN算法的笔迹识别功能详解
2018/07/09 Python
python2与python3的print及字符串格式化小结
2018/11/30 Python
Python数据集切分实例
2018/12/08 Python
python绘制多个子图的实例
2019/07/07 Python
Python3进制之间的转换代码实例
2019/08/24 Python
Python数据可视化:箱线图多种库画法
2019/11/06 Python
屈臣氏乌克兰:Watsons UA
2019/10/29 全球购物
应届生法律顾问求职信
2013/11/19 职场文书
社区春季防火方案
2014/06/02 职场文书
会议接待欢迎标语
2014/10/08 职场文书
Java中多线程下载图片并压缩能提高效率吗
2021/07/01 Java/Android
浅谈Redis的keys命令到底有多慢
2021/10/05 Redis
SpringBoot2零基础到精通之数据与页面响应
2022/03/22 Java/Android