数据结构和算法二(基础查找问题)

一、列表查找:


index(),是线性查找,因为二分查找需要进行排序

1、顺序查找

python 复制代码
def linear_search(data_set,value):
    for ind,val in enumerate(data_set):
        if val==value:
            return ind
    else:
        return

时间复杂度O(n),从头到尾循环一遍

2、二分查找



python 复制代码
def binary_search(data_set,value):
    left=0
    right=len(data_set)-1
    while left<right:
        mid=(left+right)//2
        if data_set[mid]==value:
            return mid
        elif data_set[mid]<value:
            left=mid+1
        else:
            right=mid-1
    return 0

时间复杂度O(logn)

原视频可参考:https://www.bilibili.com/video/BV1uA411N7c5?p=11\&spm_id_from=pageDriver\&vd_source=9baef983d7bc08245d4dee5c9e676ee9

相关推荐
lihihi5 分钟前
P1209 [USACO1.3] 修理牛棚 Barn Repair
算法
博界IT精灵17 分钟前
栈在表达式求值中的应用(暂时看到视频3.3.2_1的25min19秒)
数据结构
weixin_3875342223 分钟前
Ownership - Rust Hardcore Head to Toe
开发语言·后端·算法·rust
庞轩px30 分钟前
MinorGC的完整流程与复制算法深度解析
java·jvm·算法·性能优化
Queenie_Charlie36 分钟前
Manacher算法
c++·算法·manacher
闻缺陷则喜何志丹37 分钟前
【树的直径 离散化】 P7807 魔力滋生|普及+
c++·算法·洛谷·离散化·树的直径
AI_Ming44 分钟前
Seq2Seq-大模型知识点(程序员转行AI大模型学习)
算法·ai编程
若水不如远方1 小时前
分布式一致性(六):拥抱可用性 —— 最终一致性与 Gossip 协议
分布式·后端·算法
计算机安禾1 小时前
【C语言程序设计】第35篇:文件的打开、关闭与读写操作
c语言·开发语言·c++·vscode·算法·visual studio code·visual studio
Wect1 小时前
React Hooks 核心原理
前端·算法·typescript