用于查找书籍的智能蛮力算法?

时间:2015-05-16 12:18:01

标签: algorithm brute-force

我想编写一个强力算法来尝试在图书馆中找到一本书。如果你找的那本书不存在,你需要多长时间才能解决问题? 任何智能蛮力方法?

我想在图书馆名称所在的列表中搜索图书的名称,并从列表中心开始?

1 个答案:

答案 0 :(得分:0)

您应该阅读why GNU grep is fast上的这篇文章并尝试他的方法。总之,他说:

  
      
  • 使用Boyer-Moore(并将其内循环展开几次)。

  •   
  • 使用原始系统调用滚动您自己的无缓冲输入。避免复制   搜索之前的输入字节。 (但是,请使用缓冲   输出。正常的grep场景是输出量是   与输入量相比较小,因此输出的开销   缓冲区复制很小,同时由于避免了很多小的节省   无缓冲写入可能很大。)

  •   
  • 在找到匹配项之前,请不要在输入中查找换行符。

  •   
  • 尝试设置(页面对齐的缓冲区,页面大小的读取块,   可选地使用mmap)所以内核也可以避免复制字节。

  •   
     

快速制作节目的关键是让它们几乎不做任何事情。 ; - )

Grep完全按照你的意愿行事:强行搜索无序数据 - 他的算法很聪明,即使它是蛮力的。