Data structures 如果Hashset';添加';复杂性是O(1),那么如何存储唯一的元素?

Data structures 如果Hashset';添加';复杂性是O(1),那么如何存储唯一的元素?,data-structures,big-o,hashset,Data Structures,Big O,Hashset,Big-O-为了向哈希集添加元素,复杂性为O(1),那么哈希集如何确定要添加的元素是否唯一?这取决于哈希表的选择,但在大多数传统的哈希表实现中(线性探测、链式哈希、二次探测等)执行插入的成本取决于期望值O(1),而不是最坏情况下的O(1)。这里的O(1)项来自这样一个事实,即在插入新值的过程中,平均只需要查看哈希表中的常量元素。在线性探测中,这是因为要检查的元素运行的预期长度是O(1),而在链式哈希中,这是因为所讨论的bucket中只有on预期的O(1)个元素。然后,哈希表可以在执行插入时检查新

Big-O-为了向哈希集添加元素,复杂性为O(1),那么哈希集如何确定要添加的元素是否唯一?

这取决于哈希表的选择,但在大多数传统的哈希表实现中(线性探测、链式哈希、二次探测等)执行插入的成本取决于期望值O(1),而不是最坏情况下的O(1)。这里的O(1)项来自这样一个事实,即在插入新值的过程中,平均只需要查看哈希表中的常量元素。在线性探测中,这是因为要检查的元素运行的预期长度是O(1),而在链式哈希中,这是因为所讨论的bucket中只有on预期的O(1)个元素。然后,哈希表可以在执行插入时检查新插入的元素是否等于这些值中的任何一个。如果是这样的话,我们知道这是重复的。如果不是,那么我们知道新元素不可能是重复的;我们已经检查了所有可能等于它的元素。这意味着插入的平均成本为O(1),我们可以在插入时检查唯一性。

您是在询问哈希表数据结构的一般情况还是具体实现?而且没有魔法,哈希表中的插入操作在最坏的情况下不是
O(1)