Willkommen zu unserer Lektion über Arrays und verknüpfte Listen. In dieser Lektion lernen wir zwei einfache Möglichkeiten zum Speichern und Organisieren von Daten kennen. Stellen Sie sich vor, Sie haben eine Reihe Spielzeugkisten oder Schließfächer in der Schule. Arrays und verknüpfte Listen funktionieren ähnlich. Sie helfen uns, Dinge übersichtlich und leicht auffindbar zu halten. Diese Lektion ist in einfacher Sprache verfasst und enthält alltägliche Beispiele, damit Sie diese Konzepte leicht verstehen.
Datenstrukturen helfen Computern, Informationen zu speichern und zu organisieren. Zwei wichtige Datenstrukturen sind Arrays und verknüpfte Listen. Man kann sich ein Array als eine Reihe von Kästchen vorstellen, eine verknüpfte Liste als eine Kette verbundener Hinweise bei einer Schatzsuche. Beide helfen uns, den Überblick über viele Dinge zu behalten, wie Spielzeug, Bücher oder sogar unsere Lieblingssnacks.
Wir besprechen, was ein Array und eine verknüpfte Liste sind, wie sie funktionieren und worin sie sich unterscheiden. Wir werden auch Beispiele aus der Praxis sehen, die diese Ideen so deutlich wie möglich verdeutlichen.
Ein Array ist einfach eine Sammlung von Elementen. Es ist wie eine Reihe von Kisten, in denen sich jeweils ein Element befindet. Stellen Sie sich beispielsweise fünf Kisten vor, die in einer Reihe angeordnet sind. Sie können jede Kiste verwenden, um Ihr Lieblingsspielzeug oder einen Snack aufzubewahren.
Jedes Feld in einem Array hat eine Nummer, den sogenannten Index. Das erste Feld hat üblicherweise die Nummer 0, das nächste die Nummer 1, dann die Nummer 2 und so weiter. Diese Nummerierung hilft Ihnen, ein bestimmtes Element schnell zu finden. Wenn Sie beispielsweise das Element im dritten Feld suchen, suchen Sie einfach im Feld mit dem Index 2.
Hier ist eine einfache Formel, die erklärt, wie wir ein Element in einem Array finden können. Befindet sich das erste Feld an einem Startpunkt, kann die Adresse eines beliebigen Elements wie folgt betrachtet werden:
\( \textrm{Adresse}(A(i)) = \textrm{Adresse}(A(0)) + i \times \textrm{(Größe eines Artikels)} \)
Dies sagt uns, dass wir eine bestimmte Anzahl von Feldern vorwärts zählen müssen, um vom ersten Feld zum gewünschten Feld zu gelangen.
Stellen Sie sich eine Anordnung wie die Sitze in einem kleinen Kino vor. Jeder Sitz hat eine Nummer, und wenn Sie die Nummer kennen, können Sie schnell zu Ihrem Sitz gelangen.
Stellen Sie sich vor, Ihre Schule verfügt über eine Reihe von Schließfächern, jedes mit einer eindeutigen Nummer. Wenn Sie Ihre Tasche in das Schließfach legen, verwenden Sie die Nummer auf dem Schließfach. In einer Reihe ist jedes Schließfach wie eine Kiste, und die Nummer gibt Ihnen den genauen Ort an, an dem Ihre Tasche – oder Ihre Daten – aufbewahrt werden.
Eine verknüpfte Liste ist eine weitere Möglichkeit, Elemente zu speichern. Sie unterscheidet sich von einem Array dadurch, dass sie keine lange Reihe fester Felder verwendet. Stattdessen werden spezielle Felder, sogenannte Knoten, verwendet. Jeder Knoten enthält ein Element und verfügt über einen Zeiger, der den nächsten Knoten anzeigt.
Stellen Sie sich vor, Sie sind auf Schatzsuche. Jeder gefundene Hinweis verrät Ihnen, wo der nächste versteckt ist. In einer verknüpften Liste entspricht jeder Knoten einem dieser Hinweise. Beginnen Sie beim ersten Hinweis und folgen Sie dem Zeiger von einem Knoten zum nächsten, bis Sie finden, wonach Sie suchen.
Stellen Sie sich jeden Knoten wie einen kleinen Umschlag vor. Der Umschlag enthält eine Karte (die Daten) und eine Notiz (den Zeiger). Diese Notiz gibt an, welcher Umschlag als nächstes in der Reihe kommt.
Sehen wir uns eine einfache Möglichkeit an, zu beschreiben, was ein Knoten ist:
Knoten = {Daten, Zeiger)
Die „Daten“ in einem Knoten sind die gespeicherten Informationen, und der „Zeiger“ ist wie ein Pfeil, der zum nächsten Knoten führt. Im Gegensatz zu einem Array müssen bei einer verknüpften Liste nicht alle Knoten im Speicher nebeneinander liegen; sie können überall liegen, solange die Zeiger sie verbinden.
Es gibt verschiedene Arten verknüpfter Listen. Hier sind drei gängige Arten:
Stellen Sie sich vor, Sie folgen einer Schatzkarte. Jeder Schritt auf der Karte zeigt Ihnen, wo der nächste Schritt ist. Selbst wenn Sie einen zusätzlichen Hinweis hinzufügen oder entfernen, können Sie dem Weg folgen, indem Sie den Hinweis auf jeder Karte lesen. So funktioniert eine verknüpfte Liste. Jeder Knoten (oder Hinweis) ist mit dem nächsten verbunden, sodass Sie die Liste Schritt für Schritt durchlaufen können.
Sowohl Arrays als auch verknüpfte Listen helfen uns beim Speichern von Elementen, aber sie tun dies auf unterschiedliche Weise. Hier sind einige Vergleiche:
Jede Datenstruktur hat ihre Vorzüge und Herausforderungen. Wenn Sie diese verstehen, können Sie die optimale Datenstruktur auswählen.
Arrays:
Vorteile:
Nachteile:
Verknüpfte Listen:
Vorteile:
Nachteile:
Sehen wir uns an, wie wir ein Array auf einfache Weise verwenden können. Angenommen, Sie möchten Ihre fünf Lieblingsfarben speichern. Sie erstellen ein Array mit fünf Feldern. Anschließend legen Sie jede Farbe der Reihe nach in ein Feld. Beispiel:
Wenn Sie nun wissen möchten, welche Farbe sich in Feld 2 befindet, schauen Sie einfach auf das Feld und Sie sehen „Grün“. Dieser einfache Zugriff ist einer der Vorteile der Verwendung eines Arrays.
Betrachten wir nun eine verknüpfte Liste. Stellen Sie sich das wie eine Schatzsuche vor, bei der Sie mit einem Hinweis beginnen und dann den Anweisungen folgen, um den nächsten zu finden. In einer verknüpften Liste beginnen wir mit einem Knoten, der Daten enthält. Dieser Knoten hat einen Zeiger, der anzeigt, welcher Knoten als nächstes kommt.
Stellen Sie sich beispielsweise vor, Sie haben drei Knoten in einer verknüpften Liste, die eine lustige Geschichte erzählen:
Sie beginnen bei Knoten 1 und folgen dem Zeiger (dem Hinweis) zu Knoten 2 und dann zu Knoten 3. Selbst wenn Sie zwischen diesen Knoten einen neuen Hinweis hinzufügen möchten, müssen Sie nur einige Zeiger ändern. Dies macht verknüpfte Listen sehr flexibel.
Es ist hilfreich, sich diese Datenstrukturen vorzustellen. Stellen Sie sich ein Array als eine lange Reihe durchsichtiger, beschrifteter Kästen auf einem Regal vor. Jeder Kasten enthält etwas und hat seinen festen Platz. Stellen Sie sich eine verknüpfte Liste als eine Reihe von Karten vor. Jede Karte hat eine Notiz, die angibt, wo die nächste Karte versteckt ist. In einem Array können Sie über die Nummer direkt zu einem bestimmten Kästchen springen. In einer verknüpften Liste müssen Sie die Karten der Reihe nach abarbeiten.
Arrays werden in vielen alltäglichen Dingen verwendet. Stellen Sie sich beispielsweise einen Kalender vor. Ein Kalender hat eine feste Anzahl von Tagen pro Woche, und diese Tage sind in einer Reihe angeordnet. Wenn Sie den Kalender betrachten, wissen Sie genau, welcher Tag an welcher Stelle steht.
Verknüpfte Listen werden verwendet, wenn sich die Anzahl der Elemente im Laufe der Zeit ändern kann. Denken Sie an eine Schlange von Menschen, die vor einem Eiswagen warten. Manchmal reihen sich neue Leute ein, manchmal verlässt jemand die Schlange. Die Schlange kann länger oder kürzer werden, ohne dass eine neue feste Struktur erstellt werden muss. Das macht verknüpfte Listen besonders nützlich in Szenarien, in denen sich Dinge häufig ändern.
Die Wahl zwischen Arrays und verknüpften Listen hängt davon ab, was Sie mit Ihren Daten tun möchten. Wenn Sie wissen, dass Sie immer eine feste Anzahl von Elementen haben werden – beispielsweise die Wochentage –, ist ein Array sehr gut geeignet. Ändert sich jedoch die Datenmenge und Sie benötigen eine Struktur, die sich leicht anpassen lässt, ist eine verknüpfte Liste die bessere Wahl.
Beispielsweise kann in einem Computerspiel ein Array verwendet werden, um die Punktestände für jedes Level zu speichern, da die Anzahl der Level festgelegt ist. Andererseits kann eine verknüpfte Liste verwendet werden, um eine Liste von Spieleraktionen oder -zügen zu verwalten, die im Laufe des Spiels wachsen kann.
Wenn Sie schnell auf Elemente über ihre Position zugreifen müssen, sind Arrays die beste Wahl. Denn Sie können direkt zu jeder Position springen, wenn Sie deren Nummer kennen. Wenn Sie jedoch häufig Elemente hinzufügen oder entfernen müssen, sind verknüpfte Listen hilfreicher, da Sie die Liste ändern können, ohne viele Elemente verschieben zu müssen.
Stellen Sie sich das so vor: Wenn Sie ein Stickeralbum mit einer festgelegten Seitenzahl haben, ist ein Array vergleichbar mit diesem Album. Wenn Sie jedoch eine wachsende Sammlung von Postkarten haben, die Sie an einem schwarzen Brett anbringen, ist eine verknüpfte Liste vergleichbarer, da Sie problemlos eine neue Postkarte zwischen die anderen einfügen können, ohne das ganze Brett umzugestalten.
Lassen Sie uns die wichtigsten Punkte unserer Lektion wiederholen:
Arrays:
Verknüpfte Listen:
Unterschiede und Verwendung:
Zusammenfassend sind Arrays und verknüpfte Listen zwei wichtige Datenstrukturen zur Datenorganisation. Arrays funktionieren wie eine Reihe fester, nummerierter Kästchen, während verknüpfte Listen wie eine Schatzsuche funktionieren, bei der jeder Schritt den nächsten Schritt anzeigt. Beide Methoden haben ihre eigenen Stärken und werden je nach Aufgabenstellung in unterschiedlichen Situationen eingesetzt.
Das Verständnis dieser beiden Methoden der Datenspeicherung ist sehr nützlich. Viele Computerprogramme, Spiele und Anwendungen verwenden im Hintergrund Arrays und verknüpfte Listen. Indem Sie lernen, wie sie funktionieren, erhalten Sie Einblicke in die Art und Weise, wie Computer Daten organisieren und verwalten.
Denken Sie daran: Arrays sind einfach und schnell, wenn die Struktur feststeht, während verknüpfte Listen Flexibilität bieten, wenn sich die Daten ändern. Ob Sie sich eine Reihe von Schließfächern oder eine Schatzsuche vorstellen – diese Konzepte helfen uns zu verstehen, wie Informationen täglich gespeichert und genutzt werden.
Diese Lektion hat Ihnen ein klares Verständnis von Arrays und verknüpften Listen vermittelt. Im weiteren Informatikstudium helfen Ihnen diese Grundideen, komplexere Themen zu verstehen. Sie bilden die Bausteine für komplexere Datenstrukturen und Algorithmen.
Zusammenfassung der wichtigsten Punkte:
Vielen Dank für das Lesen dieser Lektion über Arrays und verknüpfte Listen. Wir hoffen, es hat Ihnen Spaß gemacht, diese Methoden zur übersichtlichen und einfachen Datenspeicherung kennenzulernen. Behalten Sie diese grundlegenden Strukturen und ihre Bedeutung für die Effizienz Ihres Computers im Gedächtnis, wenn Sie sich weiterentwickeln und mehr lernen.