特定问题的数据结构?

时间:2010-05-23 04:58:15

标签: algorithm data-structures

哪种数据结构可以在最坏的情况下在O(1)时间内执行插入,删除和搜索操作?

我们可以假设元素集是从有限集1,2,...,n中抽取的整数,初始化可能需要O(n)时间。

我只能考虑实现哈希表。

使用Trees实现它不会给任何操作带来O(1)时间复杂度。或者有可能??

请与此分享您的观点,或除此之外的任何其他数据结构。

谢谢..

2 个答案:

答案 0 :(得分:3)

虽然这听起来像家庭作业,但如果有足够的内存,你可以使用数组。对任何一个元素的访问将是O(1)。如果使用每个单元格来保持遇到该类型的整数数量,则插入也将为O(1)。搜索将是O(1),因为它需要索引该索引处的数组并查看计数。这基本上是基数排序的工作原理。

答案 1 :(得分:0)

根据数组可能执行的元素范围,但对于大量数据,您需要哈希表。它将为您提供O(1)摊销操作。