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脚本实现代码行数统计代码分享
Mar 10 Python
Python3 操作符重载方法示例
Nov 23 Python
使用apidoc管理RESTful风格Flask项目接口文档方法
Feb 07 Python
python的turtle库使用详解
May 10 Python
python获取磁盘号下盘符步骤详解
Jun 19 Python
django的csrf实现过程详解
Jul 26 Python
Python对接支付宝支付自实现功能
Oct 10 Python
Python抓包程序mitmproxy安装和使用过程图解
Mar 02 Python
使用Python将图片转正方形的两种方法实例代码详解
Apr 29 Python
django日志默认打印request请求信息的方法示例
May 17 Python
python中判断数字是否为质数的实例讲解
Dec 06 Python
python 利用matplotlib在3D空间绘制二次抛物面的案例
Feb 06 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中将时间差转换为字符串提示的实现代码
2011/08/08 PHP
PHP清除字符串中所有无用标签的方法
2014/12/01 PHP
php微信公众开发之获取周边酒店信息的方法
2014/12/22 PHP
PHP中实现接收多个name相同但Value不相同表单数据实例
2015/02/03 PHP
DWZ+ThinkPHP开发时遇到的问题分析
2016/12/12 PHP
[原创]php使用strpos判断字符串中数字类型子字符串出错的解决方法
2017/04/01 PHP
laravel 关联关系遍历数组的例子
2019/10/10 PHP
PHP随机生成中文段落示例【测试网站内容时使用】
2020/04/26 PHP
通过javascript设置css属性的代码
2009/12/28 Javascript
IE8提示Invalid procedure call or argument 异常的解决方法
2012/09/30 Javascript
js数组的操作详解
2013/03/27 Javascript
javascript中的undefined和not defined区别示例介绍
2014/02/26 Javascript
轻松创建nodejs服务器(3):代码模块化
2014/12/18 NodeJs
JavaScript 事件对象介绍
2015/04/13 Javascript
JavaScript返回上一页的三种方法及区别介绍
2015/07/04 Javascript
JavaScript利用HTML DOM进行文档操作的方法
2016/03/28 Javascript
es6 字符串String的扩展(实例讲解)
2017/08/03 Javascript
如何为vue的项目添加单元测试
2018/12/19 Javascript
基于vue开发微信小程序mpvue-docs跳转页面功能
2019/04/10 Javascript
Vue 使用beforeEach实现登录状态检查功能
2019/10/31 Javascript
[01:10:57]Liquid vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python三元运算实现方法
2015/01/12 Python
Python 装饰器深入理解
2017/03/16 Python
Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】
2017/07/24 Python
Tornado实现多进程/多线程的HTTP服务详解
2019/07/25 Python
Python如何优雅获取本机IP方法
2019/11/10 Python
opencv3/C++图像像素操作详解
2019/12/10 Python
Python爬虫工具requests-html使用解析
2020/04/29 Python
Python新手如何进行闭包时绑定变量操作
2020/05/29 Python
《云雀的心愿》教学反思
2014/02/25 职场文书
开学典礼主持词
2014/03/19 职场文书
委托书的格式
2014/08/01 职场文书
优秀少先队辅导员事迹材料
2014/12/24 职场文书
2015年高校保卫处工作总结
2015/07/23 职场文书
MySQL为数据表建立索引的原则详解
2022/03/03 MySQL
Vue3中toRef与toRefs的区别
2022/03/24 Vue.js