Wir haben ausserdem einen Geschwindigkeitstest durchgefuehrt. Dazu haben wir einen binaeren Suchbaum implementiert, der nicht ausgeglichen ist. Wir haben dann jeweils 1000 mal 5000 Elemente in den Binaer- und den Rot-Schwarz Baum eingefuegt, und anschliessend mit der Operation find darauf zugegriffen. Die Zeiten haben wir getrennt in Millisekunden gemessen. Der Quellcode des Binaerbaums sowie der beiden Testfunktionen fuer diesen Test ist im Anhang zu finden.
Testergebnisse:
Binaerbaum | Rot-Schwarz Baum | |
Einfuegen | 72229 | 77899 |
Finden | 50745 | 41304 |
Es ist festzustellen, dass der Rot-Schwarz Baum etwas mehr Zeit benoetigt zum Einfuegen von Elementen, was an den notwendigen Rotationen liegt, beim Finden jedoch schneller als der Binaerbaum ist. Wir haben den Test jedoch in einer leicht abgeaenderten Art und Weise wiederholt. Wir fuegen jetzt keine Zufallswerte, sondern vorsortierte Werte ein. Wieder werden 1000 mal 5000 Elemente eingefuegt. Dieser Versuch simuliert den ``worst case''.
Binaerbaum | Rot-Schwarz Baum | |
Einfuegen | 9760700=2,7h | 119288=2min |
Finden | 7540100=2,1h | 39788=0,7min |
Wir stellen fest, dass der Rot-Schwarz Baum zwar mehr Zeit, jedoch weit weniger als die doppelte Zeit im Vergleich zu der Zufallswertsimulation benoetigt, das Finden sogar schneller ging. Der Binaerbaum hingegen ist zu einer Liste ``mutiert''. Das hatte zur Folge, dass wir das Ergebnis aus Zeitgruenden nicht beobachten konnten, sondern eine Abschaetzung durchfuehrten, indem wir 10 mal 5000 Elemente einfuegten, und die Zeit mit 100 multiplizierten. Es ist zu erkennen, dass die ``worst case'' Zeit beim Einfuegen und beim Finden in einem nicht ausgeglichenen Binaerbaum um Potenzen groesser ist als in einem Rot-Schwarz Baum.