无论编程语言如何,我都在想我即将实现的东西不错。我有数百万的int64 ID和double值存储在一个哈希表中。我想先尝试某种动态哈希。这是我在想什么:动态哈希[高速缓存]
要尝试一个固定的大小(即100K)的形式
<hashedID, value>
的哈希值,并为这个哈希表的每个单元 我店也有同样的 哈希键和一个列表中的另一hastable ,像这样:<hashedID, [ID,count]>
。假设ID_1是第一个和第二个哈希表的特定单元中的驻留元素。现在对于新到达的条目,如果它散列到相同的散列ID,我检查:如果它具有与现有ID_1相同的ID(我通过第二个散列表检查),如果是,则增加计数。如果没有,那么我减少计数。如果减少计数后计数为0,我会用刚刚到达的ID替换它。
这样我希望有流行的东西留在第一个哈希表。