Re: [racket-dev] union-find

2013-01-29 Thread Robby Findler
On Tue, Jan 29, 2013 at 4:20 PM, Sam Tobin-Hochstadt sa...@ccs.neu.eduwrote: This is probably a silly question, but don't you also need some way to check if two sets have been unioned? Does your application not need that? You check to see if their canonical element is the same. Robby

Re: [racket-dev] union-find

2013-01-29 Thread Robby Findler
But I should probably provide that, since it can be done more reliably inside the library. Robby On Tue, Jan 29, 2013 at 6:46 PM, Robby Findler ro...@eecs.northwestern.eduwrote: On Tue, Jan 29, 2013 at 4:20 PM, Sam Tobin-Hochstadt sa...@ccs.neu.eduwrote: This is probably a silly

Re: [racket-dev] union-find

2013-01-29 Thread Robby Findler
On Tue, Jan 29, 2013 at 4:23 PM, Danny Yoo d...@hashcollision.org wrote: On Tue, Jan 29, 2013 at 2:51 PM, Robby Findler ro...@eecs.northwestern.edu wrote: I've just pushed an implementation of the union-find algorithm to the data/ collection. I didn't do it quite the way wikipedia

Re: [racket-dev] union-find

2013-01-29 Thread Sam Tobin-Hochstadt
But wouldn't that equate two un-unioned invocations of (uf-new 1)? On Tue, Jan 29, 2013 at 7:47 PM, Robby Findler ro...@eecs.northwestern.edu wrote: But I should probably provide that, since it can be done more reliably inside the library. Robby On Tue, Jan 29, 2013 at 6:46 PM, Robby

Re: [racket-dev] union-find

2013-01-29 Thread Robby Findler
Thanks. That's a bug. uf-set-canonical! changes the canonical element of the set (without affecting the identity of the set). Robby On Tue, Jan 29, 2013 at 4:13 PM, Danny Yoo d...@hashcollision.org wrote: On Tue, Jan 29, 2013 at 2:51 PM, Robby Findler ro...@eecs.northwestern.edu wrote:

Re: [racket-dev] union-find

2013-01-29 Thread Robby Findler
I understood you to be asking for something like this: (check-equal? (uf-same-set? (uf-new 1) (uf-new 2)) #f) (check-equal? (uf-same-set? (uf-new 1) (uf-new 1)) #f) (check-equal? (let ([a (uf-new 1)] [b (uf-new 1)]) (uf-union! a b)

Re: [racket-dev] union-find

2013-01-29 Thread Sam Tobin-Hochstadt
Yes, exactly. I meant that the strategy of just checking the canonical element would have the problem I described -- having an operation for that would fix it. Sam On Tue, Jan 29, 2013 at 7:57 PM, Robby Findler ro...@eecs.northwestern.edu wrote: I understood you to be asking for something like