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中利用原始套接字进行网络编程的示例
May 04 Python
浅谈python多线程和队列管理shell程序
Aug 04 Python
pycharm运行出现ImportError:No module named的解决方法
Oct 13 Python
python3实现zabbix告警推送钉钉的示例
Feb 20 Python
python3人脸识别的两种方法
Apr 25 Python
让Python脚本暂停执行的几种方法(小结)
Jul 11 Python
Pyinstaller 打包exe教程及问题解决
Aug 16 Python
opencv3/C++图像像素操作详解
Dec 10 Python
在Pytorch中计算自己模型的FLOPs方式
Dec 30 Python
Python selenium抓取虎牙短视频代码实例
Mar 02 Python
浅谈keras中的keras.utils.to_categorical用法
Jul 02 Python
Python基础之进程详解
May 21 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
smarty中post用法实例
2014/11/28 PHP
PHP中Http协议post请求参数
2015/11/02 PHP
详解PHP的Yii框架中的Controller控制器
2016/03/29 PHP
Yii2处理密码加密及验证的方法
2019/05/12 PHP
JavaScript动态调整TextArea高度的代码
2010/12/28 Javascript
基于jQuery+HttpHandler实现图片裁剪效果代码(适用于论坛, SNS)
2011/09/02 Javascript
用javascript为页面添加天气显示实现思路及代码
2013/12/02 Javascript
使用insertAfter()方法在现有元素后添加一个新元素
2014/05/28 Javascript
基于JavaScript短信验证码如何实现
2016/01/24 Javascript
特殊日期提示功能的实现方法
2016/06/16 Javascript
对Js OOP编程 创建对象的一些全面理解
2016/07/26 Javascript
js中用cssText设置css样式的简单方法
2016/09/19 Javascript
vue.js事件处理器是什么
2017/03/20 Javascript
Nodejs进阶:express+session实现简易登录身份认证
2017/04/24 NodeJs
详解vue-cli中的ESlint配置文件eslintrc.js
2017/09/25 Javascript
详解Angular6.0使用路由步骤(共7步)
2018/06/29 Javascript
jQuery选择器之基本过滤选择器用法实例分析
2019/02/19 jQuery
过滤器vue.filters的使用方法实现
2019/09/18 Javascript
vue $mount 和 el的区别说明
2020/09/11 Javascript
[10:34]DOTA2上海特级锦标赛全纪录
2016/03/25 DOTA
python局部赋值的规则
2013/03/07 Python
python DataFrame 修改列的顺序实例
2018/04/10 Python
python使用代理ip访问网站的实例
2018/05/07 Python
Python json模块与jsonpath模块区别详解
2020/03/05 Python
Python检测端口IP字符串是否合法
2020/06/05 Python
CSS3弹性盒模型开发笔记(一)
2016/04/26 HTML / CSS
阿联酋航空假期:Emirates Holidays
2018/03/20 全球购物
自我评价200字分享
2013/12/17 职场文书
物理系毕业生自荐书范文
2014/02/22 职场文书
简单的离婚协议书范本
2014/11/16 职场文书
高三英语教学计划
2015/01/23 职场文书
罗马假日观后感
2015/06/08 职场文书
《穷人》教学反思
2016/02/19 职场文书
python基础之爬虫入门
2021/05/10 Python
nginx容器方式反向代理实战
2022/04/18 Servers
SQL Server中使用表变量和临时表
2022/05/20 SQL Server