顺序表查找-数据结构

定义 设有一个集合T,其中有n个数据项,集合T及其中数据项的形式如下

T={(k0,I0),(k1,I1),...,(kn-1,In-1)}

k0,k1,...,kn-1是互不相同的关键字值

Ij(0≤j≤n-1)是与关键字值kj相关的信息

给定一个特定的关键字值K,查找问题是在T中确定数据项(kj,Ij),使得kj=K

查找表中的数据项也称为记录

每个记录至少包含一个关键字

记录中关键字的类型可以是能够进行比较操作的任意类型

  • 顺序查找方法

初始时,将给定的关键字值K与表中第一个记录的关键字值相比较,若两个值相等则找到目标,查找成功;否则将K与表中下一个记录的关键字值继续比较并判断是否相等,依此类推。如果直到最后一个记录的关键字值与K都不相等,则表明所存储的数据中没有要查找的目标,查找不成功

查找的平均查找长度为(n+1)/2

不成功查找的查找次数为n

当数据按关键字有序存储时,可以改进顺序查找方法

折半查找也称为二分查找,其适用条件是数组中各个记录按关键字有序排列,所以折半查找只适用于有序表

折半查找并不从有序表的一端开始查找,而是从中间开始查找

  • 例子

给定有序表

11 15 18 22 33 45 60 65 82 86 97

使用折半查找方法查找22,给出查找过程

初始时

相关推荐
kaikaile19952 分钟前
MATLAB 灰度图像的二维傅里叶变换
算法·计算机视觉·matlab
仰泳的熊猫8 分钟前
1112 Stucked Keyboard
数据结构·c++·算法·pat考试
淼淼76310 分钟前
QT表格与数据
开发语言·qt
smile_Iris11 分钟前
Day 38 GPU训练及类的call方法
开发语言·python
roman_日积跬步-终至千里13 分钟前
【计算机算法与设计(14)】例题五:最小生成树:Prim算法详细解释:π的含义、更新逻辑和选点原因
算法
让学习成为一种生活方式13 分钟前
压缩文件夹下下所有文件成压缩包tar.gz--随笔016
算法
嗷嗷哦润橘_19 分钟前
AI Agent学习:MetaGPT项目之RAG
人工智能·python·学习·算法·deepseek
三月微暖寻春笋23 分钟前
【和春笋一起学C++】(五十一)复制构造函数
c++·复制构造函数·显式复制构造函数·隐式复制构造函数
不忘不弃37 分钟前
指针元素的使用
算法
认真敲代码的小火龙39 分钟前
【JAVA项目】基于JAVA的养老院管理系统
java·开发语言·课程设计