Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个可能很基本的问题,但我找不到明确的解释。我试图澄清这个概念。
究竟是什么在表中链接(使用开放寻址)并使用堆栈来跟踪可用空间。我似乎不太清楚表中的链接是什么。谢谢,或者如果有一个涵盖它的链接就足够了。这不涉及线性探测或二次探测。
谢谢你。
附录:表内的链接是?(此处不使用线性探测或二次探测)
不确定是否是这种情况,但可以使用堆栈来跟踪“释放”的插槽。这意味着对于每个散列函数值,都有一个包含所有空闲槽的堆栈。当您需要找到额外的插槽来插入值时 - 您只需从堆栈中获取它。
它可能用于防止碎片化,从而避免对可用插槽进行更长的查找。
最初堆栈将指向第一个插槽,但是当添加和删除数据时,释放的插槽将被推送到堆栈。