Graph algorithms are often meant to be very fast, and different algorithms necessitate different representations. Two popular representations are adjacency lists and shared structures. It also isn't right to call them lists unless you're talking about multigraphs. Indeed successor nodes should be treated as a set, but Racket's sets have quite a bit of overhead, especially for small sets. Should it be fast to compute predecessor nodes? There are too many considerations for there to be just one blessed representation, IMHO. -Ian ----- Original Message ----- From: "Tony Garnock-Jones" <to...@ccs.neu.edu> To: "Pierpaolo Bernardi" <olopie...@gmail.com> Cc: "Racket mailing list" <users@racket-lang.org> Sent: Monday, December 3, 2012 10:57:27 AM GMT -05:00 US/Canada Eastern Subject: Re: [racket] minimum spanning tree
On 12/03/2012 06:24 AM, Pierpaolo Bernardi wrote: > If nobody precedes me, I'll submit a proposal. It's probably not suitable as a proposal itself, but about a year ago I built https://github.com/tonyg/mixfix/blob/master/graph.rkt, inspired by the Erlang standard graph library https://github.com/tonyg/mixfix/blob/master/graph.rkt. (Looking at it again I'm really unsure why I used a hashtable instead of a set in a couple of places. Weird.) Regards, Tony ____________________ Racket Users list: http://lists.racket-lang.org/users ____________________ Racket Users list: http://lists.racket-lang.org/users