Hessischer Bildungsserver / Arbeitsplattformen

Komplexität rekursiver Grafiken

Schon bei geringen Rekursionstiefen muss man manchmal lange warten, bis die Zeichnung fertig ist. Was ist die Ursache dafür? Die Zeichendauer ist letztlich von der Zahl der Drehbewegungen und der gezeichneten Strecken abhängig. Eine Drehbewegung der Turtle kann der Computer mittels einer Real-Addition schnell ausrechnen. Zum Zeichnen einer Strecke muss er aber jeden zwischen Anfangs- und Endpunkt liegenden Pixelpunkt bestimmen. Die Komplexität wird deshalb durch die Anzahl der zu zeichnenden Strecken S in Abhängigkeit von der Rekursionstiefe n, also S(n) bestimmt. Mit einer kleinen Tabelle lässt sich der funktionale Zusammenhang ermitteln:

Exponentielles Wachstum

Die Tabelle zeigt, dass exponentielles Wachstum vorliegt. Was exponentielles Wachstum bedeutet, zeigt die nachfolgende Kalkulationstabelle. In ihr kann die Zeit zum Zeichnen einer Strecke vorgegeben werden, voreingestellt ist 0,001 Sekunden.

Beachtet man, dass die Länge der zu zeichnenden Teilstrecken kürzer wird und somit der Zeichenaufwand insgesamt nicht um den Faktor 4, sondern um den Faktor 4/3 erhöht wird, so ändert dies nichts grundsätzlich. Es bleibt beim exponentiellen Wachstum.

Literatur

R. Baumann: Elementare Computergrafik, Klett, 1994