Abstract
We define a quasidictionary to be a data structure that supports the following operations: check-in(v) inserts a data item v and returns a positive integer tag to be used in future references to v; check-out(x) deletes the data item with tag x; access(x) inspects and/or modifies the data item with tag x. A quasidictionary is similar to a dictionary, the difference being that the names identifying data items are chosen by the data structure rather than by its user. We describe a deterministic quasidictionary that executes the operations check-in and access in constant time and check-out in constant amortized time, works in linear space, and uses only tags bounded by the maximum number of data items stored simultaneously in the quasidictionary since it was last empty.
Supported in part by EPSRC grant GR L/92150.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
A. Andersson, T. Hagerup, S. Nilsson, and R. Raman, Sorting in linear time?, J. Comput. System Sci. 57 (1998), pp. 74–93.
A. Andersson, P. B. Miltersen, S. Riis, and M. Thorup, Static dictionaries on AC 0 RAMs: Query time Θ(√logn/loglogn) is necessary and sufficient, Proc., 37th Annual IEEE Symposium on Foundations of Computer Science (FOCS 1996), pp. 441–450.
A. Andersson and M. Thorup, Tight(er) worst-case bounds on dynamic searching and priority queues, Proc., 32nd Annual ACM Symposium on Theory of Computing (STOC 2000), pp. 335–342.
P. Beame and F. E. Fich, Optimal bounds for the predecessor problem, Proc., 31st Annual ACM Symposium on Theory of Computing (STOC 1999), pp. 295–304.
M. R. Brown and R. E. Tarjan, A representation for linear lists with movable fingers, Proc., 10th Annual ACM Symposium on Theory of Computing (STOC 1978), pp. 19–29.
T. H. Cormen, C. E. Leiserson, and R. L. Rivest, Introduction to Algorithms (1st edition), The MIT Press, Cambridge, MA, 1990.
T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms (2nd edition), The MIT Press, Cambridge, MA, 2001.
E. D. Demaine, A threads-only MPI implementation for the development of parallel programs, Proc., 11th International Symposium on High Performance Computing Systems (HPCS 1997), pp. 153–163.
M. Dietzfelbinger, A. Karlin, K. Mehlhorn, F. Meyer auf der Heide, H. Rohnert, and R. E. Tarjan, Dynamic perfect hashing: Upper and lower bounds, SIAM J. Comput. 23 (1994), pp. 738–761.
M. L. Fredman and R. E. Tarjan, Fibonacci heaps and their uses in improved network optimization problems, J. ACM 34 (1987), pp. 596–615.
M. L. Fredman and D. E. Willard, Surpassing the information theoretic bound with fusion trees, J. Comput. System Sci. 47 (1993), pp. 424–436.
M. R. Garey and D. S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, W. H. Freeman and Company, New York, 1979.
J. Gergov, Algorithms for compile-time memory optimization, Proc., 10th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 1999), pp. 907–908.
L. J. Guibas and R. Sedgewick, A dichromatic framework for balanced trees, Proc., 19th Annual IEEE Symposium on Foundations of Computer Science (FOCS 1978), pp. 8–21.
T. Hagerup, Sorting and searching on the word RAM, Proc., 15th Annual Symposium on Theoretical Aspects of Computer Science (STACS 1998), Lecture Notes in Computer Science, Springer-Verlag, Berlin, Vol. 1373, pp. 366–398.
T. Hagerup, P. B. Miltersen, and R. Pagh, Deterministic dictionaries, J. Algorithms 41 (2001), pp. 69–85.
S. Huddleston and K. Mehlhorn, A new data structure for representing sorted lists, Acta Inf. 17 (1982), pp. 157–184.
M. G. Luby, J. Naor, and A. Orda, Tight bounds for dynamic storage allocation, Proc., 5th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 1994), pp. 724–732.
K. Mehlhorn and S. Näher, LEDA: A Platform for Combinatorial and Geometric Computing, Cambridge University Press, 1999.
R. Raman, Priority queues: Small, monotone and trans-dichotomous, Proc., 4th Annual European Symposium on Algorithms (ESA 1996), Lecture Notes in Computer Science, Springer-Verlag, Berlin, Vol. 1136, pp. 121–137.
J. M. Robson, An estimate of the store size necessary for dynamic storage allocation, J. ACM 18 (1971), pp. 416–423.
J. M. Robson, Bounds for some functions concerning dynamic storage allocation, J. A CM 21 (1974), pp. 491–499.
M. Thorup, On RAM priority queues, SIAM J. Comput. 30 (2000), pp. 86–109.
P. R. Wilson, M. S. Johnstone, M. Neely, and D. Boles, Dynamic storage allocation: A survey and critical review, Proc., International Workshop on Memory Management (IWMM 1995), Lecture Notes in Computer Science, Springer-Verlag, Berlin, Vol. 986, pp. 1–116.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hagerup, T., Raman, R. (2002). An Efficient Quasidictionary. In: Penttonen, M., Schmidt, E.M. (eds) Algorithm Theory — SWAT 2002. SWAT 2002. Lecture Notes in Computer Science, vol 2368. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45471-3_1
Download citation
DOI: https://doi.org/10.1007/3-540-45471-3_1
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43866-3
Online ISBN: 978-3-540-45471-7
eBook Packages: Springer Book Archive