关于HashSet O(1)的问题
来源:2-8 实现邻接表的改进
qq_CodeCC_tvSTZ2
2020-07-29
bobo老师,我想问一下,HashSet如果Hash运算重复的话是以链表或者红黑树的形式挂接的。
那查询或者添加删除操作怎么会是O(1)级别的呢?
不应该是链表的长度,如果说是红黑树的话是O(logn)级别的吗?
写回答
1回答
-
准确的说是 O(logk),k 是所有产生哈希冲突的元素数量。但因为对于哈希表来说,哈希冲突是一个常数,冲突高到一定程度,会重新扩展哈希表。所以是 O(1) 的。
继续加油!:)
132020-07-30
相似问题