整理书籍 - 搜索相关问题

时间:2011-04-14 11:25:27

标签: algorithm search

我最近在技术面试中被问过这样的问题。

你必须在图书馆里找到一本特定的书,当你进去的那一刻,你看到所有的书都散落在图书馆周围,即图书没有以有组织的方式放在图书馆内。你将如何着手寻找那本特定的书?除了您知道Name of the Book

之外,没有关于该书的说明

我知道这与某些搜索算法有关,但在这种情况下可以使用什么算法搜索书籍?

2 个答案:

答案 0 :(得分:2)

从第一本书开始执行线性搜索并搜索每本书,直到您遇到所需书籍的第一次出现(当然可能有多个副本)。

如果你是唯一的搜索者并且有很多书,那么在寻找这本书之前对它们进行排序似乎是非常低效的浪费时间 - 除非你打算在将来搜索更多书籍。

你可以随时要求图书管理员告诉你这本书在他们的系统上的位置,或者你可以招募一些朋友来帮助你搜索和分解问题并同时工作。

修改 的 还有一种称为Grovers algorithm的量子算法(如果你涉及到那种东西),它比对未分类数据库的线性搜索更快,但我不太了解它。

答案 1 :(得分:0)

在这种情况下你要么

  • 对书籍进行排序,然后使用搜索算法(例如二进制搜索)进行搜索。如果你有时可能需要搜索另一本书,这是一个很好的方法
  • 通过浏览整个书籍列表来搜索书籍,一旦找到它就可以停止