References for ICS 261
The following is not meant to be an exhaustive list of references
to any particular set of topics but, rather, a few recent
papers that will give references to earlier papers in the areas
and a few of the classical papers.
General References
- S
- Standish, T. A.
Data Structure Techniques, Addison-Wesley, 1980.
- CLR
- Cormen T.H., Leiserson C.E., and Rivest R.L.
Introduction to Algorithms, McGraw-Hill, 1990.
- GB
- Gonnet, G. H. and Baeza-Yates, R.
Handbook of Algorithms and Data Structures,
2nd ed., Addison-Wesley, 1991.
- LD
- Lewis, H. R. and Denenberg, L.
Data Structures & Their Algorithms,
HarperCollins, 1991.
Topical References
DATA STRCTURES
- Implicit Data Structures
-
Fiat, A., Naor, M., Schaffer, A. A., Schmidt, J. P., and Siegel, A.
Storing and searching a multikey table,
Proc. 20th Annual ACM Symp. on Theory of Computing, 1988, 344-353.
-
Frederickson, G. N.
Implicit data structures for the dictionary problem,
Journal ACM 30, 1 (Jan. 1983), 80-94.
-
Munro, J. I. An implicit data structure for the dictionary problem
that runs in polylog time,
Proc. 25th Annual Symp. on Foundations of Computer Science, 1984, 369-374.
- Persistent Data Structures
-
Driscoll, J. R., Sarnak, N., Sleator, D. D., and Tarjan, R. E.
Making data structures persistent,
Proc. 18th Annual ACM Symp. on Theory of
Computing, 1986, 109-121.
-
Sarnak N. and Tarjan R. E.
Planar point location using persistent search trees,
Comm. ACM 29,7 (July 1986), 669-679.
-
Dietz, P.F. and Raman, R.
Persistence, amortization and randomization,
Proc. 2nd Annual ACM-SIAM Symp. on Discrete Algorithms, (1991), 78-88.
-
Driscoll, J.R., Sleator, D., and Tarjan, R.E.
Fully persistent lists with catenation,
Proc. 2nd Annual ACM-SIAM Symp. on Discrete Algorithms, (1991), 89-99.
SELF-ORGANIZING DATA STRUCTURES
- Self-Organizing Linear Lists
-
Hester, J. H. and Hirschberg, D. S. Self-organizing linear search,
Computing Surveys 17,3 (Sept. 1985), 295-311.
-
Bentley, J. L. and McGeoch, C. C. Amortized analyses of
self-organizing sequential search heuristics,
Comm. ACM 28,4 (April 1985), 404-411.
-
Sleator, D. D. and Tarjan, R. E. Amortized efficiency of
list update and paging rules,
Comm. ACM 28,2 (Feb. 1985), 202-208.
-
Hui, L. C. K. and Martel, C.
On efficient unsuccessful search,
Proc. 3rd Annual ACM-SIAM Symp. on Discrete Algorithms, (1992),
217-227.
- Splay Trees, Self-adjusting Binary Search Trees
-
Sleator, D. D. and Tarjan, R. E. Self-adjusting binary trees, in
Proc. 15th Annual ACM SIGACT Symp. on Theory of Computing, 1983, 235-345.
-
Tarjan, R. E., and Sleator, D. D. Self-adjusting binary search trees,
Jour. ACM 32,3 (July 1985), 652-686.
-
Jones, D. W. Application of splay trees to data compression,
Comm. ACM 31,8 (Aug. 1988), 996-1007
- Skew Heaps
-
Sleator, D. D. and Tarjan, R. E. Self-adjusting heaps,
SIAM Jour. Computing 15,1 (Feb. 1986), 52-69.
HASHING
-
Enbody, R. J., and Du, H. C.
Dynamic Hashing Schemes,
ACM Computing Surveys 20, 2 (June 1988), 85-113.
- Perfect Hashing
-
Dietzfelbinger, M., Karlin, A., Mehlhorn, K., Meyer auf der Heide, F.,
Rohnert, H., and Tarjan, R. E.
Dynamic perfect hashing: upper and lower bounds,
in Proc. 29th Symp. on Foundations of Computer Science, 1988, 524-531.
-
Du, M. W., Hsieh, T.M., Jea, K. F., and Shieh, D. W.
The study of a new perfect hash scheme,
IEEE Transactions on Software Engineering, SE-9, 1983, 305-313.
-
Fredman, M. L., Komlos, J., and Szemeredi, E.
Storing a sparse table with O(1) worst case access time,
Proc. 23rd Symp. on Foundations of Computer Science, 1982, 165-169.
-
Sprugnoli, R.
Perfect hashing functions: a single probe retrieving method for static sets,
Comm. ACM 20,11 (Nov. 1977), 841-850.
- Minimal Perfect Hashing
-
Cichelli, R. J. Minimal perfect hash functions made simple,
Comm. ACM 23,1 (Jan. 1980), 17-19.
-
Jaeschke, G.
Reciprocal hashing: a method for generating minimal perfect hashing functions,
Comm. ACM 24,12 (Dec. 1981), 829-833.
-
Sager, T. J.
A polynomial time generator for minimal perfect hash functions,
Comm. ACM 28,5 (May 1985), 523-532.
-
Fox, E. A., Heath, L. S., Chen, Q. F., and Daoud, A. M.
Practical minimum perfect hash functions for large databases,
Comm. ACM 35,1 (Jan. 1992), 105-120.
- Ordered Minimal Perfect Hashing
-
Chang, C. C.
The study of an ordered minimal perfect hashing scheme,
Comm. ACM 27,4 (April 1984), 384-387.
-
Chang, C. C., and Chang, C. H.
An ordered minimal perfect hashing scheme with single parameter,
Information Processing Letters 27, (1988), 79-83.
- Uniform Hashing
-
Yao, A. C. Uniform hashing is optimal,
Jour. ACM 32,3 (July 1985), 687-693.
- Universal Hashing
-
Carter J. L., and Wegman, M. N.
Universal classes of hash functions,
Jour. Computer and System Sciences 18, (April 1979), 143-154.
-
Karlin, A. R. and Upfal, E.
Parallel hashing -- An efficient implementation of shared memory,
Proc. 18th ACM Symp. on Theory of Computing, May 1986, 160-168.
- Coalesced Hashing
-
Vitter, J. S., and Chen, W. C.
Design and analysis of coalesced hashing,
Oxford University Press, New York, 1987.
-
Vitter, J.S.
Analysis of the search performance of coalesced hashing,
Jour. ACM 30,2 (April 1983), 231-258.
- Robin Hood Hashing
-
Celis P., Larson, P.-A., and Munro, J.I.
Robin Hood hashing,
Proc. 26th IEEE Symp. on Foundations of Comp. Sci., 1985, 281-288.
- O(1) Search
-
Aho, A. and Lee, D. Storing a dynamic sparse table,
Proc. 27th Annual Symp. on Foundations of Comp. Sci., 1986, 55-60.
-
Fiat, A., Naor, M., Schmidt, J. P., and Siegel A.
Non-oblivious hashing,
Jour. ACM 39,4 (Oct. 1992), 764-782.
-
Fiat, A. and Naor, M. Implicit O(1) probe search,
Proc. 21st ACM Symp. on Theory of Computing, 1989, 336-344.
-
Fredman, M. L., Komlos, J., and Szemeredi, E.
Storing a sparse table with O(1) worst case access time,
Jour. ACM 31,3 (July 1984), 538-544.
- Dynamic Hash Tables
-
Larson, Per-Ake.
Dynamic hash tables,
Comm. ACM 31,4 (April 1988), 446-457.
-
Gonnet, G. H. and Larson, P.-A.
External hashing with limited internal storage,
Jour. ACM 35,1 (Jan. 1988), 161-184.
-
Fagin, R., Nievergelt, J., Pippenger, N., and Strong, H.
Extendible hashing -- A fast access method for dynamic files,
ACM Transactions on Database Systems 4,3 (Sept. 1979), 315-344.
- Analysis of Hashing
-
Bollobas, B., Broder, A.Z., and Simon, I.
The cost distribution of clustering in random probing,
Jour. ACM 37,2 (April 1990), 224-237.
-
Gonnet, G.
Expected length of the longest probe sequence in hash code searching,
Jour. ACM 28,2 (April 1981), 289-304.
-
Lueker, G. S. and Molodowitch, M. More analysis of double hashing,
Proc. 20th ACM Symp. on the Theory of Comp., 1988, 354-359.
- Parallel Hash
-
Broder, A.Z. and Karlin, A.R. Multilevel adaptive hashing,
Proc. 1st Annual ACM-SIAM Symp. on Discrete Algorithms, (1990), 43-53.
-
Gil, J. and Matias, Y. Fast hashing on a PRAM,
Proc. 2nd Annual ACM-SIAM Symp. on Discrete Algorithms, (1991), 271-280.
- Applications
-
Teuhola, J. and Wegner, L.
Minimal space, average linear time duplicate deletion,
Comm. ACM 34,3 (March 1991), 62-73.
-
Ramakrishna, M.V. Practical performance of Bloom filters
and parallel free-text searching,
Comm. ACM 32,10 (Oct. 1989), 1237-1239.
TREES
- B-Trees
-
Comer, D. The Ubiquitous B-Tree,
ACM Computing Surveys 11,2 (June 1979), 121-137.
-
Ferguson, D. E.
Bit-tree: A data structure for fast file processing,
Comm. ACM 35,6 (June 1992), 114-120.
- Tries
-
Szpankowski, W. Patricia tries again revisited,
Jour. ACM 37,4 (Oct. 1990), 691-711.
- Digital Lopsided Trees (DL-Trees)
-
Lomet, D.
A high performance universal, key associative access method,
SIGMOD Record 13,4 (Proc. of the Annual Meeting, May 1983), 120-132.
- Skip Lists
-
Pugh, W.
Skip lists: A probabilistic alternative to balanced trees,
Comm. ACM 33,6 (June 1990), 668-676.
-
Papadakis, T., Munro, J., and Poblete, P.
Analysis of the expected search cost in skip lists,
Proc. 2nd Scandinavian Workshop on Algorithm Theory
(July 1990), Bergen, Norway.
-
Munro, J. I., Papadakis, T., and Sedgewick, R.
Deterministic skip lists,
Proc. 3rd Annual ACM-SIAM Symp. on Discrete Algorithms, (1992),
367-375.
- Computational Geometry Structures: Quad, Range, Interval Trees
-
Preparata, F. P. and Shamos, M. I.
Computational Geometry: An Introduction,
Springer-Verlag, New York, NY, 1985.
-
Samet, H. The Design and Analysis of Spatial Data Structures,
Addison-Wesley, Reading, MA, 1990.
- Segment Trees
-
Bentley, J. L. and Wood D. An optimal worst case
algorithm for reporting intersections of rectangles,
IEEE Trans. on Computers 29,7 (July 1980), 571-576.
-
Preparata, F. P. and Shamos, M. I.
Computational Geometry: An Introduction,
Springer-Verlag, New York, NY, 1985, 13-15.
- Interval Trees
-
Edelsbrunner, H. A new approach to rectangle intersections,
International Journal of Computer Mathematics 13,3-4 (1983),209-219.
-
McCreight, E. M.
Efficient algorithms for enumerating intersecting intervals and rectangles,
Tech. Rep. Xerox PARC CSL-80-09.
-
Cormen, T. H., Leiserson, C. E., and Rivest, R. L.
Introduction to Algorithms,
McGraw-Hill, 1990, 290-294.
- Priority Search Trees
-
Fries, O., Mehlhorn, K., Naher, S. and Tsakalidid, A.
A loglogn data structure for three-sided range queries,
Info. Processing Letters 25, (1987), 269-273.
-
McCreight, E. M. Priority search trees,
SIAM Journal on Computing 14,2 (May 1985), 257-276.
- Right Brother Trees
-
Ottman, T., Six, H. W., and Wood, D.
Right brother trees,
Comm. ACM 21,9 (Sept. 1978), 769-776.
- Red-Black Trees
-
Cormen, T. H., Leiserson, C. E., and Rivest, R. L.
Introduction to Algorithms,
McGraw-Hill, 1990, Chapter 14.
- Randomized Trees
-
Aragon, C. R. and Seidel R. G. Randomized search trees,
Proc. 30th Annual Symp. on Foundations of Computer Science,
1989, 540-545.
Algorithmica 16,4/5 (1996), 464-497.
-
Martinez, C. and Roura, S. Randomized binary search trees,
Jour. ACM 45,2 (March 1998), 288-323.
- Lopsided Trees
-
Kapoor, S. and Reingold, E. M. Optimum lopsided binary trees,
Jour. ACM 36,3 (July 1989), 573-590.
- Expression Trees
-
Cohen, R.F. and Tamassia, R.
Dynamic expression trees and their applications,
Proc. 2nd Annual ACM-SIAM Symp. on Discrete Algorithms, (1991), 52-61.
- Finger trees
-
Huddleston, S. and Mehlhorn, K.
A new data structure for representing sorted lists,
Acta Informatica 17 (1982), 157-184.
-
Brown, M. R. and Tarjan, R. E.
A representation for linear lists with movable fingers,
Proc. of the ACM SIGACT Symp. on Theory of Computing, 1978, 19-29.
-
Guibas, L. J., E. M. McCreight, M. F. Plass, and Roberts, J. R.
A new representation for linear lists,
Proc. of the ACM SIGACT Symp. on Theory of Computing, 1977, 49-60.
- PQ trees
-
Lueker, G. S. and Booth, K. S.
A linear time algorithm for deciding interval graph isomorphism,
J. ACM 26,2 (April 1979), 183-195.
- Other trees
-
Vankreveld, M. J. and Overmars, M. H.
Divided k-D trees,
Algorithmica 6,6 (1991), 840-858.
-
Lomet, D. and Salzberg, B.
The hB-tree: a robust multi-attribute indexing method,
ACM Trans. on Database Systems 14 (1989).
-
Guttman, A.
R-trees: a dynamic index structure for spatial searching,
Proc. of the SIGMOD Conf., Boston (June 1984), 47-57.
PRIORITY QUEUES
- Binomial Queues
-
Brown, M.
Implementation and analysis of binomial queue algorithms,
SIAM Jour. Computing 7,3 (Aug. 1978), 298-319.
-
Vuillemin, J. A data structure for manipulating priority queues,
Comm. ACM 21,4 (April 1978), 309-315.
- Leftist Trees
-
Crane, C. A.
Linear lists and priority queues as balanced binary trees,
Technical Report STAN-CS-72-259, Computer Science Dept., Stanford U., Stanford, CA, 1972.
-
Knuth, D.
The Art of Computer Programming, Vol. 3: Sorting and Searching,
Addison-Wesley, Reading, MA, 1973.
-
Tarjan, R. Data Structures and Network Algorithms,
Series: CBMD-NSF regional conference in applied mathematics, vol. 44, Philadelphia, 1983.
- Pagodas
-
Francon, J., Viennot, G., and Vuillemin, J.
Description and analysis of an efficient priority queue representation,
Proc. 19th Annual Symp. on Foundations of Computer Science, IEEE, Piscataway, NJ, 1978, 1-7.
- Fibonacci Heaps
-
Fredman, M. L., and Tarjan, R. E.
Fibonacci heaps and their uses in improved network
optimization algorithms, Jour. ACM 34,3 (July 1987), 596-615.
-
Cormen, T. H., Leiserson, C. E., and Rivest, R. L.
Introduction to Algorithms,
McGraw-Hill, 1990, Chapter 21.
- Relaxed Heaps
-
Driscoll, J. R., Gabow, H. N., Shrairman, R. and Tarjan, R. E.
Relaxed heaps: An alternative to Fibonacci heaps with
applications to parallel computation,
Comm. ACM 31,11 (Nov. 1988), 1343-1354.
- Pairing Heaps
-
Fredman, M. L., Sedgewick, R., Sleator, D. D., and Tarjan, R. E.
The pairing heap: A new form of self-adjusting heap,
Algorithmica 1, (March 1986), 111-129.
-
Stasko, J. T., and Vitter, J. S.
Pairing heaps: Experiments and analysis,
Comm. ACM 30,3 (March 1987), 234-249.
- Double-Ended Heaps
-
Carlsson, S.
The deap -- A double-ended heap to implement double-ended
priority queues,
Info. Processing Letters 26, (1987-88), 33-36.
-
Carlsson, S. and Chen, J.
A note on the construction of the data structure `deap',
Info. Processing Letters 31, (1989), 315-317.
-
Ding, Y. and Weiss, M. A.
The K-D heap: An efficient multi-dimensional priority queue,
in LNCS 709: Algorithms and Data Structures -- WADS'93,
Springer-Verlag, (1993), 302-313.
- Flat Trees
-
Johnson, D. B.
A priority queue in which initialization and queue operations
take O(log log D) time,
Math. Systems Theory 15, (1982), 295-309.
- Radix Heaps
-
Ahuja, R. K., Melhorn K., Orlin, J. B., and Tarjan, R.E.
Faster algorithms for the shortest path problem,
Jour. ACM 37,2 (April 1990), 213-223.
OTHER STRUCTURES
- Minqueues
-
Buchsbaum, A.L., Sundar, R., and Tarjan, R.E.
Data structural bootstrapping, linear path compression,
and catenable heap-ordered, double-ended queues,
Proc. 33rd Annual Symp. on Foundations of Computer Science, 1992, 40-49.
- DAWGs
-
Appel, A. and Jacobson, G.
The world's fastest Scrabble program,
Comm. ACM 31,5 (May 1988), 572-578,585.
STRINGS
- String Search
-
Manber, U. and Myers, G. Suffix arrays: A new method for on-line
string searches,
Proc. 1st Annual ACM-SIAM Symp. on Discrete Algorithms, (1990), 319-327.
-
Baeza-Yates, R.A., Gonnet, G.H., and Regnier, M.
Analysis of Boyer-Moore-type string searching algorithms,
Proc. 1st Annual ACM-SIAM Symp. on Discrete Algorithms, (1990), 328-343.
-
Cole, R. Tight bounds on the complexity of the Boyer-Moore
string matching algorithm,
Proc. 2nd Annual ACM-SIAM Symp. on Discrete Algorithms, (1991), 224-233.
-
Crochemore, M. and Perrin, D. Two-way string-matching,
Jour. ACM 38,3 (July 1991), 651-675.
-
Baeza-Yates, R.A. and Gonnet, G.H.
A new approach to text searching,
Comm. ACM 35,10 (Oct. 1992), 74-82.
-
Wu, S. and Manber, U. Fast text searching allowing errors,
Comm. ACM 35,10 (Oct. 1992), 83-91.
- Text Compression
-
Bell, T., Cleary, J. G. and Witen, I. H.
Text compression,
Prentice-Hall, Englewood Cliffs, NJ, 1990.
-
Lelewer, D. A. and Hirschberg D. S.
Data compression,
Computing Surveys 19,3 (Sept. 1987), 261-297.
-
Storer, J. A.
Data Compression: Methods and Theory,
Computer Science Press, Rockville, MD, 1988.
-
Bunton, S. and Borriello, G.
Practical dictionary management for hardware data compression,
Comm. ACM 35,1 (Jan. 1992), 95-104.
Dan Hirschberg
Computer Science
University of California, Irvine, CA 92697-3425
dan at ics.uci.edu
Last modified: June 10, 1998