Python--内置二分法查找/插入模块(源码)
来源:互联网 发布:六皇后问题答案java 编辑:程序博客网 时间:2024/06/05 17:20
python内部有实现成熟的二分法模块:
模块名称:bisect
插入方法:
在源码中插入和寻找插入位置都有两种方法,一个是left,一个是right。其中,他们的区别就是当出现x是l中的某一个元素相等时,x是插在左边还是右边。源码中通过将相等的情况划分给‘向左缩进‘还是‘向右缩进‘的方式来控制。
def insort_right(l,x,lo=0,hi=None):#源码中的英语是这种用法,单词拼错了两次? if lo<0: raise ValueError('lo must be non-negative') if hi is None: hi=len(l) while lo<hi: mid=(lo+hi)//2 #如果是insort_left,则是: #if l[mid]<x:lo=mid+1 #else:hi=mid if x<l[mid]:hi=mid else:lo=mid+1 l.insert(lo,x)
寻找位置
def bisect_right(l,x,lo=0,hi=None): if lo<0: raise ValueError('lo must be non-negative') if hi is None: hi=len(l) while lo<hi: mid=(lo+hi)//2 if x<l[mid]:hi=mid else:lo=mid+1 return lo
0 0
- Python--内置二分法查找/插入模块(源码)
- Python内置模块源码查看
- Python 二分法查找
- python实现二分法查找
- python实现二分法查找
- Python基础----二分法查找
- Python-二分法查找
- python二分法查找
- python实现二分法查找
- 二分法查找的Python实现
- python内置模块string源码浅析之maketrans
- python - 内置模块
- python内置HTMLParser模块
- python模块内置函数
- Python 内置模块1
- python 内置模块2
- python 内置模块
- python的内置模块
- uva1645
- Universal Image Loader源码分析
- N层楼梯上楼方式总数
- oracle使用exp导出并备份上传shell
- 当一页的布局很多条目都相同如何防止代码冗余
- Python--内置二分法查找/插入模块(源码)
- Android之Handler用法总结
- 第一行代码笔记之二Activity
- poj 1611The Suspects
- poj3686(KM)
- LINUX wait 和 waitpid详解
- Unity编辑器扩展
- Android文件存储
- 绑定微信公众平台提示“请求URL超时”解决办法(转)