[英]Hashtable for a system with memory constraints
我已經閱讀了有關hashtable的變體,但是我不清楚哪一個更適合內存不足的系統(我們有內存限制)。
線性/二次探查適用於稀疏表。
在這方面,我認為Double hashing與Quadratic相同。
外部鏈接對群集沒有影響。
我檢查過的大多數教科書似乎都假定總是會有額外的空間,但實際上在我見過的大多數示例實現中,因為哈希表永遠不會減半,因此會占用比實際需要更多的空間。
那么,當我們想充分利用內存時,哈希表的哪個變體最有效?
更新:
因此,我的問題不僅在於水桶的大小。 我的理解是,鏟斗的尺寸和負載下的性能都很重要。 因為如果存儲桶的大小很小,但是表在50%的負載下會變小,那么這意味着我們需要經常調整到更大的表的大小。
請參閱Cukoo Hashing的 此變體 。
這將需要您更多的哈希函數,但是,這很有意義-您需要為節省內存付出一些。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.