查找

1基本概念

1.1查找

查找是在数据元素集合中查找是否存在关键字等于某个特定数据元素的过程。查找也成为检索。

1.2静态查找

只在数据元素集合中查找是否存在某个给定的元素。

1.3动态查找

除包括静态查找的要求外,还包括在查找过程中同时插入数据集合中不存在的元素,或者删除某个已经存在的元素

平均查找长度

平均查找长度(ASL)是衡量查找算法效率的主要标准,是指查找过程中所需要进行比较的平均次数。其数学定义为:
A S L = ∑ i = 1 n P i C i ASL=\sum_{i=1}^n{P_i}{C_i} ASL=i=1nPiCi
P i {P_i} Pi是要查找数据元素的出现概率,通常取 1 n \frac{1}{n} n1. C i {C_i} Ci是查找相应数据元素需要比较的次数。
CSDN-Markdown编辑器-数学公式编写:https://blog.csdn.net/qq_42446456/article/details/82927855

2静态查找

静态查找问题数据元素的存储结构主要是顺序存储结构,即数组。静态查找主要有无序查找、有序查找和索引结构三种情况。

2.1在无序序列中查找

设一个无序序列存储在数组中。
算法思想:从数组一端开始,用给定数据元素和数组中元素逐个进行比较,若找到要查找的元素,则查找成功,否则查找失败。
平均查找长度: A S L 成 功 = ∑ i = 1 n P i C i = ∑ i = 1 n 1 n i = n + 1 2 {ASL_{成功}}=\sum_{i=1}^n{P_i}{C_i}=\sum_{i=1}^n{\frac{1}{n}}{i}={\frac{n+1}{2}} ASL=i=1nPiCi=i=1nn1i=2n+1
A S L 失 败 = ∑ i = 1 n P i C i = ∑ i = 1 n 1 n n = n {ASL_{失败}}=\sum_{i=1}^n{P_i}{C_i}=\sum_{i=1}^n{\frac{1}{n}}{n}=n ASL=i=1nPiCi=i=1nn1n=n

2.2在有序序列长查找

设一个有序序列存储在数组中。在一个有序数组中进行查找的算法主要有两种:顺序查找和二分查找。

2.2.1顺序查找

算法思想:与2.1类似,但不需要比较完所有数据即可以判断出所找元素是否在集合中。
平均查找长度: A S L 成 功 = ∑ i = 1 n P i C i = ∑ i = 1 n 1 n i = n + 1 2 {ASL_{成功}}=\sum_{i=1}^n{P_i}{C_i}=\sum_{i=1}^n{\frac{1}{n}}{i}={\frac{n+1}{2}} ASL=i=1nPiCi=i=1nn1i=2n+1
A S L 失 败 = ∑ i = 1 n P i C i = ∑ i = 1 n 1 n i = n + 1 2 {ASL_{失败}}=\sum_{i=1}^n{P_i}{C_i}=\sum_{i=1}^n{\frac{1}{n}}{i}={\frac{n+1}{2}} ASL=i=1nPiCi=i=1nn1i=2n+1

2.2.2二分查找/折半查找

算法思想:n个元素存储在数组a中,要查找元素设为target,确定出查找区间的中心下标an/2,与target进行比较,若相等,则查 找成功;若 a[n/2]<target,把查找区间定为后半段a[(n/2)+1]到a[n-1];若 a[n/2]>target,则把查找区间定为前半段a[0]到a[(n/2)-1] 。重复这个过程一直到查找区间的开始下标大于结束下标时为止。
平均查找长度: A S L 成 功 = ∑ i = 1 n P i C i = log ⁡ 2 n {ASL_{成功}}=\sum_{i=1}^n{P_i}{C_i}=\log_2{n} ASL=i=1nPiCi=log2n
A S L 失 败 = ∑ i = 1 n P i C i = log ⁡ 2 n + 1 {ASL_{失败}}=\sum_{i=1}^n{P_i}{C_i}=\log_2{n+1} ASL=i=1nPiCi=log2n+1
显然,对于一个有序 数组的查找,二分法效率最高。

2.3索引

当查找数据量很大时需要用到索引,这部分还没有研究。

3动态查找

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值