查找算法之顺序查找

参考:

1. 顺序查找 | 博客园

 

基本思想:

 

顺序查找,就是从第一个元素开始,按索引顺序遍历待查找序列,直到找出给定目标或者查找失败。

特点:

1. 对待查序列(表)无要求 -- 待查找序列可以是有序,也可以是无序;

2. 从第一个元素开始;

3. 需要逐一遍历整个待查序列(除非已经找到);

4. 若查找到最后一个元素还没找到,则查找失败;

 

缺点:

效率低 -- 需要遍历整个待查序列

 

时间复杂度:

O(n),平均查找时间 = 列表长度/2

空间复杂度:

1个待查序列+1个目标元素 <=> O(n)

 

看一组示例,从一组数据[3,6,7,2,12,9,0,11]中查找12,

初始状态:指针p指向列表第一个元素,即索引为0元素,开始向右滑动,以匹配、查找目标

 

Step1:p指针开始向右滑行一个单位,进行比较

Step2,3,直到4:查找到元素12,匹配目标12成功,索引=4

 

示例代码

data = [3,6,7,2,12,9,0,11]"""
sequence search 
"""
def seqsearch(array, target):i = 0for i in range(len(array)):element = array[i]if element == target:print 'sucess to find out %d from array, index=%d'%(target, i)return iprint 'fail to find out the target'return -1print seqsearch(data, 12) #sucess to find out
print seqsearch(data, 8) #fail to find out

运行结果

sucess to find out 12 from array, index=4
4
fail to find out the target
-1

 

转载于:https://www.cnblogs.com/fortunely/p/9616597.html

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python数据预测_python时间序列预测股票走势

提示&#xff1a;这只是个训练模型&#xff0c;技术不具备实际意义&#xff0c;入市需谨慎。 首先调用tushare包 import tushare as ts import pandas as pd import matplotlib.pyplot as plt 查自己比较感兴趣的股票&#xff0c;这里我查找的是新能源/燃料电池/氢燃料&#xf…

30.Android之百度地图简单学习

今天用了下百度地图&#xff0c;简单写了一个例子&#xff0c;记录下。 一、申请AK&#xff08;API Key&#xff09; 要想使用百度地图sdk&#xff0c;就必须申请一个百度地图的api key。申请流程挺简单的。 首先注册成为百度的开发者&#xff0c;然后打开http://lbsyun.baidu.…

python爬取b站弹幕_爬取B站弹幕并且制作词云

目录 SRE实战 互联网时代守护先锋&#xff0c;助力企业售后服务体系运筹帷幄&#xff01;一键直达领取阿里云限量特价优惠。 爬取弹幕 1. 从手机端口进入网页爬取找到接口 2.代码 import requests from lxml import etree import numpy as np urlhttps://api.bilibili.com/x/v1…

python控制灯_Python 控制树莓派 GPIO 输出:控制 LED 灯

树莓派 GPIO 控制输出的入门应该都是从控制 LED 灯开始的吧。 树莓派版本&#xff1a;Model 3B 树莓派系统&#xff1a;Raspbian Stretch with desktop and recommended software&#xff0c;April 2019 连接装置 准备一个 LED 灯&#xff0c;两个两头都为母的杜邦线。对照下图…

报错型sql注入原理分析

0x00&#xff1a;前言关于sql注入&#xff0c;经久不衰&#xff0c;现在的网站一般对sql注入的防护也相对加强了&#xff0c;2016年的***测试报告中&#xff0c;出现最多的是xss&#xff08;跨站脚本***&#xff09;和明文传输等&#xff0c;但是对sql注入的利用方式&#xff0…

matlab矩阵 0,matlab zeros初始化为0矩阵

zeros为创建一个值为零的数组&#xff1b;如matrix1zeros(4,5);%4*5的矩阵&#xff0c;矩阵中每个元素都为0matrix2zeros(4,5,3);%4*5*3的数组&#xff0c;数组中每个元素都为0下面举一个将图像存到数组的例子对RGB图片1.jpg&#xff0c;2.jpg&#xff1b;大小为700*500*3创建4…

批处理命令Start

2019独角兽企业重金招聘Python工程师标准>>> 运行hello.exe&#xff08;最小化&#xff09; start /MIN hello.exe 用记事本打开readme.txt&#xff08;最大化&#xff09; start /MAX notepad readme.txt 打开网页 start http://www.baidu.com/ 调用另外一个脚本&…

arcgis python实例_arcgis二次开发_arcgis二次开发python_arcgis二次开发实例

[1.rar] - QQ连连看的源码.单消秒杀挂机等功能喜欢的朋友请拿去研究 [qqCHAR.rar] - qq 验证码识别程序 可以叫准确的识别出qq登陆前的验证码 [1.rar] - 本书以Visualc作为开发语言&#xff0c;结合大量实例&#xff0c;详细介绍了利用Arcobjects组件进行GIS二次开发的方法和过…

Linux命令-自动挂载文件/etc/fstab功能详解

