Data Structures Library in Java (JDSL)
[Overview] [JDSLtools]
[Book] [Papers] [Documentation]
[Support] [Copyright]
[Download]
What is JDSL
JDSL is the Library of Data Structures in Java.
It is a collection of Java interfaces and classes that implement fundamental
data structures and algorithms such as:
-
sequences, binary trees, priority queues, search trees;
-
sorting and searching algorithms
-
graph traversals, shortest paths, and and minimum spanning
trees.
JDSL is being developed at the Center for
Geometric Computing at Brown University
and at Johns Hopkins University.
The teach version of JDSL is a simplified version of JDSL
for teaching purposes. It is based on ideas presented in the book Data
Structures and Algorithms in JAVA by Michael
Goodrich and Roberto Tamassia. Its intended
users are instructors and students of courses on data structures and algorithms
and on object-oriented programming. The teach version 1.0 of JDSL is available
for download.
The advanced version of JDSL is a tool for developers
and researchers who need powerful, efficient, extensible, flexible, and
easy-to-use implementations of fundamental data structures and algorithms.
The distribution of a beta prototype of the advanced version of JDSL is
planned for January 1999.
JDSLtools
Accompanying JDSL is JDSLtools, a collection
of tools for JDSL programmers. JDSLtools includes:
-
Visualizers that graphically display at run-time an instance
of a class implementing a given JDSL interface.
-
Testers that verify the correct execution of a series of
operations on a class that implements a given JDSL interface.
Book
Papers
-
M. T. Goodrich, M. Handy, B. Hudson, and R. Tamassia, Accessing
the Internal Organization of Data Structures in the JDSL
library. Paper (PDF)
presented at ALENEX
'99.
-
M. T. Goodrich, M. Handy, B. Hudson, and R. Tamassia, Abstracting
Positional Information in Data Structures: Locators and Positions in JDSL.
Poster (Postscript[4.5M] GzippedPostscript[1.2M]
TGZ[1.3M]) and
technical note presented at OOPSLA
'98.
This is a large document meant to be printed on a very
large page (8'x3'). Your PDF interpreter may have trouble handling
it. It is also available as a tarred
gzipped file (TGZ) containing a FrameMaker document and
embedded image files.
-
M. T. Goodrich and J. K. Kloss, Tiered
Vector: an Efficient Dynamic Array for JDSL. Poster and technical
note (PDF) presented
at OOPSLA '98.
-
R. Tamassia and L. Vismara, A Case
Study in Algorithm Engineering for Geometric Computing. Manuscript
(PDF) submitted for publication.
Preliminary version (coauthored with J. E. Baker) presented at WAE
'97.
-
N. Gelfand and R. Tamassia, Algorithmic
Patterns for Graph Drawing. Paper (PDF)
presented at GD '98.
-
N. Gelfand, M. T. Goodrich and Roberto Tamassia, Teaching
Data Structure Design Patterns. Paper (PDF)
presented at ACM SIGCSE '98.
-
R. Baker, M. Boilen, M. T. Goodrich, R. Tamassia, and B.
A. Stibel, Testers and Visualizers for Teaching
Data Structures. Preliminary version (PDF).
To be presented at ACM SIGCSE '99.
Documentation
Support
JDSL Copyright
/*
* Copyright (C) 1998, Center for Geometric Computing, Brown
University
*
and The Johns Hopkins University
*
* All Rights Reserved
*
* Permission to use, copy, modify, and distribute this software
and its
* documentation for any purpose other than its incorporation
into a
* commercial product is hereby granted without fee, provided
that the
* above copyright notice appear in all copies and that both
that
* copyright notice and this permission notice appear in supporting
* documentation, and that the names of Brown University and
of The Johns
* Hopkins University not be used in advertising or publicity
pertaining
* to distribution of the software without specific, written
prior
* permission.
*
* BROWN UNIVERSITY AND THE JOHNS HOPKINS UNIVERSITY DISCLAIM
ALL
* WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ANY PARTICULAR
* PURPOSE. IN NO EVENT SHALL BROWN UNIVERSITY OR THE JOHNS
HOPKINS
* UNIVERSITY BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
USE, DATA OR
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
Download JDSL
The JDSL and JDSLtools javadoc documentation, class files, and
selected source files (including the code fragments in the book Data
Structures and Algorithms in JAVA) are available free of
charge to anyone under the above copyright restrictions.
-
JDSL-Teach-1.0-JavaDoc
-
JDSLtools-Teach-1.0-JavaDoc
-
JDSL-Teach-1.0-General (all
class files and selected source files)
-
JDSLtools-Teach-1.0-General (all class files
and selected source files)
Instructors and researchers can obtain the full version of JDSL-Teach-1.0
and
JDSLtools-Teach-1.0
with
the understanding that they will not redistribute them.
Download Help: right
click on the link and choose
Save As, or shift+click on
the link. To expand filename.tar.gz use WinZip in Windows and
the following commands in Unix:
gunzip filename.tar.gz
tar -xvf filename.tar
To expand filename.zip use WinZip in Windows and
the following command in Unix:
unzip filename.zip
JDSL Webmaster