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

一、列表查找:


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

相关推荐
智者知已应修善业几秒前
【数字稳压控制DAC/TLC5615驱动】2023-5-27
c++·经验分享·笔记·算法·51单片机
爱写代码的倒霉蛋2 分钟前
2021年天梯赛L1-8
数据结构·算法
阿Y加油吧4 分钟前
动态规划入门必刷:不同路径 & 最小路径和 详解
算法·动态规划
ximen502_11 分钟前
算法面试题
java·数据结构·算法
zzzsde13 分钟前
【Linux】进程信号(2)保存信号与信号处理
linux·运维·服务器·算法
QuZero24 分钟前
Semaphore Principle
java·算法
ZPC821028 分钟前
自定义机械臂驱动(Action Server + /joint_states 发布)
算法
啊我不会诶29 分钟前
牛客练习赛151
算法·深度优先·图论
Ricardo-Yang35 分钟前
# BPE Tokenizer:从训练规则到推理切分的完整理解
人工智能·深度学习·算法·机器学习·计算机视觉
qyzm41 分钟前
牛客周赛 Round 140
数据结构·python·算法