"TommyVee" wrote in message news:Bg5Gw.1344030$no4.494...@fx19.iad...
Start off with sets of elements as follows:
1. A,B,E,F
2. G,H,L,P,Q
3. C,D,E,F
4. E,X,Z
5. L,M,R
6. O,M,Y
Note that sets 1, 3 and 4 all have the element 'E' in common, therefore they
are "related" and form the following superset:
A,B,C,D,E,F,X,Z
Likewise, sets 2 and 5 have the element 'L' in common, then set 5 and 6 have
element 'M' in common, therefore they form the following superset:
G,H,L,M,O,P,Q,R,Y
I think you get the point. As long as sets have at least 1 common element,
they combine to form a superset. Also "links" (common elements) between
sets may go down multiple levels, as described in the second case above
(2->5->6). Cycles thankfully, are not possible.
BTW, the number of individual sets (and resultant supersets) will be very
large.
I don't know where to start with this. I thought about some type of
recursive algorithm, but I'm not sure. I could figure out the Python
implementation easy enough, I'm just stumped on the algorithm itself.
Anybody have an idea?
Thanks, Tom
Thanks to all! Not only did you turn around my thinking on this, but I also
learned about some new Python collection types. I think I have a way to get
this to work now.
--
https://mail.python.org/mailman/listinfo/python-list