Arrays und deren Laufzeiten
Im Bereich der theoretischen Informatik gibt es ein Gebiet, das sich mit der Darstellung und Speicherung von Daten beschäftigt. Darunter fällt auch das Thema von diesem Beitrag.
Es kann durchaus sein, dass wir für ein bestimmtes Problem nicht nur einzelne Daten wie Zahlen oder Buchstaben speichern wollen, sondern auch Folgen von Zahlen oder Folgen von Buchstaben. Diese Folgen kann man mit verschiedenen Datentypen abspeichern. Die einfachste Form sind jedoch Arrays (Felder).
Themen
Wie funktionieren Arrays?
Arrays kann man sich vorstellen wie ein Regal, in dem wir in jedem Fach Daten ablegen können. Wir können also einen Index bzw die Höhe in unseren Regal angeben, wo wir die jeweiligen Daten ablegen wollen.
Wichtig ist nur, beim Array fängt man mit 0 an zu zählen. Wenn wir also ein Array mit der Größe 5 haben, können wir nun etwas an der ersten Stelle speichern indem wir Index 0 ansprechen und an der letzten Stelle indem wir Index 4 ansprechen.
int[] zahlenfolge = new int[5];
zahlenfolge[0] = 12
Mit dem kurzen Code-Beispiel haben wir jetzt 12 an die erste Stelle im Array geschrieben.
Vor- und Nachteile von Arrays
Wenn ihr schon Programmieren könnt, ist vielleicht schonmal der Begriff einer Liste gefallen. Hier stelle ich kurz die Unterschiede zwischen Liste und Arrays auf.
Vorteile | Nachteile |
Cache-Effizient | Größe ist nicht veränderbar |
Schneller Zugriff auf Elemente | Keine dynamische Speicherverwaltung |
Einfügen ist langsam (Wenn Elemte danach verschoben werden) | |
Fazit
Arrays sind eine nützliche und kostengünstige Methode um eine kleine Menge an Daten zu Speichern. Jedoch gibt es für größere Mengen und je nach Problem natürlich deutlich bessere Alternativen aber wie so oft in der Informatik muss man hier sagen, dass es wieder auf das vorliegende Problem ankommt und es keine allgemeine Aussage gibt ob Arrays gut oder schlecht sind.
Beispielsweise sind Arrays sehr gut geeignet um Hashing mit linear probing zu implementieren, jedoch eignen sie sich nicht so gut um verkettete Listen darzustellen.
Quellen
https://www.fischer-data-science.com/de/blog/was-sind-die-vorteile-und-nachteile-eines-arrays.html (18.7.23)
https://studyflix.de/informatik/java-array-1898
(30.7.23)