使用更简单的前缀搜索书名 java

Search a book name by using prefix in less complexity java

问题陈述:

考虑一个拥有数百万本书的图书馆。每分钟都有数千本书被添加和删除。问题是在 java 中使用最短时间和 space 复杂度的前缀(作为输入给出)找到所有可用的书籍。 例如,

Books - {'abcd','abda','aaqe','abc'}

input: ab

output: 3 // because there are 3 book names starting with 'ab'

input: abc

output: 2

input: a

output: 4

这可以只使用循环来完成,但正如我之前所说,这需要在最短的时间内完成,并且 java 的复杂性 java。

提前致谢

更新 - 因为每个人都要求我至少尝试编写自己的代码,所以我正在更新它。这个问题是在 采访 中提出的。我使用 hashmap 进行了尝试,它说服了面试官,但我仍然认为有一些好的 data structuresalgorithms 可用于此目的。 我不会要求任何人通过为我编写代码来解决这个问题。由于我仍在学习数据结构和算法,所以我只是想知道使用哪种数据结构来实现最小的复杂性。 对不起,如果这是一个愚蠢的问题。 谢谢

您可以使用名为 Trie 的数据结构来实现相同的目的。

我发现 this 很有用,因为它简洁明了,并解释了 trie 是什么以及它与其他数据结构的不同之处。

您还可以参考其他在线资源以更好地了解Trie