顺序查找

顺序查找(Sequential Search)算法简单,适用面广(对查找表结构无任何要求),但其查找效率较低,等概率下平均查找长度为(n+1)/2。

在条件允许情况下,顺序查找可以设置一个监视哨,目的在于免去查找过程中每一步都要检测整个表是否查找完毕。严版《数据结构》说这个改进能使查找长度在≥1000时查找所需平均时间几乎减少一半。

顺序查找的C/C++代码实现:

int seq_search(int search_table[], int length, int key)
{
    int i;
    search_table[0] = key;
    for (i = length; key != search_table[i]; --i);
    return i;
}

第4行即为设置监视哨,当然监视哨也可以设在高下标处。

发表评论

电子邮件地址不会被公开。

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>