i

Arrays

Wie funktioniert ein Array?

Diejenigen von euch, die neben Python schonmal mit anderen Sprachen programmiert haben, z.B. mit java oder c++, haben wahrscheinlich schonmal ein Array gesehen. Aber wir wollen uns dennoch hier noch einmal gemeinsam klar machen, was genau ein Array ausmacht:

  • Arrays speichern typischerweise Daten eines festen Datentyps, also z.B. Integers, Strings, Doubles oder Ähnliches. Da all diese Datentypen festen Einschränkungen unterliegen (Integers liegen beispielsweise zwischen -9.223.372.036.854.775.808 und 9.223.372.036.854.775.807, was insgesamt 264 verschiedene Zahlen sind), kann man vorher sagen wieviel Platz ein einzelnes Datenobjekt höchstens benötigt.
  • Arrays haben üblicherweise eine fest definierte Dimension, wir sagen dem Compiler also bereits bei der Definition des Arrays, wieviele Datenobjekte wir höchstens speichern wollen.
  • Unser Array selbst besteht aus zwei Dingen: Dem Speicherplatz, den wir für die Datenobjekte reservieren, sowie dem Speicherplatz, den wir benötigen, um alle Informationen über unser Array abzuspeichern. Dies ist einmal Platz, der benötigt wird, um dem Compiler zu zeigen, dass er es mit einem Array zu tun hat, sowie eine Funktion, die dem Compiler sagt, wo welche Datenobjekte gespeichert sind.
  • Dadurch, dass unser Array eine solche (einfach berechenbare) Funktion hat, können wir in konstanter Zeit Zugriff auf jedes Element im Array erhalten, nur indem wir den Index angeben und die Funktion ausrechnen lassen

Aufgabe 1

Berechne, wieviel Bits an Speicher reserviert werden müssen für ein Array, welches in drei Dimensionen funkioniert, die die Ausdehnung 20, 30 und 40 haben und Integers speichern sollen (A[20][30][40]). Du kannst die Speicherkosten für die Informationen über unser Array selbst (also die Speicherabbildungsfunktion und die Information, dass es sich um ein Array handelt, ignorieren).

Suche

v
2.3.6.2.2
www.inf-schule.de/algorithmen/standardalgorithmen/suchbaeume/datenstrukturen/array
www.inf-schule.de/2.3.6.2.2
www.inf-schule.de/@/page/Ix4U6fwrBEgfFHVF

Rückmeldung geben