查找算法  --  简介

查找(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 i

else:

return False

if __name__ == '__main__':

LIST = [1, 5, 8, 123, 22, 54, 7, 99, 300, 222]

result = sequential_search(LIST, 123)

print(result)

python中顺序查找法例子_Python查找算法(一)------ 顺序查找相关推荐

  1. python中关于命名的例子_Python()-类命名空间和对象/实例命名空间

    类命名空间和对象/实例命名空间: 创建类, 就会创建一个类的名称空间, 空间:存储类的属性 属性: 静态属性:直接定义在类下面 & 和类名关联 的变量 对象属性:在类内和self关联 & ...

  2. python中的引用法总结_python模块调用总结

    1.模块的定义 本质上就是.py结尾的python文件,用来从逻辑上组织python代码(变量,函数,类,逻辑),为了实现一个功能. 2.模块的调用方法 首先编写一个模块文件: 1 name='Tao ...

  3. python中关于命名的例子_Python 命名规范入门实例

    这篇文章主要为大家详细介绍了Python 命名规范入门实例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 一,包名.模 ...

  4. Python中的 len() 是什么?如何使用 len() 函数查找字符串的长度

    Python中的 len() 是什么?如何使用 len() 函数查找字符串的长度 在编程语言中,获取特定数据类型的长度是一种常见做法. Python也一样,因为可以使用内置的 len() 函数来获取字 ...

  5. [转载] python中for语句用法_详解Python中for循环的使用_python

    参考链接: 在Python中将else条件语句与for循环一起使用 这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下 for 循环 本系列前面 &q ...

  6. python中for语句用法_详解Python中for循环的使用_python

    这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下 for 循环 本系列前面 "探索 Python,第 5 部分:用 Python 编程&q ...

  7. python中异或怎么算_python 异或运算的前提_异或运算公式

    Python基础(10)–数字-Python-第七城市 609x288 - 73KB - JPEG Python基础(10)--数字_资讯_突袭网 609x288 - 33KB - JPEG pyth ...

  8. python中find函数忽略大小写_python字符串(大小写、判断、查找、分割、拼接、裁剪、替换、格式化)...

    一.通用操作 1.Python len() 方法返回对象(字符.列表.元组等)长度或项目个数. 语法 len()方法语法: len( q ) 参数 q -- 对象. 返回值 返回对象长度. 实例 以下 ...

  9. python中科学计数法怎么表示_python科学计数法转换

    python 输出数字,如何不以科学计数法输出? 概述利用numpy设置输出选项即可 代码解析 未使用numpy设置: import time # time 时间类 print(time*time*1 ...

最新文章

  1. exchange 2003配置ASSP 反垃圾邮件
  2. “一切都是消息”--iMSF(即时消息服务框架)入门简介
  3. 在EditText前面添加一个搜索的小图片
  4. MySQL 3.23 中文参考手册
  5. SSH服务如何远程管理RHEL 5
  6. android app启动过程(转)
  7. 前端:JS/37/canvas对象(画布对象),用canvas对象(画布)画一些基本的图像
  8. 锤子科技 php 面试,面试没通过 锤子新品遭面试者曝光
  9. python提供了两个对象身份比较操作符是_python 对象
  10. vector函数用法
  11. 现代汉语词典第五版_瑜 典 寻 瑕——第五版《现代汉语词典》的瑕疵(周克庸原创)...
  12. DOM系列之scroll系列
  13. 超文本传输协议 - 白话篇
  14. Android:通过systrace进行性能分析及使用-详细
  15. 语义分割评价指标mIOU
  16. AutoCAD Civil 3D-曲面-曲面对象转换成AutoCAD三维实体
  17. C++虚函数表解析 (Lawliet 修改+注释版)(附有部分网友的重要评论)
  18. 常用电子元器件应用要点及识别方法
  19. HTC Desire S刷kernel 2.3.5+sense3.0版的RUU后解锁和root
  20. 反编译 Unity发布Apk

热门文章

  1. 【CoppeliaSim】远程 API 之 Matlab 控制,对比 V-rep 有些不同
  2. 1.9 可避免误差-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
  3. 2.3 指数加权平均-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
  4. 2.2 Logistic 回归-深度学习-Stanford吴恩达教授
  5. 虚拟机ubuntu使用笔记之samba安装
  6. Swift UITableView嵌套UICollectionView点击事件冲突(点击事件穿透)
  7. eyoucms的添加内容发布
  8. Devexpress报表开发(二):创建数据报表
  9. C# asp.net mvc 配置多个route 参数
  10. scjp考试准备 - 4 - 关于数组