[Math]顺序查找的优化

本文探讨了在不同概率分布下如何优化顺序查找,包括二进制概率分布、齐普夫定律分布和二八定律分布。通过对关键词按出现概率排序,可以减少查找次数。此外,还分析了不等长记录查找的优化条件及多条件检测问题的排序策略,旨在提高查找效率。
摘要由CSDN通过智能技术生成

[Math] 顺序查找的优化


简介: 在[Alg]顺序查找中,给出了顺序查找的算法及其改进方法,都是基于所有关键词查找概率相同的假设。在实际中,可能出现各种各样的概率分布,我们重点分析现实社会生活中常见的齐普夫定律和二八定律的概率分布。看完这篇文章,你就即可以装A,也可以装C了。

作者:屎壳郎 miaosg01@163.com

日期:Sept. 2021

版次:初版


在《[Alg]顺序查找》中,基于均匀分布,给出了成功查找的比较次数 C N = ( N + 1 ) / 2 C_N=(N+1)/2 CN=(N+1)/2,方差 N 2 − 1 12 ≈ 0.289 N \sqrt{N^2-1\over12}\approx0.289N 12N21 0.289N。我们在这篇文章中,重点分析其它概率分布情况下,如何优化查找。

设关键词 K j K_j Kj出现的概率 p j p_j pj,且有 p 1 + p 2 + ⋯ + p N = 1 p_1+p_2+\cdots+p_N=1 p1+p2++pN=1 C N C_N CN为查找成功的比较次数均值,其表达如下:
C N = p 1 + 2 p 2 + 3 p 3 + ⋯ + N p n . C_N=p_1+2p_2+3p_3+\cdots+Np_n. CN=p1+2p2+3p3++Npn.。如果要使得 C N C_N CN最小,则应满足下面的关系:
p 1 ≥ p 2 ≥ p 3 ≥ ⋯ ≥ p N p_1\geq p_2\geq p_3\geq\cdots\geq p_N p1p2p3pN
所以,要优化改进查找,应该把出现概率大的前移,以减少查找次数。最优化的情况就是按概率从大往小排列。

下面考察几个实际的概率分布。

1. 二进制概率分布

二进制的概率分布:
p n = 1 2 , p 2 = 1 4 , ⋯   , p N − 1 = 1 2 N − 1 , p N = 1 2 N − 1 p_n={1\over2},\qquad p_2={1\over4},\qquad\cdots,\qquad p_{N-1}={1\over2^{N-1}},\qquad p_N={1\over2^{N-1}} pn=21,p2=41,,pN1=2N11,pN=2N11
C N = 1 × 1 2 + 2 × 1 2 2 + 3 × 1 2 3 + ⋯ + ( N − 1 ) × 1 2 N − 1 + N × 1 2 N − 1 C_N={1\times{1\over2}}+{2\times{1\over2^2}}+{3\times{1\over2^3}}+\cdots+{(N-1)\times{1\over2^{N-1}}}+{N\times{1\over2^{N-1}}} CN=1×21+2×221+3×231++(N

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值