首页 » 算法技术手册 » 算法技术手册全文在线阅读

《算法技术手册》顺序查找

关灯直达底部

顺序查找也叫做线性查找,是最简单的查询算法。它通过穷举来寻找集合C中的单独目标元素t。它从集合中的第一个元素开始查找,然后检查每一个随后的元素,知道匹配的元素查找到或者集合中每一个元素都被查找过。

考虑这样一个案例,一个中等规模的饭店有10~20张桌子可以被顾客预定。这个饭店靠近一个大型的医疗中心,这个饭店的很多顾客都是中心的医疗人员或者病人家属。饭店宣传说他们能够在紧急时刻定位任何一位顾客,然后顺序地将信息传递给这个人。当顾客在指定的桌子旁坐下来,饭店老板将记录下这张桌子的顾客的名字,在他们离开时会擦除名字。为了能够在任何时候寻找到饭店中的顾客,饭店老板将简单地浏览记录中每张桌子的顾客姓名。

输入/输出

肯定有多种方法来从查找的集合中获取元素,顺序并不重要。如果一个集合A支持索引,那么能用索引值i来获得元素A[i]。一个集合C通常只能通过一个只读的迭代器来获得其中的每一个元素(例如,一个和SQL查询语句相关数据库的游标)。使用游标存取这些元素的方法在图5-1的下半部描述。

输入

输入包括一个集合C,包含n≥0个元素,以及需要寻找的元素t。

输出

如果t属于C,那么返回真,否则返回假。

图 5-1 顺序查找详解