查找算法  --  简介

查找(Searching)就是根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素。

查找表(Search Table):由用一类型的数据元素构成的集合

关健字(Key):数据元素中某个数据项的值,又称为键值

主键(Primary Key):可唯一的标识某个数据元素或记录的关健字

查找表按照操作方式可分为:

1.静态查找表(Static Search Table):只做查找操作的查找表。他的主要操作是:

  • 查询某个“特定的”数据元素是否在表中
  • 检索某个“特定的”数据元素和各种属性

2.动态查找表(Dynamic Search Table):在查找中同时进行插入或删除等操作:

  • 查找时插入数据
  • 查找时删除数据

顺序查找

算法简介:顺序查找又称为线性查找,是一种最简单的查找方法。

适应:适用于线性表的顺序存储结构和链式存储结构。

算法的时间复杂度:O(n)

基本思路:从第一个元素m开始逐个与需要查找的元素x进行比较,当比较到元素值相同(即m=x)时返回元素m的下标,如果比较到最后都没有找到,则返回-1。

优点:是对表中数据元素的存储没有要求。另外,对于线性链表,只能进行顺序查找。

缺点:当n很大时,平均查找长度较大,效率低。

算法实现:

def sequaential_search(lis, key):length = len(lis)for i in range(length):if lis[i] == key:return ielse:return Falseif __name__ == '__main__':LIST = [1, 5, 8, 123, 22, 54, 7, 99, 300, 222]result = sequential_search(LIST, 123)print(result)

Python查找算法(一)------ 顺序查找相关推荐

  1. 数据结构之查找算法:顺序查找

    查找算法:顺序查找 思维导图: 顺序查找的定义: 顺序查找的代码实现: 顺序查找的性能: 思维导图: 顺序查找的定义: 顺序查找的代码实现: typedef struct { //查找表数据结构int ...

  2. 查找算法--01 顺序查找和二分查找

    目      录 1. 顺序查找 1.1 顺序查找介绍 1.2 顺序查找适用范围 1.3 顺序查找代码实现 2.二分查找 2.1 二分查找介绍 2.2 二分查找适用范围 2.3 二分查找代码实现 2. ...

  3. 查找算法1——顺序查找

    查找也称为检索,是指从一批记录中找到指定记录的过程.查找算法是程序设计处理非数值问题非常重要的操作.查找算法包括:基于线性表的查找,基于树的查找,哈希表查找. 基于线性表的查找包括顺序查找.折半查找, ...

  4. 查找算法之顺序查找和二分查找

    1.顺序查找 基本思想:从数据结构线性表一端开始,顺序扫描,依次将扫描到的关键字值与给定key相比较,若相等则表示查找成功 :若扫描结束仍没有找到关键字等于key值的结点,表示查找失败. 顺序查找适合 ...

  5. python二分法查找算法_顺序查找算法和折半(二分法)查找算法,C语言查找算法详解...

    查找是指在大量的信息中寻找一个特定的信息.在计算机中,查找是非常重要的一个应用,比如"百度".查找算法的好坏直接影响查找的速度. 常用的查找算法主要有顺序查找和折半(二分法)查找: ...

  6. 查找算法-(顺序查找、二分查找、插值查找、斐波那契查找)

    1)顺序查找或叫线性查找 就是顺序遍历匹配 2)二分查找 package search;public class BinarySearch {/*** 二分查找数组必须有序*//**** @param ...

  7. 查找算法(顺序查找、二分法查找、二叉树查找、hash查找)

    查找功能是数据处理的一个基本功能.数据查找并不复杂,但是如何实现数据又快又好地查找呢?前人在实践中积累的一些方法,值得我们好好学些一下.我们假定查找的数据唯一存在,数组中没有重复的数据存在. (1)顺 ...

  8. python 查找算法_七大查找算法(Python)

    查找算法 -- 简介 查找(Searching)就是根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素. 查找表(Search Table):由同一类型的数据元素构成的集合 关键字(Ke ...

  9. 查找算法:二分查找、顺序查找

    08年9月入学,12年7月毕业,结束了我在软件学院愉快丰富的大学生活.此系列是对四年专业课程学习的回顾,索引参见:http://blog.csdn.net/xiaowei_cqu/article/de ...

  10. 索引顺序表查找算法(分块查找)

    算法背景 有时候,可能会遇到这样的表:整个表中的元素未必有序,但若划分为若干块后,每一块中的所有元素均小于(或大于)其后面块中的所有元素.我们称这种为分块有序. 对于分块有序表的查找 首先,我们需要先 ...

最新文章

  1. pdf expert for Mac分享 支持m1
  2. wxWidgets:在 Unix (GTK+) 下打印
  3. One or more breakpoints cannot be set and have been disabled
  4. angular input和output
  5. java查看日志命令_[Java教程]【Linux】linux查看日志文件内容命令tail、cat、tac、head、echo...
  6. 通过VisualSVN的POST-COMMIT钩子自动部署代码
  7. Java JUC工具类--CountDownLatch
  8. 如何用css设计出商品购物图片
  9. Ubuntu18.04安装opencv出现的一系列问题解决方法(持续更新~)
  10. 279 Perfect Squares 完美平方数
  11. Appfuse:扩展自己的GenericManager
  12. 使用Nodejs 批量下载文件, 甘特图 gantt-schedule-timeline-calendar 免费
  13. 深入原理64式:39 线性代数公式总结
  14. 最齐全的宋体字体素材,速来收藏
  15. pos收银系统 php,POS收银系统
  16. vue中input限制只能输入数字
  17. 台式计算机用u盘给电脑安装系统,台式机用u盘装系统,教您用u盘装系统给台式机...
  18. 资金核对平台的发展历程
  19. LiveGBS-摄像机网页低延时无插件直播实现
  20. 23、LZ77压缩和解压

热门文章

  1. gonna, gotta, wanna
  2. NRF52832 saadc
  3. 南京理工大学在校学生申请学校邮箱账户以及获得Intellij IDEA许可证的流程
  4. 【酷熊科技】工作积累 ----------- unity 动态设置 Animator组件的Controller
  5. 操作系统上机随笔《实验一》
  6. 公众号怎么关联多个不同主体的小程序详细教程
  7. 同一个世界,同一片家园
  8. ManageEngine ADManager Plus中文版
  9. python——大数据偷偷告诉你端午节送什么粽子最合适
  10. 【报告分享】2021年中国白领人群消费及职场社交研究报告-艾瑞(附下载)