精通cobol--9.9.3 查找效率

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

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

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

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

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

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

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

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

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

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

你可能感兴趣的:(精通cobol--9.9.3 查找效率)