skip navigation

This page looks better in modern browsers. Please upgrade.

Brown Home Brown Home Brown Home Brown CS
Research Project:

JDSL - A Data Structures Library for Java

JDSL is the Data Structures Library in Java. It is a collection of Java interfaces and classes that implement fundamental data structures and algorithms, such as: sequences, trees, priority queues, search trees, hash tables sorting and searching algorithms graphs graph traversals, shortest path, minimum spanning tree A unique feature of JDSL is the concept of accessors, which allow powerful but safe operations on the internal representation of a data structure. Accessors are a generalization of iterators (iterators are also provided, for simple cases when sequential access is sufficient).

JDSL includes some 10 concrete data types and 30 utility and accessor classes. Each meets one or more of about 40 interfaces, with some 200 methods among them. The library was designed so that programming can be done through interfaces only, with knowledge of specific implementations necessary only for specialized applications.

Project status: Complete


Project Home Page: http://www.cs.brown.edu/cgc/jdsl/

Research Areas

Computational Geometry
 

Publications

Goodrich, M. T., and Tamassia, R. Algorithm Design: Foundations, Analysis and Internet Examples. Wiley, New York, NY, 2002.

Tamassia, R., Goodrich, M. T., Vismara, L., Handy, M., Shubina, G., Cohen, R., Hudson, B., Baker, R. S., Gelfand, N., and Brandes, U. JDSL: The Data Structures Library in Java. Dr. Dobb's Journal 323 (Apr. 2001).

Goodrich, M. T., and Tamassia, R. Algorithm Engineering. Wiley, New York, 2001.

Goodrich, M. T., and Tamassia, R. Data Structures and Algorithms in Java, second ed. Wiley, New York, NY, 2001.

Tamassia, R., and Vismara, L. A Case Study in Algorithm Engineering for Geometric Computing. International Journal of Computational Geometry and Applications 11, 1 (2001), 15-70. [ pdf ]

Goodrich, M. T., Handy, M., Hudson, B., and Tamassia, R. Accessing the Internal Organization of Data Structures in the JDSL Library. In Proceedings of the Workshop on Algorithm Engineering and Experimentation (1999), Springer-Verlag. [ pdf ]

Goodrich, M. T., Handy, M., Hudson, B., and Tamassia, R. Abstracting Positional Information in Data Structures: Locators and Positions in JDSL. In OOPSLA '98 Technical Notes (1998).

Goodrich, M. T., and Tamassia, R. Data Structures and Algorithms in Java, first ed. Wiley, New York, NY, 1998.

Tamassia, R. Implementing Algorithms and Data Structures: an Educational and Research Perspective. In Proceedings of the Annual International Symposium on Algorithms and Computation (1998), Springer-Verlag, pp. 4-8. [ pdf ]

Tamassia, R., Vismara, L., and Baker, J. E. A Case Study in Algorithm Engineering for Geometric Computing. In Proceedings of the Workshop on Algorithm Engineering (Sept. 1997), pp. 136-145. [ pdf ]


Page Owner: Webmaster Last Modified: Mon Oct 23 14:57:09 2006