Q:

Data Structure for a particular problem?

Which data structure can perform insertion, deletion and searching operation in O(1) time in the worst case?
We may assume the set of elements are integers drawn from a finite set 1,2,...,n, and initialization can take O(n) time.
I can only think of implementing a hash table.
Implementing it with Trees will not give O(1) time complexity for any of the operation. Or is it possible??
Kindly share your views on this, or any other data structure apart from these..
Thanks..

A:

Although this sounds like homework, given enough memory you can just use an array.  Access to any one element will be O(1).  If you use each cell to keep the count of how many integers of that type have been encountered insertion will also be O(1).  Searching will be O(1) because it would require indexing the array at that index and seeing the count.  This is basically how radix sort works.

