博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python数据结构与算法之搜索
阅读量:4324 次
发布时间:2019-06-06

本文共 763 字,大约阅读时间需要 2 分钟。

搜索,顾名思义就是在一个序列中找出某个元素。

二分查找

二分查找只能作用于有序的顺序表中。

def binary_search(alist, item):    """二分查找,递归版"""    n = len(alist)    if n > 0:        mid = n//2        if alist[mid] == item:            return True        elif item < alist[mid]:            return binary_search(alist[:mid],item)        else:            return binary_search(alist[mid+1:],item)    return Falseif __name__ == '__main__':    li = [17,20,26,44,45]    print(binary_search(li,45))    print(binary_search(li, 55))
def binary_search(alist, item):    """二分查找,非递归"""    n = len(alist)    first = 0    last = n-1    while first<=last:        mid = (first+last)//2        if alist[mid] == item:            return  True        elif item

二分查找时间复杂度是O(logn)

转载于:https://www.cnblogs.com/maxiaonong/p/10533653.html

你可能感兴趣的文章
阶段2 JavaWeb+黑马旅游网_15-Maven基础_第1节 基本概念_03maven一键构建概念
查看>>
阶段2 JavaWeb+黑马旅游网_15-Maven基础_第1节 基本概念_02maven依赖管理的概念
查看>>
阶段2 JavaWeb+黑马旅游网_15-Maven基础_第2节 maven的安装和仓库种类_05仓库的种类和彼此关系...
查看>>
阶段2 JavaWeb+黑马旅游网_15-Maven基础_第4节 maven生命周期和概念模型图_08maven生命周期...
查看>>
阶段2 JavaWeb+黑马旅游网_15-Maven基础_第3节 maven标准目录结构和常用命令_07maven常用命令...
查看>>
阶段2 JavaWeb+黑马旅游网_15-Maven基础_第2节 maven的安装和仓库种类_04maven的安装...
查看>>
阶段2 JavaWeb+黑马旅游网_15-Maven基础_第3节 maven标准目录结构和常用命令_06maven标准目录结构...
查看>>
阶段2 JavaWeb+黑马旅游网_15-Maven基础_第5节 使用骨架创建maven的java工程_10idea集成maven插件...
查看>>
阶段2 JavaWeb+黑马旅游网_15-Maven基础_第4节 maven生命周期和概念模型图_09maven概念模型图...
查看>>
阶段2 JavaWeb+黑马旅游网_15-Maven基础_第5节 使用骨架创建maven的java工程_12不使用骨架创建maven的java工程...
查看>>
阶段2 JavaWeb+黑马旅游网_15-Maven基础_第5节 使用骨架创建maven的java工程_11使用骨架创建maven的java工程...
查看>>
阶段2 JavaWeb+黑马旅游网_15-Maven基础_第5节 使用骨架创建maven的java工程_14maven工程servlet实例之指定web文件夹...
查看>>
阶段2 JavaWeb+黑马旅游网_15-Maven基础_第5节 使用骨架创建maven的java工程_13使用骨架创建maven的web工程...
查看>>
阶段3 1.Mybatis_04.自定义Mybatis框架基于注解开发_1 今日课程内容介绍
查看>>
阶段2 JavaWeb+黑马旅游网_15-Maven基础_第5节 使用骨架创建maven的java工程_15maven工程servlet实例之导入项目依赖...
查看>>
阶段3 1.Mybatis_04.自定义Mybatis框架基于注解开发_3 基于注解的自定义再分析
查看>>
阶段2 JavaWeb+黑马旅游网_15-Maven基础_第5节 使用骨架创建maven的java工程_17maven工程运行环境修改...
查看>>
阶段3 1.Mybatis_05.使用Mybatis完成CRUD_2 Mybatis的CRUD-保存操作
查看>>
阶段2 JavaWeb+黑马旅游网_15-Maven基础_第5节 使用骨架创建maven的java工程_18maven的java工程取mysql数据库...
查看>>
阶段3 1.Mybatis_05.使用Mybatis完成CRUD_4 Mybatis的CRUD-查询一个和模糊查询
查看>>