衬衫种类繁多。 品种基于图案,大小,颜色等参数
假设你有各种类型的衬衫。现在有各种各样的查询,如:
Show all types of shirt having colour “red”.
Show all types of shirt having size “small” and pattern “checks” etc. etc.
因此,假设我们有'K'不同的品种和N衬衫,我们可以设计哪些数据结构来存储以下数据,以最佳方式回答上述问题?
我认为一个明显的解决方案是存储'K'数据实例,根据每个品种进行分组。但这将是非常有效的空间。
我们还能做些什么,牢记空间/时间范围?
答案 0 :(得分:1)
如何为每个项目存储K
指针,指示具有相同K-th品种的下一个项目。
然后对于每个查询,选择一个变种并枚举满足该变种的所有项目,检查它是否满足其他约束并显示它。因此,为每个查询O(NK)
和O(1)
添加新项目,而空格为O(NK)
。
您的方案看起来就像一个数据库,为什么不检查它。