Hallo zusammen,
ich habe folgendes Problem.
Stellen wir uns 5 Boxen vor, in denen verschiedene Kugeln(mit Id) enthalten sind:
Box1: 1, 2, 3
Box2: 1, 2, 3, 4
Box3: 2, 3, 5
Box4: 3, 4, 5
Box5: 2, 3
So, es geht nun darum auszugeben, gemeinesame Kugeln von verschiedenen Boxen auszugeben, also quasi die Schnittmenge. Der erste Schritt des Algorithmus wäre also:
Box1 & Box2: 1, 2, 3
Box1 & Box3: 2, 3
Box1 & Box4: 3
Box1 & Box5: 2, 3
Box2 & Box3: 2, 3
Box2 & Box4: 3, 4
usw.
Schritt zwei wäre dann, dass man die Schnittmenge von 3 Boxen herausfindet:
Box1 & Box2 & Box3: 2, 3
Box1 & Box2 & Box4: 3
Box1 & Box2 & Box5: 2, 3
Box2 & Box3 & Box4: 3
Der nächste Schritt die Schnittmenge von 4 Boxen und schließlich am Ende von 5 Boxen.
Also nochmal: Es geht darum, dass man N Boxen hat und zuerst 2-er-Gruppen, dann 3-er-Gruppen, ..., bis N-er-Gruppen testet und dafür bräuchte ich einen Algorithmus, auf den ich einfach nicht komme...
Ich bin dankbar für jede Hilfe
Um sich programmiertechnisch da mal was vorzustellen:
ich habe folgendes Problem.
Stellen wir uns 5 Boxen vor, in denen verschiedene Kugeln(mit Id) enthalten sind:
Box1: 1, 2, 3
Box2: 1, 2, 3, 4
Box3: 2, 3, 5
Box4: 3, 4, 5
Box5: 2, 3
So, es geht nun darum auszugeben, gemeinesame Kugeln von verschiedenen Boxen auszugeben, also quasi die Schnittmenge. Der erste Schritt des Algorithmus wäre also:
Box1 & Box2: 1, 2, 3
Box1 & Box3: 2, 3
Box1 & Box4: 3
Box1 & Box5: 2, 3
Box2 & Box3: 2, 3
Box2 & Box4: 3, 4
usw.
Schritt zwei wäre dann, dass man die Schnittmenge von 3 Boxen herausfindet:
Box1 & Box2 & Box3: 2, 3
Box1 & Box2 & Box4: 3
Box1 & Box2 & Box5: 2, 3
Box2 & Box3 & Box4: 3
Der nächste Schritt die Schnittmenge von 4 Boxen und schließlich am Ende von 5 Boxen.
Also nochmal: Es geht darum, dass man N Boxen hat und zuerst 2-er-Gruppen, dann 3-er-Gruppen, ..., bis N-er-Gruppen testet und dafür bräuchte ich einen Algorithmus, auf den ich einfach nicht komme...
Ich bin dankbar für jede Hilfe
Um sich programmiertechnisch da mal was vorzustellen:
Java:
//Box1: 1, 2, 3
Set<Integer> b1 = new HashSet<Integer>();
b1.add(1);
b1.add(2);
b1.add(3);
//Box2: 1, 2, 3, 4
Set<Integer> b2 = new HashSet<Integer>();
b2.add(1);
b2.add(2);
b2.add(3);
b2.add(4);
//Box3: 2, 3, 5
Set<Integer> b3 = new HashSet<Integer>();
b3.add(2);
b3.add(3);
b3.add(5);
//Box4: 3, 4, 5
Set<Integer> b4 = new HashSet<Integer>();
b4.add(3);
b4.add(4);
b4.add(5);
//Box5: 2, 3
Set<Integer> b5 = new HashSet<Integer>();
b5.add(2);
b5.add(3);
//Set von allen Boxen
Set<Set<Integer>> allB = new HashSet<Set<Integer>>();
allB.add(b1);
allB.add(b2);
allB.add(b3);
allB.add(b4);
allB.add(b5);
Zuletzt bearbeitet von einem Moderator: