排序算法:顺序查找

简介

  • 顺序查找(也称为线性查找)是一种简单直观的搜索算法。
  • 按照顺序逐个比较列表或数组中的元素,直到找到目标元素或搜索完整个列表。

应用场景

  1. 数据集比较小,无需使用复杂的算法。
  2. 数据集没有排序,不能使用二分查找等基于有序数据集的算法。
  3. 需要在数据集中查找元素的位置。

def sequential_search(arr, target):
    """
    顺序查找函数

    Args:
        arr: 待查找的数组
        target: 目标元素

    Returns:
        目标元素在数组中的位置,如果未找到则返回 -1
    """
    for i in range(len(arr)):
        if arr[i] == target:
            return i
    return -1

#测试用例
# 不存在返回-1
def test_sequential_search_not_exist():
    assert sequential_search([1, 3, 4, 5, 7, 8], "a") == -1
# 存在返回对应数据的索引
def test_sequential_search():
    assert sequential_search([1, 3, 4, 5, 7, 8], 1) == 0
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2979704.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

数栈+AI:数栈V6.2创新发布,让数据开发更智能

近日,以“DataAI,构建新质生产力”为主题的袋鼠云春季发布会圆满落幕,大会带来了一系列“AI”的数字化产品与最新行业沉淀,旨在将数据与AI紧密结合,打破传统的生产力边界,赋能企业实现更高质量、更高效率的…

C语言指针+-整数、指针-指针、指针关系运算、指针和数组、二级指针、指针数组

文章目录 前言一、指针 - 整数二、指针 - 指针三、指针的关系运算四、指针和数组五、二级指针六、指针数组指针数组可以将几个一维数组模拟成二维数组 总结 前言 C语言指针整数、指针-指针、指针关系运算、指针和数组、二级指针、指针数组等介绍,还包括指针数组将几…

【C++】---STL之vector的模拟实现

【C】---STL之vector的模拟实现 一、vector在源码中的结构:二、vector类的实现:1、vector的构造2、析构3、拷贝构造4、赋值运算符重载5、迭代器6、operator[ ]7、size()8、capacity()9、reserve()10、resize()11、empty()12、push_back()13、pop_back()1…

基于JAVA的机场航班起降与协调管理系统

毕业设计(论文)任务书 第1页 毕业设计(论文)题目: 基于JAVA的机场航班起降与协调管理系统 毕业设计(论文)要求及原始数据(资料): 1.综述机场航班调…

JRebel热部署SpringBoot+MyBatis-Plus实现不重启更新修改后MyBatis的XML文件

安装JRebel热部署插件 《JRebel插件安装教程》 《JRebel mybatisPlus extension下载Zip离线安装》 在线安装JRebel mybatisPlus extension 插件商店直接搜JRebel mybatisPlus extension pom.xml 引入依赖 <dependency><groupId>com.baomidou</groupId>…

裤裤带你一起学C语言内存函数啦!

目录 1.memcpy的使用和模拟实现 2.memmove使用和模拟实现 3.memset函数的使用 4.memcmp函数的使用 内存函数在<string.h>库中&#xff0c;我们使用内存函数必须先引入<string.h>头文件 1.memcpy的使用和模拟实现 memcpy的函数原型如下&#xff1a; void * m…

大模型热潮下,AI数据集的重要性及发展现状

2023年3月14日&#xff0c;OpenAI发布了多模态大模型的最新版本GPT-4&#xff1a;文生视频大模型Sora&#xff0c;Sora通过采用更大规模的数据集进行训练,其推理能力超过了ChatGPT&#xff0c;已成为目前最成功、最受欢迎的大模型。 Sora的出现&#xff0c;打破了人们对AI技术…

sketchup{su}安装错误1402

错误如图 解决方法如下 打开autoremove&#xff0c;点击扩展&#xff0c;输入1402&#xff0c;点击搜索 等待修复成功既可尝试重新安装su 软件每周六选择其他方式登录免费使用

SCP收容物091~100

注 &#xff1a;此文接SCP收容物081~090,本文只供开玩笑 ,与steve_gqq_MC合作。 --------------------------------------------------------------------------------------------------------------------------------- 目录 scp-091 scp-092 scp-093 scp-094 scp-095…

RF高频腔设计(7)

