哪个更快找到随机字符串:随机行顺序或排序?

时间:2014-11-16 16:00:38

标签: grep

我们希望找到一个随机字符串,例如:"ASDF555"。我们有一个非常大的文件,其中包含此字符串的唯一行。哪一个更快(及时,使用简单的grep命令)来查找提到的字符串?如果“BIG文件”是:

  1. 排序
  2. 或随机?
  3. 当然,ASDF555可以是任何东西!

    我们正在考虑以随机顺序排列这些行更快,因为字符串也可以是随机的。但我们不能证明这个想法..

1 个答案:

答案 0 :(得分:0)

grep没有"知道"你的文件是排序的,所以它需要逐行检查 - 所以它排序的事实是无关紧要的。换句话说 - 文件排序的事实不会损害您的搜索速度 - 您也可以逐行查看文件,直到找到所需的字符串。

但是,如果文件确实已排序,您可以实现更好的搜索算法(例如,二进制搜索),而不是使用grep