精通cobol--9.9.3 查找效率

  对于直接查找方式而言,知道了数据编号也就知道了数据存储位置。因此,查找次数都仅为1次。但实际上这种方式下并没进行实际的查找算法,因此不能从算法的角度分析其查找效率。

对于顺序查找方式,这里分别从最好情况,最坏情况和平均情况分析其查找效率。不妨假设表中总数据量为n

q      最好情况下,表中第一条数据即为所要查找的数据,查找次数为1

q      最坏情况下,表中最后一条数据才为所要查找数据,查找次数为n

q      平均情况下,根据以下公式,查找次数为n/2

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

对于二分查找方式,这里仅从最好情况和最坏情况下分析其查找效率。对于二分查找平均情况下的查找效率,这里暂且不作讨论。仍然假设表中总数据量为n

q      最好情况下,表中中间数据即为所要查找的数据,查找次数为1

q      最坏情况下,表中第一条或最后一条数据才为所要查找的数据。则对应的查找次数为对n开方,取整后再加1

因此,可以看出,从算法的角度看,二分查找方式是最高效的。并且,表中数据量n越大,使用二分查找方式相对于顺序查找方式而言效率越高。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值