Well, there have been attempts for a while. A typical implementation should give you O (m) search, insertion and deletion of operations regardless of the size n of the data set, where m is the length of the message. However, the same implementation takes 256 words for each input byte, in the worst case.
Other data structures, in particular hashing, provide the expected O (m) lookup, insertion, and deletion, and some implementations even provide constant time lookups. However, in the worst case, the routines either do not stop or do not take O (nm) time.
Question: Is there a data structure that provides O (m) time for searching, inserting, and deleting while maintaining a memory size comparable to hash or search trees?
Perhaps it would be appropriate to say that I am only interested in the worst behavior, both in time and in space.
source
share