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的tkinter布局之简单的聊天窗口实现方法
Sep 03 Python
简单介绍利用TK在Python下进行GUI编程的教程
Apr 13 Python
python运行时间的几种方法
Jun 17 Python
python sys.argv[]用法实例详解
May 25 Python
Sanic框架基于类的视图用法示例
Jul 18 Python
对Python 语音识别框架详解
Dec 24 Python
对python调用RPC接口的实例详解
Jan 03 Python
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
Feb 13 Python
基于matplotlib中ion()和ioff()的使用详解
Jun 16 Python
Python爬虫爬取新闻资讯案例详解
Jul 14 Python
python脚本第一行如何写
Aug 30 Python
分享提高 Python 代码的可读性的技巧
Mar 03 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
用PHP和MySQL保存和输出图片
2006/10/09 PHP
用php获取远程图片并把它保存到本地的代码
2008/04/07 PHP
ThinkPHP中RBAC类的四种用法分析
2014/11/24 PHP
优化WordPress的Google字体以加速国内服务器上的运行
2015/11/24 PHP
php数组函数array_key_exists()小结
2015/12/10 PHP
php监测数据是否成功插入到Mysql数据库的方法
2016/11/25 PHP
laravel config文件配置全局变量的例子
2019/10/13 PHP
jquery 分页控件实现代码
2009/11/30 Javascript
jquery插件validate验证的小例子
2013/05/08 Javascript
javascript检测页面是否缩放的小例子
2013/05/16 Javascript
写出高效jquery代码的19条指南
2014/03/19 Javascript
js判断当前浏览器类型,判断IE浏览器方法
2014/06/02 Javascript
Javascript Memoizer浅析
2014/10/16 Javascript
Node.js实用代码段之正确拼接Buffer
2016/03/17 Javascript
轻松掌握JavaScript中介者模式
2016/08/26 Javascript
angular和BootStrap3实现购物车功能
2017/01/25 Javascript
es6的数字处理的方法(5个)
2017/03/16 Javascript
详解Angular 4 表单快速入门
2017/06/05 Javascript
vue中子组件的methods中获取到props中的值方法
2018/08/27 Javascript
vue+Element实现搜索关键字高亮功能
2019/05/28 Javascript
详解vuex数据传输的两种方式及this.$store undefined的解决办法
2019/08/26 Javascript
[02:12]DOTA2英雄基础教程 变体精灵
2013/12/16 DOTA
python使用os模块的os.walk遍历文件夹示例
2014/01/27 Python
python实现识别相似图片小结
2016/02/22 Python
Python实现的多线程http压力测试代码
2017/02/08 Python
python下实现二叉堆以及堆排序的示例
2017/09/29 Python
对python3中的RE(正则表达式)-详细总结
2019/07/23 Python
微信小程序python用户认证的实现
2019/07/29 Python
Python使用百度api做人脸对比的方法
2019/08/28 Python
使用C#编写创建一个线程的代码
2013/01/22 面试题
个人查摆问题自查报告
2014/10/16 职场文书
经典搞笑版检讨书
2015/02/19 职场文书
区域销售经理岗位职责
2015/04/02 职场文书
运动会3000米加油稿
2015/07/21 职场文书
小学教师教育随笔
2015/08/14 职场文书
JavaScript canvas实现流星特效
2021/05/20 Javascript