Skip to main content

Accessing the Internal Organization of Data Structures in the JDSL Library

  • Chapter
  • First Online:
Algorithm Engineering and Experimentation (ALENEX 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1619))

Included in the following conference series:

  • 2171 Accesses

Abstract

Many applications require data structures that allow efficient access to their internal organization and to their elements. This feature has been implemented in some libraries with iterators or items. We present an alternative implementation, used in the Library of Data Structures for Java (JDSL). We refine the notion of an item and split it into two related concepts: position and locator. Positions are an abstraction of a pointer to a node or an index into an array; they provide direct access to the in-memory structure of the container. Locators add a level of indirection and allow the user to find a specific element even if the position holding the element changes.

Work supported in part by the U.S. Army Research OÆce under grant DAAH04-96-1-0013 and by the National Science Foundation under grants CCR-9625289, CCR-9732327, and CDA-9703080.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. R. Baker, M. Boilen, M. T. Goodrich, R. Tamassia, and B. A. Stibel. Testers and visualizers for teaching data structures. In Proc. ACM Symp. Computer Science Education, 1999.

    Google Scholar 

  2. J. Beall. Shortest path between two points in a polygon. http://www.cs.brown.edu/courses/cs252/projects/jeb/html/cs252proj.html.

  3. M. Boilen, A. Schwerin, and J. Kloss. Personal communication.

    Google Scholar 

  4. T. H. Cormen, C. E. Leiserson, and R. L. Rivest. Introduction to Algorithms. MIT Press, Cambridge, MA, 1990.

    Google Scholar 

  5. A. Fabri et al. The CGAL kernel: A basis for geometric computation. In Proc. 1st ACM Workshop on Appl. Comput. Geom., pages 97–103, May 1996.

    Google Scholar 

  6. N. Gelfand, M. T. Goodrich, and R. Tamassia. Teaching data structure design patterns. In Proc. ACM Symp. Computer Science Education, 1998.

    Google Scholar 

  7. N. Gelfand and R. Tamassia. Algorithmic patterns for graph drawing. In Proc. Graph Drawing’ 98. Springer-Verlag, to appear.

    Google Scholar 

  8. M. T. Goodrich and J. Kloss. Tiered vector: An eÆcient dynamic array for JDSL. Poster at OOPSLA’98.

    Google Scholar 

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

    Google Scholar 

  10. D. Jackson. The TripartiteEmbeddedPlanarGraph. Manuscript.

    Google Scholar 

  11. K. Mehlhorn and S. Näher. LEDA: a platform for combinatorial and geometric computing. Commun. ACM, 38(1):96–102, 1995.

    Article  Google Scholar 

  12. M. Nissen. Graph iterators: Decoupling graph structures from algorithms. Diploma thesis, Max-Planck-Institut für Informatik, Univ. Saarlandes, Saarbrücken, Germany, 1998.

    Google Scholar 

  13. B. Stroustrup. The C++ Programming Language (3rd Edition). Addison-Welsey, Reading, MA, 1997.

    Google Scholar 

  14. R. Tamassia, L. Vismara, and J. E. Baker. A case study in algorithm engineering for geometric computing. In Proc. Workshop on Algorithm Engineering, pages 136–145, 1997.

    Google Scholar 

  15. K. Weihe. Reuse of algorithms: Still a challenge to object-oriented programming. In Proc. OOPSLA’ 97, pages 34–48, 1997.

    Google Scholar 

  16. CS 16 home page. http://www.cs.brown.edu/courses/cs016.

  17. ffGraph home page. http://www.fmi.uni-passau.de/~friedric/ffgraph/main.shtml.

  18. Java 1.2 API. http://java.sun.com/products/jdk/1.2/docs/api/index.html.

  19. JDSL home page. http://www.cs.brown.edu/cgc/jdsl.

  20. JGL home page. http://www.objectspace.com/jgl.

  21. LEDA home page. http://www.mpi-sb.mpg.de/LEDA.

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Goodrich, M.T., Handy, M., Hudson, B., Tamassia, R. (1999). Accessing the Internal Organization of Data Structures in the JDSL Library. In: Goodrich, M.T., McGeoch, C.C. (eds) Algorithm Engineering and Experimentation. ALENEX 1999. Lecture Notes in Computer Science, vol 1619. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48518-X_8

Download citation

  • DOI: https://doi.org/10.1007/3-540-48518-X_8

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66227-3

  • Online ISBN: 978-3-540-48518-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics