You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by David Walend <dw...@users.sourceforge.net> on 2002/03/31 04:51:27 UTC

graph2 and JDigraph

I mentioned my JDigraph project 
(https://sourceforge.net/projects/jdigraph/) to one of the Struts 
committers at JavaOne. He suggested I have a look at the graph library 
in the commons sandbox and avoid duplicating work.

 From the CVS repository, it looks like graph2 is structured more like 
the graph package from Brown. JDigraph is patterned after the 
Collections kit from Sun. I've focused more on structure, state and 
classic algorithms, but you might be able to get some milage out of it. 
I don't think we're duplicating work; they don't match.

In JDigraph, nodes and edges are Objects that don't implement a special 
interface. I classified digraphs as either generic-edge (all edges are 
essentially the same object and are represented by existing or not), 
common-edge (edges are objects, and the same object can be an edge 
between many nodes), and unique-edge (each edge object is unique in the 
set of edges in a digraph). I've got a nice kit of shortest-path 
algorithms for CEDigraphs, and am looking for time to build one for 
GEDigraphs. Instead of enforcing acyclic graphs, I implemented the 
Bellman-Ford test. JDigraph also boasts solid test code for most public 
methods.

Judging by the timing and volume of downloads and (lack of) support 
questions, I think JDigraph's main users are students trying to figure 
out Dijkstra's algorithm late in the semester. (Professors will notice 
that JDigraph's Dijkstra implementation runs backwards...)

Feel free to try it out and mine it for ideas. Let me know if you see 
any bugs if you find them.

Thanks,

Dave

-- 
David Walend
david@walend.net
http://www.walend.net


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>