散列是将大量数据以可重复的方式转换为少量(通常是单个整数)的过程,以便可以在表格中以固定时间(
O(1))查找数据,这对于高性能很重要算法和数据结构。
不变性是一个想法,即对象创建后将不会以某种重要方式更改,尤其是可能会更改该对象的哈希值的任何方式。
这两个想法是相关的,因为用作哈希键的对象通常必须是不可变的,因此它们的哈希值不会改变。如果允许更改,则该对象在诸如哈希表之类的数据结构中的位置将发生变化,从而破坏了哈希效率的整个目的。
要真正理解这个想法,您应该尝试使用C / C ++之
HashMap类的语言来实现自己的哈希表,或者阅读该类的Java实现。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)