一、/etc/fstab文件的作用磁盘被手动挂载之后都必须把挂载信息写入/etc/fstab这个文件中&#xff0c;否则下次开机启动时仍然需要重新挂载。系统开机时会主动读取/etc/fstab这个文件中的内容&#xff0c;根据文件里面的配置挂载磁盘。这样我们只需要将磁盘的挂载信息写入这个文…

一、在windows环境下修改pip镜像源的方法(以python3为例)

在windows环境下修改pip镜像源的方法(以python3为例) 1.在windows文件管理器中,输入 %APPDATA% 2.会定位到一个新的目录下&#xff0c;在该目录下新建pip文件夹&#xff0c;然后到pip文件夹里面去新建个pip.ini文件 3.在新建的pip.ini文件中输入以下内容&#xff0c;搞定 [glob…

得到选择框句柄 怎么操作_电脑版微信怎么多开?最简单的三种电脑版微信多开教程...

​在现实中的我们在网络上却又很多张脸&#xff0c;多开微信很多人都是需要的&#xff0c;这里就介绍3个方法给大家多开。方法1&#xff1a;BAT文件鼠标右键单击微信图标选择 属性在属性选项夹内复制 “目标”例如我的是("D:Program Files (x86)TencentWeChatWeChat.exe&q…

macos sierra 引导镜像_真想不到,在win10上可以制作苹果macOS启动U盘

不管你使用的是macOS还是Windows10&#xff0c;电脑出现启动问题是很正常的&#xff0c;原因有很多种&#xff0c;包括(但不限于)文件损坏、硬件故障和错误更新等。如果意外发生在苹果电脑上&#xff0c;可以使用带有安装文件的macOS启动U盘来修复它。这正是在电脑正常工作时应…

python(1) - 数据类型和变量

数据类型&#xff1a; 整数&#xff1a;就是整数&#xff0c;包括正整数&#xff0c;0&#xff0c;负整数 浮点数&#xff1a; 通俗点说&#xff0c;就是小数 长整数&#xff1a; 就是比较长的整型&#xff0c;通常后面会跟一个L 字符串&#xff1a; 字符串需要用“”或’’括起…

powershell awk_谈谈 PowerShell

万事万物&#xff0c;有始有终。直从萌芽拔&#xff0c;高自毫末始。所谓的 Shell&#xff0c;无非是应用程序与操作系统内核进行交互的一个中间程序而已。我本人玩电脑也有很久一阵子了&#xff0c;最开始接触到的就是Windows 7 操作系统&#xff0c;当时 Windows 7 上市不久&…

python七段数码管的详解,Python入门基础:七段数码管绘制

1.在学习Python的过程中&#xff0c;运用所学的一些基础知识&#xff0c;进行一些简单的编程&#xff0c;可以收获很多乐趣。在生活中&#xff0c;LED灯无处不在&#xff0c;荧幕显示的广告词&#xff0c;给我们呈现出动态的视觉效果。下面&#xff0c;则以最简单的显示日期为例…

python图标的演变_Python3 生成icon图标

首先安装所使用的库 pillow&#xff0c; pillow 是用来取代 PIL 的&#xff0c; pip3 install pillow 安装成功图&#xff1a;A866FFD7-2283-4BFB-8313-DBDEE909A579.png 简单的代码&#xff1a; from __future__ import print_function import os, sys from PIL import Image …

IDEA 热部署 仅支持jdk1.6,1.7

第一安装 dcevm 下载地址http://ssw.jku.at/dcevm/binaries/ java -jar dcevm-0.2-win.jar &#xff0c;选择需要安装该补丁的jdk&#xff0c;点击按钮Install即可 第二&#xff1a;IDEA 在Debug模式下运行&#xff0c;这时随便修改文件&#xff0c;自动发布到tomcat中 超级快…

php中perl配置,Windows下 Apache、PHP和Perl的安装配置

在安装AWStats7.0和 JAWStats之前需要配置其环境&#xff0c;而运行AWStats需要perl支持&#xff0c;运行JAWStats需要PHP支持&#xff0c;这篇文章将具体介绍其环境的安装配置。环境Windows 2003Apache2.2Per5.12lPHP5(开源)Apache&#xff1a;http://httpd.apache.org/Perl&a…

arraylist 初始化_ArrayList(JDK1.8)源码解析

既然是看源码&#xff0c;那我们要怎么看一个类的源码呢&#xff1f;这里我推荐的方法是&#xff1a;1)看继承结构看这个类的层次结构&#xff0c;处于一个什么位置&#xff0c;可以在自己心里有个大概的了解。2)看构造方法在构造方法中&#xff0c;看做了哪些事情&#xff0c;…

php Pthread 多线程 (二) Worker和Threaded

<?php //Worker是具有持久化上下文(执行环境)的线程对象 //Worker对象start()后&#xff0c;会执行run()方法&#xff0c;run()方法执行完毕&#xff0c;线程也不会消亡 class MySqlWorker extends Worker {private $name ;private $db null;public function __construct…