Graphics Reference
In-Depth Information
Abb. 6.1 Mehrdimensionale Arrays
Bei kritischer Betrachtung dieser Vorgehensweise fällt auf, dass
die beiden Schleifenindizes i und k erst zur Laufzeit des Programms bekannt sind
und folglich die Adresse ik des Elemente a i ; k erst zur Laufzeit des Programms
berechnet werden kann; das kostet unsere Zeit.
die Reihenfolge der Schleifen sich auf die Rechenzeit auswirkt. Läuft For i
... innerhalb For k ... , dann ist der Ausdruck k 5 für alle i konstant und
braucht für jedes i nur einmal berechnet zu werden. Läuft dagegen For k ...
innerhalb For i ... , dann ist dieser Ausdruck für jedes Array-Element neu
zu berechnen.
das Array - die Matrix - [A] völlig neu organisiert werden muss, wenn die
Knotenanzahl, also die Matrixzeilen, erhöht wird. Störend ist hier die von der
Aufgabenstellung abhängige Konstante 5 D 4 C 1 als feste Größe.
Nur geringfügig besser sind die Verhältnisse, wenn [A] in transponierter Form ge-
speichert wird (Abb. 6.1 rechts). Im 1-dimensionalen Array finden wir a i ; k jetzt als
10. Element:
ik D 3 k C i D 3 3 C 1 D 10 :
Bei dieser Deklaration bleibt die Zeilenzahl konstant und ist unabhängig von der
Anzahl der Knoten. Bezüglich der Rechenzeit hat sich nichts verbessert, allen-
falls die Programmierung mit Unterprogrammen wird übersichtlicher, weil man auf
einen Übergabeparameter verzichten kann.
Die Matrix [A] war lediglich vorgesehen, um die globalen XYZ -Koordinaten der
Knoten aufzunehmen. Das sind allerdings nicht die einzigen wichtigen Daten, die
den Knoten zuzuordnen sind. Beispielsweise sind ferner wünschenswert (eine klei-
ne Auswahl):
Search WWH ::




Custom Search