Mijn vraag
Ik heb een verzameling X van verzamelingen. Ik wil alle verzamelingen in X die overlappen (niet lege doorsnede) samenvoegen. Bijvoorbeeld X={{a,b},{b,c},{c,d},{e}} daar wil ik van maken X'={{a,b,c,d},{e}}. Hoe doe ik dat een beetje slim?
Wat ik al gevonden of geprobeerd heb
Ik weet het niet zo goed. Deed me vaag denken aan het maken van een transitieve afsluiting. Een dom algoritme is misschien
Ik heb een verzameling X van verzamelingen. Ik wil alle verzamelingen in X die overlappen (niet lege doorsnede) samenvoegen. Bijvoorbeeld X={{a,b},{b,c},{c,d},{e}} daar wil ik van maken X'={{a,b,c,d},{e}}. Hoe doe ik dat een beetje slim?
Wat ik al gevonden of geprobeerd heb
Ik weet het niet zo goed. Deed me vaag denken aan het maken van een transitieve afsluiting. Een dom algoritme is misschien
code:
1
2
3
4
5
6
7
8
9
| Start: For all a in X For all b in X If a is not b If a intersect b not empty Remove a from X Remove b from X Add a union b to X Goto start |