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