Grundlagen der Programmierung: Datenstrukturen

Verzweigte Arrays

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Bei verzweigten Arrays können in der zweiten Dimension unterschiedlich große Arrays zum Einsatz kommen. Dies bedeutet am Anfang zwar mehr Programmierarbeit, sorgt aber für eine einheitlich zusammenhängende Datenstruktur.

Transkript

Ein typisches zweidimensionales Array wird oft auch als rechteckiges Array bezeichnet. Da es ein Netz, also eine Tabelle ist, gibt es immer dieselbe Anzahl an Elementen in jeder Reihe. Viele Sprachen haben eine vereinfachte Syntax für diese mehrdimensionalen Arrays mit Einheitsgröße. In unserem Fall ist es dann zum Beispiel so, dass ich sagen kann, ich habe einfach immer dieselbe Anzahl an Spalten. Ich habe also 5 Reihen und 6 Spalten und dadurch, dass sich das durch das ganze Array durchzieht, kann ich mit einer vereinfachten Syntax arbeiten. Die meiste Zeit kommt man damit vielleicht zurecht, es gibt aber Beispiele, die etwas anderes brauchen. Denken wir zum Beispiel daran, dass Sie ein Ticketsystem bei einem regionalen Tourismusanbieter haben und dort sollen jetzt alle Tickets errechnet werden, die pro Tag, in einem Jahr, ausgegeben werden. Die erste Dimension meines Arrays sind also die Monate. Null bis elf steht also für Januar bis Dezember. Innerhalb der einzelnen Monate kommt es eben dazu, dass ich die Tage des Monats drin hab. Hier für den Januar zum Beispiel von 0-30, also 31 Tage. Im Februar habe ich dann aber nur noch 28, manchmal 29 Tage. Da habe ich nun aber ebenfalls 31 Tage, das heißt, 3 Elemente bleiben ungenutzt. Ähnlich ist es im März. Der hat wieder 31 Tage, aber der April nur 30. So geht das fort. Ich habe also ungenutzte Elemente innerhalb meines rechteckigen Arrays. Natürlich kann ich mit diesen Informationen so weiterarbeiten und es bei einem rechteckigen Array belassen. Dann hat halt jeder Monat 31 Tage, also 31 Elemente, und die ungenutzten Elemente muss ich dann mit Zahlen füllen. Aber eine derartige Lösung ist eben nicht immer wünschenswert. Zum einen spricht es – hoffentlich – gegen Ihre Sensibilität beim Programmieren, dass Sie Elemente erzeugen, die eine Unmöglichkeit beinhalten. Zum Beispiel einen Februar mit 30 oder 31 Tagen. Und es geht nicht nur um die pure Ästhetik. sondern es geht auch um das Weiterarbeiten mit diesem Code. Wenn ich einen Code schreiben wll, der den Mittelwert der Kartenverkäufe jedes Monats ausrechnet, dann stoße ich bei dieser Lösung schon sehr an meine Grenzen. Da kann ich nicht einfach sagen: Ich addiere die Werte der Karten, dividiere es durch die Elemente. Dann werde ich in dem Fall zu einem falschen Ergebnis kommen. Eigentlich hätte ich gern ein Array, das so ausschaut. Das ist allerdings kein rechteckiges Array mehr. Diese Form des Arrays nennt sich verzweigtes Array und ist ebenfalls eine Möglichkeit, mit diesem Problem umzugehen. Die Arrays, die als verzweigte Arrays bezeichnet werden, ja, das ist offensichtlich, warum sie so bezeichnet werden. Wir haben ein Array, das mit verschieden langen Arrays arbeiten kann. Während viele Sprachen die vereinfachte Syntax für rechteckige und multidimensionale Arrays haben, verursacht das Erzeugen von einem verzweigten Array – denn am Anfang muss ich schon mitprogrammieren, wie Sie hier bei diesem Dummy-Beispiel sehen, dass diese einzelnen Monate verschieden lange Tage haben. Aber, was am Anfang mehr Arbeit verursacht, sorgt dafür, dass ich am Ende meiner Arbeit eine Datenstruktur habe, die in sich kongruent und integer ist. Das macht sich dann im Laufe des weiteren Codens mehr als bezahlt. Diese Themenkomplexe wiederholen sich beim Thema Datenstrukturen übrigens immer wieder. Es ist oft so, dass gerade bei komplexen Datenstrukturen am Anfang beim Programmieren mehr Arbeit zu leisten ist, ich dann aber dadurch, dass ich's mit integren Strukturen zu tun habe, in weiterer Folge weniger Arbeit haben werde.

Grundlagen der Programmierung: Datenstrukturen

Erhalten Sieeinen klaren Eindruck von Datenstrukturen und deren Eigenheiten und verstehen, wie Sie diese am besten einsetzen können – ganz unabhängig von den einzelnen Programmiersprachen.

2 Std. 51 min (29 Videos)
Derzeit sind keine Feedbacks vorhanden...

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!