哪种数据结构可以在最坏的情况下在O(1)时间内执行插入,删除和搜索操作?
我们可以假设元素集是从有限集1,2,...,n中抽取的整数,初始化可能需要O(n)时间。
我只能考虑实现哈希表。
使用Trees实现它不会给任何操作带来O(1)时间复杂度。或者有可能??
请与此分享您的观点,或除此之外的任何其他数据结构。
谢谢..
答案 0 :(得分:3)
虽然这听起来像家庭作业,但如果有足够的内存,你可以使用数组。对任何一个元素的访问将是O(1)。如果使用每个单元格来保持遇到该类型的整数数量,则插入也将为O(1)。搜索将是O(1),因为它需要索引该索引处的数组并查看计数。这基本上是基数排序的工作原理。
答案 1 :(得分:0)
根据数组可能执行的元素范围,但对于大量数据,您需要哈希表。它将为您提供O(1)摊销操作。