Tiered Vectors: Efficient Dynamic Arrays for Rank-Based Sequences
We describe a data structure, the tiered vector, which is an implementation of the Vector ADT that provides O(1/∈)worst case time performance for rank-based retrieval and O(n ∈) amortized time performance for rank-based insertion and deletion, for any fixed ∈ > 0. We also provide results from experiments involving the use of the tiered vector for ∈ = 1/2 in JDSL, the Data Structures Library in Java.
Keywordsabstract data type vector dynamic array Java JDSL
Unable to display preview. Download preview PDF.
- 1.P. Åke Larson. Dynamic hash tables. Communications of the ACM, 31(4), April 1988.Google Scholar
- 3.J. Boyer. Algorithm allery: Resizable data structures. Dr. Dobb’s Journal, 23(1): 115–116, 118, 129, January 1998.Google Scholar
- 5.M. L. Fredman and M. E. Saks. The cell probe complexity of dynamic data structures. In Proceedings of the Twenty First Annual ACM Symposium on Theory of Computing, pages 345–354, Seattle, Washington, 15-17 May 1989.Google Scholar
- 6.M. Goodrich and R. Tamassia. Data Structures and Algorithms in Java. John Wiley & Sons, 1998.Google Scholar
- 7.D. E. Knuth. The Art of Computer Programming: Fundamental Algorithms, volume 1. Addison-Wesley, 3 edition, 1997.Google Scholar
- 8.D. E. Knuth. The Art of Computer Programming: Sorting and Searching, volume 3. Addison-Wesley, 3 edition, 1998.Google Scholar
- 9.E. Sitarski. Algorithm alley: HATs: Hashed array trees. Dr. Dobb’s Journal, 21(11), September 1996.Google Scholar
- 10.H. Wedekind. On the selection of access paths in a database system. In Proceedings of the IFIP Working Conference on Data Base Management. North-Holland Publishing Company, 1974.Google Scholar