【发布时间】:2012-03-21 23:30:46
【问题描述】:
是否有任何数据结构或现有数据结构的变体为删除操作提供 O(1) 或恒定时间复杂度?
我知道哈希表可以做到。但是我正在修改哈希表,我们可以在不经过所有存储桶的情况下获取所有键,为此我将每个键存储在另一个链表中,并在我将其添加到哈希表时。所以我可以快速拿到所有的钥匙。
【问题讨论】:
-
很难知道您是否正在寻找特定的元素删除[元素作为输入]?最小删除?第一个/最后一个元素删除?
-
@amcnabb:这是他们在采访中问我的:(
-
“但是我正在修改哈希表,我们可以在其中获取所有密钥而无需遍历所有存储桶”这听起来不标准。您能否发布有关如何完成此任务的详细信息?您选择删除哪些元素(根据@amit 的建议)?
-
@amit:我已经给出了我要删除的密钥。唯一的条件是它应该在恒定的时间内完成。
-
@SumitLonkar 从您的问题和 cmets 我了解到您知道密钥,并且您已经拥有哈希表实现,其中包含 O(1) 删除。并且您想在 O(1) 时间内从表中删除该键。那么问题是什么?
标签: data-structures time-complexity