少说话多写代码之Python学习038——创建函数04(函数的使用 )二分法查找
2018-11-07 23:23
363 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yysyangyangyangshan/article/details/83834022
二分法查找有一个重要前提,就是序列是有序的。在有序的序列中找到一个中点,然后对比目标元素在中点的哪一侧,然后依次这样查找,最终找到。逻辑非常简单。我们主要看在
Python中是如何实现的,直接看代码如下,
[code]def binarySearch(sequnce,number,lower=0,uper=None): if uper is None:uper=len(sequnce)-1 if lower==uper: assert number==sequnce[uper] return uper else: middle=(lower+uper) // 2 if number > sequnce[middle]: return binarySearch(sequnce,number,middle+1,uper) else: return binarySearch(sequnce,number,lower,middle) #调用 seq=[35,66,98,1,100,95] seq.sort() print(seq) print(binarySearch(seq,95))
输出
[code][1, 35, 66, 95, 98, 100] 3
工程文件下载:https://download.csdn.net/download/yysyangyangyangshan/10771488
阅读更多相关文章推荐
- 少说话多写代码之Python学习042——类04(超类 )
- 少说话多写代码之Python学习040——类02(类的函数和方法 )
- 少说话多写代码之Python学习053——类的成员(生成器的使用:递归)
- 写了一个使用代码创建Silverlight的函数
- Python:通过计算阶乘来学习lambda和reduce这两个函数的使用
- 【代码学习】PYTHON 函数
- python学习--使用 lambda 函数
- Python中函数参数设置及使用的学习笔记
- Python使用list的append和pop方法创建堆栈和队列实例代码
- python及tensorflow代码学习使用笔记
- php学习笔记(三十六)smarty中使用自定函数和代码块(smarty2和smarty3的不同)
- 【Python学习日记】函数列表 动态创建函数 文件读取 迭代器
- Python 创建函数和代码重用
- Python语言学习讲解三:详解Python中的split()函数的使用方法
- 【Python】Java程序员学习Python(五)— 函数的定义和使用
- Python基础教程代码与注释P89 6.1 懒惰即美德 P90 6.3 创建函数
- 使用Python,创建你的第一个实用型入门机器学习项目(下)
- python 8-1 如何使用多线程,Thread创建线程,执行函数赋值给target//类+函数放在run方法中执行
- Python快速学习04:循环 & 函数
- Python学习(04):python代码打包与发布