We develop a data structure for maintaining a dynamic multiset that uses O(n lg lg n/ lg n) bits and O(1) words, in addition to the space required by the n elements stored, supports searches in O(lg n) worst-case time and updates in O(lg n) amortized time. Compared to earlier data structures, we improve the space requirements from O(n) bits to O(n lg lg n/ lg n) bits, but the running time of updates is amortized, not worst-case. Key words: Data structures, space efficiency, memory management, dictionaries, balanced search trees
Jyrki Katajainen, S. Srinivasa Rao