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将xml xsl文件生成html文件存储示例讲解
Dec 03 Python
Python基于正则表达式实现文件内容替换的方法
Aug 30 Python
python+matplotlib绘制简单的海豚(顶点和节点的操作)
Jan 02 Python
基于anaconda下强大的conda命令介绍
Jun 11 Python
python实现写数字文件名的递增保存文件方法
Oct 25 Python
对json字符串与python字符串的不同之处详解
Dec 19 Python
python文本数据处理学习笔记详解
Jun 17 Python
Python中栈、队列与优先级队列的实现方法
Jun 30 Python
python批量解压zip文件的方法
Aug 20 Python
python+opencv3生成一个自定义纯色图教程
Feb 19 Python
Python编程快速上手——选择性拷贝操作案例分析
Feb 28 Python
python2和python3哪个使用率高
Jun 23 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/03 咖啡文化
PHP 5.0对象模型深度探索之对象复制
2008/03/27 PHP
wiki-shan写的php在线加密的解密程序
2008/09/07 PHP
php实现查看邮件是否已被阅读的方法
2013/12/03 PHP
PHP自定义函数获取汉字首字母的方法
2016/12/01 PHP
JS解密入门 最终变量劫持
2008/06/25 Javascript
javascript客户端解决方案 缓存提供程序
2010/07/14 Javascript
JS下拉框内容左右移动效果的具体实现
2013/07/10 Javascript
js使用removeChild方法动态删除div元素
2014/08/01 Javascript
ie8下修改input的type属性报错的解决方法
2014/09/16 Javascript
jquery获取节点名称
2015/04/26 Javascript
Javascript简单改变表单元素背景的方法
2015/07/15 Javascript
JavaScript设计模式初探
2016/01/07 Javascript
关于JavaScript 原型链的一点个人理解
2016/07/31 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
2018/05/23 Javascript
Vue实现调节窗口大小时触发事件动态调节更新组件尺寸的方法
2018/09/15 Javascript
vue mounted 调用两次的完美解决办法
2018/10/29 Javascript
通过layer实现可输入的模态框的例子
2019/09/27 Javascript
vue路由缓存的几种实现方式小结
2020/02/02 Javascript
vue开发中遇到的问题总结
2020/04/07 Javascript
Vue路由权限控制解析
2020/11/09 Javascript
[38:54]完美世界DOTA2联赛PWL S2 Rebirth vs LBZS 第一场 11.28
2020/12/01 DOTA
Python中的rfind()方法使用详解
2015/05/19 Python
在Python中marshal对象序列化的相关知识
2015/07/01 Python
pytorch构建多模型实例
2020/01/15 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
CSS3教程:边框属性border的极致应用
2009/04/02 HTML / CSS
AmazeUI 点击元素显示全屏的实现
2020/08/25 HTML / CSS
新加坡时尚网上购物:Zalora新加坡
2016/07/26 全球购物
什么是触发器(trigger)? 触发器有什么作用?
2013/09/18 面试题
便利店投资创业计划书
2014/02/08 职场文书
国庆节演讲稿
2014/05/27 职场文书
党的群众路线教育实践活动党员个人剖析材料
2014/10/08 职场文书
三严三实学习心得体会(精选N篇)
2016/01/05 职场文书
五年级数学教学反思
2016/02/16 职场文书
Python实战之用tkinter库做一个鼠标模拟点击器
2021/04/27 Python