【顺序搜索(sequential search)】顾名思义就是按顺序搜索,直到找到目标元素或者搜索完列表中所有元素发现该列表中不包含目标元素。
另外,如果是一个正序排列的列表,要么找到目标元素,要么扫描到一个比目标元素大的位置就可以结束搜索。
【Performance Analysis】1. 长度为n的无序列表:如果目标元素在列表中,则最好的情况下,只需要做1次比较,最坏的情况需要做n次比较,平均为n/2;
如果目标元素不在列表中,则最好、最坏、平均都需要n次比较。
2. 长度为n的正序列表:如果目标元素在列表中,则和无序列表中的情况一样;
如果目标元素不在列表中,则最好的情况下,只需要做1次比较,最坏的情况仍需要做n次比较,平均为n/2
可见正序列表只有在目标元素不在列表中时对性能有所提高,但是平均为n/2仍然是O(n)。
【implementation】