以下综合三种查找方式对表的要求,各自的查找过程以及查找效率进行总结。关于这三种查找方式的总结如表9.9所示。
表 三种查找方式的总结
|
对表的要求 |
查找过程 |
查找效率 |
直接查找方式 |
表中数据编号同数据存放的位置要求一致。可省略定义数据编号。 |
将数据编号MOVE到下标中,通过下标引用数据 |
每次查找次数均为1次。 (不能从算法角度分析其查找效率。) |
顺序查找方式 |
无特别要求。 |
从表中第一条数据开始查找,顺次查找整张表,直到找到数据或查找到表中最后一条数据。 |
最好情况下查找1次。 最坏情况下查找n次。 (n为表中数据总量,下同。) 平均情况下查找n/2次。 |
二分查找方式 |
表中数据必须有序排列。可以为升序,也可以为降序。 |
从表中间的数据开始查找,每次查找后将查找数据量缩小一半,通过递归算法实现。 |
最好情况下查找1次。 最坏情况下查找次数为对n开平方,取整,再加1。 |