我有一个很可能是基本的问题,但我找不到明确的解释。我试图澄清这个概念。
在表中链接到底是什么(使用开放寻址)并使用堆栈来跟踪可用空间。我似乎无法澄清表中的链接是什么。谢谢,或者如果有一个覆盖它的链接就足够了。这不涉及线性探测或二次探测。
谢谢。
附录:表内的链接是? (此处不使用线性探测或二次探测)
答案 0 :(得分:0)
不确定是否是这种情况,但可以使用堆栈来跟踪“已释放”的插槽。这意味着对于每个散列函数值,都有一个包含所有空闲槽的堆栈。当你需要找到额外的插槽来插入值时 - 你只需从堆栈中获取它。
它可能用于防止碎片,从而延长了对可用插槽的查找次数。
最初,堆栈将指向第一个插槽,但是当添加和删除数据时,释放的插槽将被推送到堆栈。