整理书籍-搜索相关问题

| 最近在技术面试中有人问我这样的问题。 您必须在图书馆中找到一本特定的书,进入图书馆的那一刻,您会看到所有的书都散布在图书馆的各处,即书籍不是以有组织的方式放置在图书馆中的。您将如何寻找那本特定的书?除了您知道ѭ0之外,这本书没有任何规范。 我知道这与某些搜索算法有关,但是在这种情况下可以使用哪种算法搜索书籍?     
已邀请:
从第一本书开始执行线性搜索,然后搜索每本书,直到遇到所需书籍的第一本书(当然可能有多个副本)。 如果您是唯一的搜索者,并且有很多书籍,那么在寻找书籍之前对它们进行排序似乎是浪费时间的效率非常低-除非您打算将来再搜索更多书籍。 您总是可以要求图书馆员告诉您这本书在他们系统上的位置,或者您可以邀请一些朋友来帮助您搜索和分解问题,并并行进行工作。 编辑 还有一种称为Grovers算法的量子算法(如果您喜欢这种事情),它比线性搜索未排序的数据库要快,但是老实说,我对此了解不多。     
在那种情况下 对书籍进行排序,然后使用搜索算法进行搜索(例如,二进制搜索)。如果您有时可能需要搜索另一本书,这是一个好方法 通过浏览整个图书列表来搜索图书,找到后就可以停止     

要回复问题请先登录注册