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

来源:互联网 发布:sql anywhere 10 下载 编辑:程序博客网 时间:2024/04/30 21:54

二分查找方式最大的好处,就是查找效率高。特别是在表中数据量很大的时候,这点优势更加明显。通常,随着表中数据量越大,二分查找方式相对于顺序查找方式的比较优势就越大。下面,不妨假设一张表的数据共有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次,查找次数大大减少了,效率相应大大提高。

原创粉丝点击