Data structures 具有复合值和快速搜索值元素的集合

Data structures 具有复合值和快速搜索值元素的集合,data-structures,Data Structures,我正在寻找一种类似于存储由4个整数组成的复合值集的数据结构:i1,i2,i3,i4。这个数据结构应该有快速的查找时间,但它也应该允许快速删除具有特定i3和i4的成员。所以delete_a(x)应该删除所有具有i3=x的成员,delete_b(x)应该删除所有具有i4=x的成员。最关键的是成员查找操作,所以如果可能,我希望它是O(1)。i1、i2、i3和i4的值相当大,因此我无法使用四维数组,因为它会占用太多内存。我想也许哈希表和辅助列表的某种组合可以解决这个问题 如果您想要绝对速度,同时保持一定

我正在寻找一种类似于存储由4个整数组成的复合值集的数据结构:
i1
i2
i3
i4
。这个数据结构应该有快速的查找时间,但它也应该允许快速删除具有特定i3和i4的成员。所以
delete_a(x)
应该删除所有具有
i3=x
的成员,
delete_b(x)
应该删除所有具有
i4=x
的成员。最关键的是成员查找操作,所以如果可能,我希望它是O(1)。
i1
i2
i3
i4
的值相当大,因此我无法使用四维数组,因为它会占用太多内存。我想也许哈希表和辅助列表的某种组合可以解决这个问题

如果您想要绝对速度,同时保持一定的内存效率,我会这样做:

HashMap_a:
  Key: i3
  Value: List of Hash(i1,i2,i3,i4)
HashMap_b:
  Key: i4
  Value: List of Hash(i1,i2,i3,i4)
HashMap:
  Key: Hash(i1,i2,i3,i4)
  Value: (i1,i2,i3,i4)
delete_a
只需从
HashMap_a
获取列表,并从HashMap中删除键在列表中的元素。同样,对于
删除\u b

HashMap