我最近在技术面试中被问过这样的问题。
你必须在图书馆里找到一本特定的书,当你进去的那一刻,你看到所有的书都散落在图书馆周围,即图书没有以有组织的方式放在图书馆内。你将如何着手寻找那本特定的书?除了您知道Name of the Book
。
我知道这与某些搜索算法有关,但在这种情况下可以使用什么算法搜索书籍?
答案 0 :(得分:2)
从第一本书开始执行线性搜索并搜索每本书,直到您遇到所需书籍的第一次出现(当然可能有多个副本)。
如果你是唯一的搜索者并且有很多书,那么在寻找这本书之前对它们进行排序似乎是非常低效的浪费时间 - 除非你打算在将来搜索更多书籍。
你可以随时要求图书管理员告诉你这本书在他们的系统上的位置,或者你可以招募一些朋友来帮助你搜索和分解问题并同时工作。
修改强> 的 还有一种称为Grovers algorithm的量子算法(如果你涉及到那种东西),它比对未分类数据库的线性搜索更快,但我不太了解它。
答案 1 :(得分:0)
在这种情况下你要么