数据结构与算法-查找

一、基本概念

1.查找:在数据集合中寻找满足某种条件的数据元素的过程称为查找

2.查找表:用于查找的数据集合称为查找表,它由同一类型的数据元素(或记录)组成

3.关键字:数据元素中唯一标识该元素的某个数据项的值,使用基于关键字的查找,查找结果应该是唯一的

二、常见操作

1.查找符合条件的数据元素(静态查找表)

2.插入、删除某个数据元素(动态查找表)

三、查找算法的评价指标

1.查找长度:在查找元素中,需要对比关键字的次数称为查找长度

2.平均查找长度:所有查找过程中进行关键字的比较次数的平均值

三、查找算法

1.顺序查找:一般用于数组,从顺序表的一端开始,依次将每个元素值同给定的值进行比较,若找到则返回该元素所在的下标,否则返回特定值,时间复杂度为O(n)

2.二分查找(折半查找):首先取整个有序表的中点元素,同x比较,若小于给定值则在左子表中,否则在右子表中,经过依次查找就将缩短一半的查找空间,直到找到x元素或者当前查找元素为空,时间复杂度为O(log2n)

 

3.索引查找(分级查找):首先根据给定的索引值K1,在索引表中查找索引值等于K1的索引项,以确定对应子表在主表中的开始位置和长度,然后再根据给定值K2,再对应的子表中查找等于K2的元素

4.分块查找:进行分块查找时,应根据所给的关键字首先查找索引表,从中查找刚好大于等于所给关键字的那个索引项,从而找到待查块,然后再查找这个块,从中顺序查找到相应的记录

 

5.散列查找:以数据集合中的每个元素的关键字k为自变量,通过一种函数h(k)计算出函数值,把这个值用作一块连续存储空间中的元素存储位置(下标)

6.B树查找(多路平衡查找树):所有结点的孩子个数的最大值称为B树的阶,用m表示

A.树中每个结点至多有m棵子树,即至多含有m-1个关键字

B.若根节点不是终端结点,则至少有两棵子树

C.除根结点外的所有非叶结点至少有m/2棵子树,即至少含有m/2-1个关键字

D.所有的叶结点都出现在同一层上,并且不带信息

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Z_ForWard

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值