Lazy Evaluation und Streams

Lazy Evalutian Unter „lazy evaluation” (=faule/bequeme Auswertung) versteht man das aneinanderreihen von Befehlen, ohne sie jedoch sofort auszuwerten, sondern erst auszuführen, wenn deren Ergebnis benötigt wird. Dies hat den Vorteil, dass unnötiges Kopieren von Daten vermieden wird. Theoretisch erlaubt diese Methode den Umgang mit unendlichen Datenmengen, denn es entsteht ein sogenannter Datenstrom. (siehe Streams) Streams …

Weiterlesen …

Die Liste als abstrakter Datentyp

Die Liste als abstrakter Datentyp Verkettete Liste

In diesem Beitrag werden wir uns mit dem Typ “Liste” als abstrakten Datentyp beschäftigen. Eine Liste ist abstrakter Datentyp, der eine veränderliche Anzahl von Elementen in fester Ordnung über einen ganzzahligen Index speichern kann.  Ein abstrakter Datentyp wird über sein Verhalten definiert. Das heißt, man beschreibt die möglichen Operationen und Effekte (siehe Interface), die man mit einem Objekt von diesen …

Weiterlesen …

Der Graph als abstrakter Datentyp

Der Graph als abstrakter Datentyp Verketteter Graph

In diesem Beitrag werden wir uns mit Graphen als abstrakte Datentypen beschäftigen. Ein Graph besteht aus einer Menge von Knoten und Kanten. Ein Knoten speichert die eigentlichen Daten und wird auch „Ecke” oder „Vertex” genannt. Eine Kante verbindet Knoten mit einander und wird auch „Edge” genannt. Ein einfacher Graph könnte beispielsweise folgendermaßen definiert sein. Dieser Graph …

Weiterlesen …

Baum Datenstruktur als abstrakter Datentyp mit Beispielen

Baum als Datentyp vollständiger Baum

Baum Datenstruktur In diesem Beitrag wird die Baum Datenstruktur als abstrakter Datentyp betrachtet. Ein Baum enthält üblicherweise drei Arten von Knoten: Wurzelknoten: Ist der Ursprung und besitzt keine Elternknoten, dafür aber beliebig viele Kindknoten. Innerer Knoten: Befinden sich im Inneren eines Baums und hab einen Eltern Knoten und mindestens einen Kindknoten. Äußere Knoten: nennt man auch Blattknoten. Sie haben keine …

Weiterlesen …