This directory contains some algorithms from Leda.
So far all modules contain only the methods required for
running the implemented algorithms rather than fulfilling
the full LEDA specification.
Currently, no particular effort has been made to satisfy the
complexity requirements of LEDA. For example, PQueue.gr
implements priority queues as lists ordered by the weight 
rather than as fibonacci heaps, so the access functions are 
not as efficient as they could be.

In addition, there are test programs written in java for some
modules.

Here is a brief manual:

1. set the java classpath to mrg/progs/Leda: 
    export CLASSPATH=...
2. invoke gdf on all .gr -files: 
   ../Grail/gdf/gdf *.gr
3. If you want to look at the class file CLASSNAME.class:
   javap -c CLASSNAME
   (the jasmin visitor gives more information but javap 
   should suffice for most of us)
4. compile the test wrappers. For example, 
   javac DijkstraTest.java
   compiles the test program for the shortest path algorithm
   unsing the PQueue implementation of priority queues,
   and
   javac DijkstraTestFH.java
   compiler the test program for the same algorithm using 
   fibonacci heaps
5. run the test program:
   java DijkstraTest / java DijkstraTestFH
   It creates a graph with weighted edges, displays it,
   invokes the method shortestPath from Dikstra.gr (DijkstraFH.gr)
   and displays the result - the "dist" information in each node
   contains the minimal distance from N1 to that node 

More algorithms will follow...
