K.O. Match Baum aufbauen

ReX_

Mitglied
Hallo zusammen,

ich Entwickel grade fuer meinen Sportverein ein Programm zur Verwaltung von Turnieren. Im Moment habe ich aber das Problem, dass ich ein K.O. System abbilden muss. Ich hab mir bisher folgendes ueberlegt:

Ich habe vor einen binaeren Baum aufbauen, bei dem jeder Knoten ein Match repraesentiert. Zu Beginn sind in den unteren Knoten die Teilnehmer. Die dann bei einem Sieg in den naechsten Knoten aufruecken. Soweit kein Problem.

Ich finde nur keinen Sinnvollen Algorithmus, um den Baum auf zu bauen. Die Anzahl der Knoten ist ja von der Anzahl der Teilnehmer abhaengig (n-1). Hat jemand eine Idee oder ein Beispiel wie man das sinnvoll umsetzen kann.

Danke schonmal.
 

ReX_

Mitglied
Eine solche Klasse habe ich. Das Problem ist, dass ich den Baum rekursiv aufbauen will/muss und nicht wirklich eine Idee habe wann ich den Algorithmus stoppen muss. Wenn ich nach der Anzahl der Teilnehmer gehe und stoppe wennn ich keine 2 Teilnehmer merh habe, kriege ich keinen Baum sondern eher so was wie eine Liste von Knoten.

Der Baum soll/muss aber wie bei einem Tournierbaum ueblich minimal spannend sein.
 

timbeau

Gesperrter Benutzer
In einem Array ganz simpel mit LeftChild = index *2 und RightChild = index * 2 + 1

D.H. der Sieger von Knoten 5 geht in Knoten 2 und spielt gegen Sieger von Knoten 4

Finale ist Knoten 1, da der 0-te Index unpassend ist ;)
 

ReX_

Mitglied
Sorry, dass ich erst jetzt antworte, aber ich kam vorher nicht dazu. Die Idee mit dem Array war super. So habs ich jetzt geloest. Den Index 0 benutze ich fuer das Kleine Finale (also Kampf um Platz 3), da ich das eh extra behandeln muss.
 

Ähnliche Java Themen


Oben