algorithm - 在哪里选择线性搜索而不是二分搜索

标签 algorithm search binary-search linear-search

在互联网上搜索后,我无法让自己满意,因为我发现了一组全面的情况,在这些情况下线性搜索比二分搜索更可取。

我基本上想知道是否有可能编制一份相对明确的建议列表(从工业界可能会发现的一般编程的角度来看)。或者,如果可以证实我确实已经看到了关于该主题的所有内容,我将不胜感激。

最佳答案

我选择线性搜索而不是二分搜索的原因如下:

  1. 列表未排序,只查找一次

  2. 列表很小(虽然这本身就是一个模糊的概念 - 我读过的元素少于 100 个左右?)

  3. 列表将需要在搜索操作之后进行排序(例如插入),因为排序将主导整个任务的时间复杂度

  4. 数据结构不是随机访问的(如链表)

  5. 不了解可以帮助搜索的数据(相对邻近度?)

关于algorithm - 在哪里选择线性搜索而不是二分搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22546024/

相关文章:

java - 使用compareTo() 对电子邮件地址进行排序会返回意外结果

algorithm - 从图像中提取稳健的线

algorithm - 寻找最小长度 RLE

javascript - 为商业版的谷歌自定义搜索框提供占位符或值?

java - 在 Java 中对某些字符序列的大字符串进行查找/替换的最有效方法

search - 禁止搜索词

c# - 算法:两个正则表达式的交集

iOS 二分搜索代码在超过 256 项时崩溃

c++ - Codechef 虫洞 : What's wrong with my logic?

java - 使用字符串的通用二分搜索