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 相关文章推荐
pandas带有重复索引操作方法
Jun 08 Python
用Python将一个列表分割成小列表的实例讲解
Jul 02 Python
pandas读取csv文件,分隔符参数sep的实例
Dec 12 Python
Python 获取指定文件夹下的目录和文件的实现
Aug 30 Python
python基于gevent实现并发下载器代码实例
Nov 01 Python
详解python中docx库的安装过程
Nov 08 Python
Python脚本操作Excel实现批量替换功能
Nov 20 Python
python字典key不能是可以是啥类型
Aug 04 Python
django有哪些好处和优点
Sep 01 Python
Python调用REST API接口的几种方式汇总
Oct 19 Python
基于python的matplotlib制作双Y轴图
Apr 20 Python
使用Djongo模块在Django中使用MongoDB数据库
Jun 20 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使用fgetcsv读取csv文件出现乱码的解决方法
2014/11/08 PHP
php自定义函数实现二维数组按指定key排序的方法
2016/09/29 PHP
laravel ORM关联关系中的 with和whereHas用法
2019/10/16 PHP
用javascript获得地址栏参数的两种方法
2006/11/08 Javascript
Jquery Ajax学习实例 向页面发出请求,返回XML格式数据
2010/03/14 Javascript
javascript对象之内置对象Math使用方法
2010/04/16 Javascript
ASP.NET中基于JQUERY的高性能的TreeView补充
2011/02/23 Javascript
禁用键盘上的(全局)指定键兼容iE、Chrome、火狐
2013/05/14 Javascript
javascript 获取元素样式必杀技
2014/05/04 Javascript
基于jquery的手风琴图片展示效果实现方法
2014/12/16 Javascript
javascript使用prototype完成单继承
2014/12/24 Javascript
JavaScript 学习笔记之语句
2015/01/14 Javascript
javascript中AJAX用法实例分析
2015/01/30 Javascript
jQuery实现首页图片淡入淡出效果的方法
2015/06/10 Javascript
详解Node项目部署到云服务器上
2017/07/12 Javascript
JS简单获得节点元素的方法示例
2018/02/10 Javascript
VueJs组件之父子通讯的方式
2018/05/06 Javascript
如何使用CSS3和JQuery easing 插件制作绚丽菜单
2019/06/18 jQuery
vue项目中锚点定位替代方式
2019/11/13 Javascript
Vue父子之间值传递的实例教程
2020/07/02 Javascript
在vue-cli3中使用axios获取本地json操作
2020/07/30 Javascript
[02:15]2015国际邀请赛选手档案IG.Ferrari 430
2015/07/30 DOTA
Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍
2014/06/10 Python
Python 基础教程之包和类的用法
2017/02/23 Python
Python 比较两个数组的元素的异同方法
2017/08/17 Python
Python使用PIL模块生成随机验证码
2017/11/21 Python
python+tkinter实现学生管理系统
2019/08/20 Python
Tiqets英国:智能手机上的文化和娱乐门票
2019/07/10 全球购物
鲜花方阵解说词
2014/02/13 职场文书
园林技术个人的自我评价
2014/02/15 职场文书
罗马假日观后感
2015/06/08 职场文书
河童之夏观后感
2015/06/11 职场文书
运动会开幕式主持词
2015/07/01 职场文书
攻击最高的10只幽灵系神奇宝贝,坚盾剑怪排第一,第五最为可怕
2022/03/18 日漫
关于windows server 2012 DC 环境 重启后蓝屏代码:0xc00002e2的问题
2022/05/25 Servers
Vue3实现简易音乐播放器组件
2022/08/14 Vue.js