我需要保留以下表格的数据:
(a,b,1),
(c,d,2),
(e,f,3),
(g,h,4),
(i,j,5),
(k,l,6),
(m,a,7)
...
使得数据(第3列)中的整数是连续排序的并且是唯一的。还有2,954,208,208这样的行。我正在搜索一个数据结构,它返回给定前两列值的第3列的值,例如
Given: (i,j) it returns 5
给定第3列的值,可以检索前两列。例如,
Given: 5 it returns (a,b)
是否有一些数据结构可以帮助我实现相同目标。
我解决这个问题的方法是使用哈希映射。但是哈希映射效率并不高。还有其他方法吗?
第一列,第二列和第三列中的值均为64位。
我有4GB的RAM。