当前位置: 首页 > 知识库问答 >
问题:

用于查询一组集合的数据结构?

东门玺
2023-03-14

假设我有一组n元素,分为多个集合。每个元素都在一个集合中。

我希望能够尽快执行以下查询:

  1. 元素e在什么集合s中?
  2. 哪些元素{e1, e2,..., ei}在sets中?

我应该使用什么数据结构?我能想到的最好的方法是一张指向一组集合的地图,但我想知道是否有更好的方法?

如果有帮助,可以假设我的集合是整数

共有1个答案

段志
2023-03-14

如果你的集合是没有间隙的整数{0,1,…,n-1},那么使用集合数组会更有效;然而,如果整数是稀疏的,那么集合映射将需要更少的空间。无论哪种方式,操作(1)都将以恒定时间运行(数组的最坏情况,哈希映射的平均情况)。

 类似资料:
  • 我正在制作一个关于提问和阅读书籍时获得答案的应用程序,使用fiRecovery集合:书籍和用户。对于每个书籍文档,都有一个问题子集合:books/isbn/问题/{问题id}。对于每个自动生成的问题id,有属性包括asker_uid这是提出问题的用户的用户id。 现在,对于一个特定的用户,如果我想列出他问的所有问题。我可以进行组集合查询: 然后,如果我想在问题列表中显示问题所针对的书籍的详细信息,

  • 基本上,我有一组顶点ID,我想遍历并从某些外边找到一组顶点。我想把外边后面的顶点与它来自的准确性联系起来。例如:,所以v1有2个输出边(e1和e2)到v2和v4,而v3有2个输出边(e3和e4)到v5和v6。我想要的是得到如下所示的遍历结果 有人能帮我使用Gremlin遍历吗?最接近的例子是

  • 问题内容: 我有一个查询。现在,此查询当然返回一个结果集,我想要的是查询此查询的结果集,例如,我只希望上述查询具有唯一的名称。我应该提一下,我知道我可以在Query1中使用,但这只是一个示例,我的实际情况有些不同,我想知道的是是否可以查询上一个查询的结果集。我正在使用SQL Server 2012。 问题答案: 您可以使用该子句

  • 我正在寻找允许我查询集合的Java库。我偶然发现了jFilter an JoSql。 然而,JoSql似乎自2010年以来一直处于非活动状态,只有2个版本。jFilter似乎相当新,自去年以来没有任何新版本。 当谷歌搜索它们中的任何一个时,搜索结果的数量很少,这向我表明它们没有被广泛使用。 你对这些图书馆有什么建议,或者知道更多的活动吗?

  • 问题内容: 1个 结果集 : 2个 结果集2: 有没有办法可以做到这一点: 我想在RHEL 5上使用Sybase 12.5的解决方案,我也想知道在其他任何数据库系统中是否可行。 -–谢谢您的回答- 问题答案: 通过为该列使用CASE / WHEN并基于true / false求和1或0,您可以在同一查询中获得这两者。此外,如果您希望将另一个值的总和作为另一个,则可以执行相同的操作列…只需将其替换为