设计多模式对象的DS

时间:2013-08-21 17:06:20

标签: performance algorithm data-structures

衬衫种类繁多。 品种基于图案,大小,颜色等参数

假设你有各种类型的衬衫。现在有各种各样的查询,如:

Show all types of shirt having colour “red”.

Show all types of shirt having size “small” and pattern “checks” etc. etc.

因此,假设我们有'K'不同的品种和N衬衫,我们可以设计哪些数据结构来存储以下数据,以最佳方式回答上述问题?

我认为一个明显的解决方案是存储'K'数据实例,根据每个品种进行分组。但这将是非常有效的空间。

我们还能做些什么,牢记空间/时间范围

1 个答案:

答案 0 :(得分:1)

如何为每个项目存储K指针,指示具有相同K-th品种的下一个项目。

然后对于每个查询,选择一个变种并枚举满足该变种的所有项目,检查它是否满足其他约束并显示它。因此,为每个查询O(NK)O(1)添加新项目,而空格为O(NK)

您的方案看起来就像一个数据库,为什么不检查它。