class Solution:
#顺序查找
def seq_search(self,list,num):
for i in(range(len(list))):
if list[i] == num:
return i
return -1 #二分查找
#每次能够排除掉一半的数据,查找的效率非常高,但是局限性比较大。
#必须是有序序列才可以使用二分查找。 #1、非递归算法
def binary_search_normal(self,list,num):
left=0
right = len(list)-1
mid = (left+right)//2
while left <=right:
if list[mid] > num:
right = mid-1
mid = (left+right)//2
elif list[mid] < num:
left = mid+1
mid = (left + right)//2
else:
return mid
else:
return -1 #2、递归算法
def binary_search_re(self,list,num,left,right):
if left > right: #递归结束条件
return -1
mid = (left+right)//2
if list[mid] > num:
right = mid - 1
elif list[mid] < num:
left = mid + 1
else:
return mid
return solution.binary_search_re(list, num, left, right) if __name__ == '__main__':
list = [3,5,11,17,21,23,28,30,32,50,64,78,81,95,101]
num = 32
solution = Solution()
# result1 = solution.seq_search(list,num)
# print(result1)
list.sort()
# result2 = solution.binary_search_normal(list,num)
# print(result2)
result3 = solution.binary_search_re(list,num,0,len(list)-1)
print(result3)

查找----python的更多相关文章

  1. 查找Python包的依赖包(语句)

    Window 10家庭中文版,Python 3.6.4, 今天看完了urllib3的官文(官方文档),因为没有具体使用过,所以,仍然是一知半解,但是,突然想知道 urllib3以及前面学习过的requ ...

  2. 查找python项目依赖并生成requirements.txt——pipreqs 真是很好用啊

    查找python项目依赖并生成requirements.txt 转自:http://blog.csdn.net/orangleliu/article/details/60958525 一起开发项目的时 ...

  3. 有没有一个工具可以帮助查找python的bug和进行静态的代码分析?

    答:PyChecker是一个python代码的静态分析工具,它可以帮助查找python代码的bug, 会对代码的复杂度和格式提出警告 Pylint是另外一个工具可以进行codingstandard检查

  4. 二分查找-python

    约12年年底的时候,接触了python不到半年的样子,入门是直接实现GUI测试case的.今天面试地平线机器人,发现忘得差不多了- -. 当时的问题是这样的 写一个二分查找是实现,我好像不记得二分查找 ...

  5. 二分查找——Python实现

    一.排序思想 二分(折半)查找思想请参见:https://www.cnblogs.com/luomeng/p/10585291.html 二.python实现 def binarySearchDemo ...

  6. 二维数组中的查找(python)

    题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 ...

  7. 如何查找python安装包的路径site-packages?

    使用命令: python -m site python -m site --user-site 注意当查看指定版本的python的安装包时,需要指定python版本,比如python2.7.15 -m ...

  8. python面试题之有没有一个工具可以帮助查找python的bug和进行静态的代码分析?

    pycheck pylint 本文首发于python黑洞网,博客园同步更新

  9. 二分法查找--Python

    二分查找算法,最常规的应用就是在一个有序数组中找特定的数.一般分为四步走: 1. 判定条件为low小于high,low=0, high=size-1 2. mid=(low+high) / 2 3. ...

  10. 如何在linux中查找python安装包的路径

    [root]# python -c "import fasttext;print(fasttext)"<module 'fasttext' from '/root/anaco ...

随机推荐

  1. 编写程序,计算当n=10000,20000,30000...100000时,π的值.求π的近似公式 π=4*(1-1/3+1/5-1/7+1/9-1/11+1/13-...+1/(2n-1)-1/(2n+1))

    该程序是求的 π 近似值,所以随着 i 的增大,值会无线接近于 3.1415926... 代码示例 : package judgment;/** * 编写程序,计算当n=10000,20000,300 ...

  2. [论文阅读笔记] Community aware random walk for network embedding

    [论文阅读笔记] Community aware random walk for network embedding 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 先前许多算法都 ...

  3. Tensorflow 2.0 搭建神经网络(局部)

    前向传播 tensorflow.keras 搭建网络时,内部的网络可以直接完成所有层的前向计算.全连接Dense() 层,最后一层的神经元的个数需要和最后一层线性函数 w x + b 的维度对应上,中 ...

  4. 关于LSTM核心思想的部分理解

    具体资料可以查阅网上,这里提到一些难理解的点.别人讲过的知识点我就不重复了. LSTM 的关键就是细胞状态,按照水平线从左向右运行,如同履带,在整个链上运行. 根据时间t-1,t,t+1,我们可以看出 ...

  5. TVM性能评估分析(三)

    TVM性能评估分析(三) Figure 1. TVM's WebGPU backend close to native GPU performance when deploying models to ...

  6. 实时实例分割的Deep Snake:CVPR2020论文点评

    实时实例分割的Deep Snake:CVPR2020论文点评 Deep Snake for Real-Time Instance Segmentation 论文链接:https://arxiv.org ...

  7. H.265视频编码与技术全析(下)

    H.265视频编码与技术全析(下) 四.帧内预测模式 共35个(h264有9个),包括Planar,DC,33个方向模式: 除了Intra_Angular预测外,HEVC还和H.264/MPEG-4 ...

  8. MySQL:如何使用MyCAT实现分库分表?

    分库分表介绍 随着微服务这种架构的兴起,我们应用从一个完整的大的应用,切分为很多可以独立提供服务的小应用.每个应用都有独立的数据库. 数据的切分分为两种: 垂直切分:按照业务模块进行切分,将不同模块的 ...

  9. YOLO V4 :win10+cpu环境的体验

    1.前言 Yolo V3已经体验了,接下来是V4版本. 关于V4版本,学术界褒贬不一.从工业界实际应用角度看,V4做了不少的优化,精度提升了10%,速度提升了12%.详细参见: <如何评价新出的 ...

  10. 一个线上 Maven 诡异问题排查过程

    å. 前言 现在的大部分 Java 应用基本都是通过 Maven 进行组织的,不论是分布式应用还是单体集群应用往往都会通过一个 父 POM 加若干子 POM 完成项目的组织.然而这种多应用多模块的拆分 ...