开发者

Data Structure for a particular problem?

Which data structure can perform insertion, delet开发者_如何学编程ion 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..


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.


Depending on the range of elements an array might do but for a lot of data you want a hashtable. It will give you O(1) amortized operations.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