Data structures 具有复合值和快速搜索值元素的集合
我正在寻找一种类似于存储由4个整数组成的复合值集的数据结构: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的值相当大,因此我无法使用四维数组,因为它会占用太多内存。我想也许哈希表和辅助列表的某种组合可以解决这个问题 如果您想要绝对速度,同时保持一定
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