对于直接查找方式而言,知道了数据编号也就知道了数据存储位置。因此,查找次数都仅为1次。但实际上这种方式下并没进行实际的查找算法,因此不能从算法的角度分析其查找效率。
对于顺序查找方式,这里分别从最好情况,最坏情况和平均情况分析其查找效率。不妨假设表中总数据量为n。
q 最好情况下,表中第一条数据即为所要查找的数据,查找次数为1。
q 最坏情况下,表中最后一条数据才为所要查找数据,查找次数为n。
q 平均情况下,根据以下公式,查找次数为n/2。
顺序查找方式平均查找次数 = 表中所有数据数量 / 2
对于二分查找方式,这里仅从最好情况和最坏情况下分析其查找效率。对于二分查找平均情况下的查找效率,这里暂且不作讨论。仍然假设表中总数据量为n。
q 最好情况下,表中中间数据即为所要查找的数据,查找次数为1。
q 最坏情况下,表中第一条或最后一条数据才为所要查找的数据。则对应的查找次数为对n开方,取整后再加1。
因此,可以看出,从算法的角度看,二分查找方式是最高效的。并且,表中数据量n越大,使用二分查找方式相对于顺序查找方式而言效率越高。
本文探讨了直接查找、顺序查找及二分查找三种不同查找方式的效率。分别从最好情况、最坏情况及平均情况分析了查找次数,并指出二分查找在大数据量下效率最高。

被折叠的 条评论
为什么被折叠?



