【发布时间】:2015-05-16 21:43:15
【问题描述】:
我想编写一个蛮力算法来尝试在图书馆中找到一本书。如果您要找的书不在那里,您需要多长时间才能完成? 任何智能蛮力方法?
我正在考虑在图书馆书名所在的列表中搜索书名并从列表的中心开始?
【问题讨论】:
-
除非您订购数据,否则您将没有“智能蛮力”。如果你订购你的数据(复杂度 NlogN),你可以在 logN 时间内找到你想要的,使用二分搜索
-
蛮力,几乎按照定义,往往不是“聪明的”
-
如果您正在寻找一种快速表达“这本书不在这里”的方式,请查找 Bloom Filters。
-
为了降低找书的成本,只比较目标名称的第一个字符和书名。只有当第一个字符匹配时,才应检查书的全名。
-
1.过滤所有书籍,以便缩小范围(您是唯一知道要查找什么的人),2. 将所有这些条目添加到数据库中,3. 数据挖掘
标签: algorithm brute-force