3.11 高阶模 之前我们说过&#xff0c;由于束流负载或者其它的原因会在RF高频腔中激发出很多模式&#xff0c;这些模式可能会对束流的稳定性造成不利的影响&#xff0c;尤其是腔的 R / Q ∗ Q L R/Q*Q_L R/Q∗QL​很高时。 为了解决这个问题&#xff0c;需要使用HOM阻尼器来抑…

缓解工作压力的小窍门:保持健康与创新

目录 1 前言2 工作与休息的平衡3 保持心理健康4 社交与网络建设5 结语 1 前言 作为程序员&#xff0c;我们常常承受着高度的工作压力和持续的创新挑战。为了保持高效和健康&#xff0c;我们需要采取一些方法来缓解工作压力&#xff0c;同时促进个人的心理和身体健康。 2 工作…

Android—— log的记忆

一、关键log 1.Java的 backtrace(堆栈log) 上述是一个空指针异常&#xff0c;问题出现在sgtc.settings&#xff0c;所以属于客户UI问题。 2.WindowManager(管理屏幕上的窗口和视图层次结构) 3.ActivityManager(管理应用程序生命周期和任务栈) 4.wifi操作 (1) 连接wifi&#…

安卓原生项目工程结构说明

.gradle 和 .idea (自动生成) .gradle 是gradle下载好的缓存&#xff0c;如果有配置好的 下载好的缓存 直接会拿来用 没有会下载 生成 .idea 是编辑器的配置 app 代码主逻辑 目录 项目中的代码 资源都会在里面 工作的时候的核心目录 gradle 下载安卓的构建器gradle相关的配置信…

Linux c++ onvif客户端开发(8):GetServices

本文是Linux c onvif客户端开发系列文章之一&#xff1a; Linux c onvif客户端开发(1): 根据wsdl生成cpp源文件Linux c onvif客户端开发(2): 获取摄像头H264/H265 RTSP地址Linux c onvif客户端开发(3): 扫描设备Linux c onvif客户端开发(4): 扫描某个设备是否支持onvifLinux c…

目标检测——野火数据集

引言 亲爱的读者们&#xff0c;您是否在寻找某个特定的数据集&#xff0c;用于研究或项目实践&#xff1f;欢迎您在评论区留言&#xff0c;或者通过公众号私信告诉我&#xff0c;您想要的数据集的类型主题。小编会竭尽全力为您寻找&#xff0c;并在找到后第一时间与您分享。 …

八股中的记录

1. protected修饰符&#xff1a;同包或子类&#xff08;不同包&#xff09; 区分普通人和专业人调用的一些方法 2. 抽象&#xff1a;abstract修饰类和方法 抽象类不可实例化&#xff0c;避免错误的new对象 抽象方法是用abstract修饰的方法声明&#xff0c;没有方法体&#xff…

【k8s】Kubernetes 1.29.4离线安装部署(总)

&#xff08;一&#xff09;kubernetes1.29.4离线部署之-安装文件准备 &#xff08;二&#xff09;kubernetes1.29.4离线部署之-镜像文件准备 &#xff08;三&#xff09;kubernetes1.29.4离线部署之-环境初始化 &#xff08;四&#xff09;kubernetes1.29.4离线部署之-组件安装…

好看的混淆矩阵

网上绘制的混淆矩阵都不太满意。。。经过本人多次实验&#xff0c;如下混淆矩阵最为美观&#xff0c;特此记录 import matplotlib matplotlib.use(Agg) from matplotlib import rcParamsimport matplotlib.pyplot as plt import numpy as np# 给定混淆矩阵 cm np.array([[683…

使用可穿戴传感器和设备进行压力检测——综述摘录

用于压力检测的设备&#xff1a; Empatica E4腕带&#xff1a;该设备是腕带&#xff0c;是实时生理数据流和可视化传感器。作为医疗级可穿戴设备&#xff0c;它使研究人员能够收集多种生理数据&#xff0c;例如用于HRV分析的BVP&#xff0c;以及反映皮肤特定区域不断波动的电特…

2024用云渲染好还是自己渲染好!

​cg动画的渲染上经常需要使用到“云渲染”&#xff0c;当然也有小型的动画渲染使用的自己本地电脑渲染。云渲染可节省时间&#xff0c;减少硬件投资&#xff1b;本地电脑渲染就比较灵活的&#xff0c;但是需要高配置的硬件支持&#xff0c;那么两者那个好呢&#xff0c;一起来…