精通cobol--9.8.3 二分查找方式的好处

本文介绍了二分查找在数据量较大时相较于顺序查找所具有的高效优势。以包含100条数据的表为例,详细对比了两种查找方式的查找次数,展示了二分查找在最坏情况下的查找效率仍远高于顺序查找。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

二分查找方式最大的好处,就是查找效率高。特别是在表中数据量很大的时候,这点优势更加明显。通常,随着表中数据量越大,二分查找方式相对于顺序查找方式的比较优势就越大。下面,不妨假设一张表的数据共有100条,具体看看二分查找方式的优势是如何体现出来的。

如果采用顺序查找方式,最坏的情况下,是查找第100条数据。因此,若采用顺序查找方式,最大查找次数为100。若不考虑极端情况,只计算该查找方式下的平均查找次数,对应公式如下。

顺序查找方式平均查找次数 = 表中所有数据数量 / 2

根据公式,可知其平均查找次数为100/2=50次。而若采用二分查找方式,则在最坏的情况下,查找次数也远远小于顺序查找方式的平均查找次数。具体查找过程如下。

q      1次查找,将100一分为二,比较第50条数据,并将拥有50条数据的半张表作为新表。

q      2次查找,将50一分为二,比较新表中的第25条数据,将拥有25条数据的半张表作为新表。

q      3次查找,将25一分为二,比较新表中的第13条数据,将含12条数据的半张表作为新表。

q      4次查找,将12一分为二,比较新表中的第6条数据,将含6条数据的半张表作为新表。

q      5次查找,将6一分为二,比较第3条数据,将含3条数据的半张表作为新表。

q      6次查找,将3一分为二,比较新表中的第2条数据,将含1条数据的半张表作为新表。

q      7次查找,比较新表中的惟一1条数据,若满足查找条件,则查找成功,否则查找失败。完成整张表的查找。

因此,可以看到,即使在最坏情况下,二分查找总共查找次数也只有7次。相比顺序查找最坏情况下的100次和平均情况下的50次,查找次数大大减少了,效率相应大大提高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值