Skip to content
Mission: To provide a high-quality open content data structures textbook that is both mathematically rigorous and provides complete implementations.
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
cpp Fix SLList::Node constructor Oct 17, 2017
java Made peek() return null on empty queue Jan 17, 2019
README Another typo fix May 10, 2017


latex/ contains the latex sources
java/ods contains the java sources
cpp contains the C++ sources (still under development)

To make the books (ods-java.pdf and ods-cpp.pdf and ods-python.pdf):
  mkdir ~/texmf/tex/latex/ods/
  cp ods-colors.sty ~/texmf/tex/latex/ods/
  cd latex ; make
This will require a decent installation of pdflatex, perl, ipe, inkscape,
gnuplot, and pdftk.  

If you have problems with tikz figures, consult the solution here:

If ipetoipe generates errors about ods-colors.sty, then try this:

  mkdir -p ~/texmf/tex/latex/ods/
  ln -s $PWD/latex/ods-colors.sty ~/texmf/tex/latex/ods/

To make the Java archive ods.jar:
  cd java ; make

To make both:

What's in here:
  java/test    - Test code from Sun/Oracle and Apache
  java/junk    - Small sample code snippets used in the text
  java/ods     - The Java data structures sources
  cpp          - The C++ data structures sources and sample code
  python       - The Python code used to generate the pseudocode version
  python/tests - Unit tests for the Python code
  latex        - The book's latex source code and scripts
  latex/figs   - The book's ipe figures
  latex/images - Images used in the book

How it works:
The Makefile and Perl script in ./latex do the following:
  1. Convert ipe figures in ./latex/figs into pdf
  2. Convert svg figures in ./latex/images into pdf
  3. Scan the latex sources and generate -java.tex and -cpp.tex files
     that include source code from ./java and ./cpp directories
  4. Run pdflatex and bibtex to generate the file ods-java.pdf and

You can’t perform that action at this time.