Theorie Icon

Lernziele

Dieses Aufgabenblatt dient der Wiederholung.

Sie können...
  • einfache dynamische Datenstrukturen (einfach verkettete und doppelt verkettet) objektorientiert implementieren.
  • Basisalgorithmen auf einer einfach verketteten Liste implementieren.
  • Basisalgorithmen auf einer doppelt-verketteten Liste analysieren und implementieren.
Einen Überblick über die Methoden einer Liste ist hier zu finden: Methoden auf Listen

Aufgabe 1 - Methoden einer einfach verketteten Liste

Aufgabe Icon

A1a: Die einfach verkettete Liste - Count-Methode
Implementiere die Methode count.

Diese bekommt einen Wert übergeben und sucht dann die Liste durch nach allen Elementen, die diesem Wert entsprechen. Dabei zählt diese wie oft der Wert in der Liste vorkommt. Die Implementation kann ähnlich zur Hilfsmethode _findLastElement vorgenommen werden und kann rekursiv wie iterativ gelöst werden. Implementiere dazu eine neue einfach verkettet Liste oder nutze die Lösung aus dem Übungsblatt Dynamische Datenstrukturen Teil 1.

Aufgabe Icon

A1b: Die einfach verkettete Liste - Clear-Methode
Implementiere die Methode clear.

Diese löscht alle Elemente der Liste. Die Implementation sollte sich daran orientieren, was im Vorlesunginput Dynamische Datenstrukturen II beim Überschreiben des ersten Elements bei der append-Methode aufgetreten ist.

Aufgabe Icon

A1c: Die einfach verkettete Liste - Copy-Methode
Implementiere die Methode copy.

Diese soll eine tatsächliche Kopie der Liste, also eine Kopie aller Elemente der Liste in einer neuen Liste zurückliefern. Beachte hierbei, dass die Liste und die Kopie nicht mehr auf die selben Objekte zeigen dürfen.

Aufgabe Icon

A1d: Die einfach verkettete Liste - Weitere Methoden
Analysiere die weiteren Methoden - insert, pop, index, extend, sort, reverse - der Liste nach neuer oder schon in anderen Methoden angewandter Algorithmik.

Aufgabe 2 - Doppelt verkettete Listen

Aufgabe Icon

A2a: Doppelt verkettet Liste
Für alle außer SE-GYM! Löse die Aufgabe 2 aus dem Aufgabenblatt Dynamische Datenstrukturen Teil 1.

Aufgabe Icon

A2b: Die doppelt verkettete Liste - Weitere Methoden
Analysiere die Methoden aus Aufgabe 1. Welche der Methoden können mit einer doppelt-verketteten Liste effizienter gelöst werden, welche haben den gleichen Aufwand? Implementiere die effizienteren Methoden.