Please enable JavaScript.
Coggle requires JavaScript to display documents.
Datenstrukturen - Coggle Diagram
Datenstrukturen
nicht-lineare Datenstrukturen
Binäre Bäume
Traversierungsmethoden
PreOrder WLR
InOrder LWR
PostOrder LRW
Aufbau
Knoten
- durch die Hierarchie vorgegebenen Objekte
Pfad
- geordnete Liste von Knoten, die durch Kanten verbunden sind
Tiefe
- Anzahl der Kanten auf dem Pfad
Blatt
- Knoten ohne Nachfolger
Wurzel
- erster Knoten
Ebene
- Knoten mit derselben Tiefe bilden zusammen eine Ebene
Teilbaum
- zusammenhängende Menge von Knoten und Kanten, die aus einem übergeordneten Knoten und allen Nachkommen dieses übergeordneten Knotens bestehen und selbst einen Baum bildet
Grad
- Anzahl der Nachfolger (1 oder 2 oder 0)
Kante
- Verbindung zwischen zwei Knoten
Eigenschaften
1 oder 2 Nachfolger (Grad)
Modellierung
wichtige Methoden
(isEmpty():boolean)
(setContent(pContent:ContentType):void)
(getContent():ContentType)
(getLeftTree():BinaryTree<ContentType>)
(setLeftTree(pTree: BinaryTree<ContentType>))
Klasse
BinaryTree<ContentType>:
Binäre Suchbäume
Eigenschaften
Anordnung der Inhalte nach einer Ordnungsrelation
Alle Inhalte im linken Teilbaum der Wurzel sind kleiner als der Inhalt der Wurzel und alle Inhalte im rechten Teilbaum größer
Schlüssel= Kriterium nach dem die Daten sortiert sind
Daten können schnell gefunden werden
können nur Objekte verwaltet werden, die miteinander vergleichbar sind
Interface ComparableContent- Schnittstelle die für alle Objekte gelten muss damit man vergleichen kann
verfügt über 3 Methoden für den Vergleich zweier Objekte
isGreater
isEqual
isLess
Umsetzung generische Klasse
Aufbau
Knoten
- durch die Hierarchie vorgegebenen Objekte
Pfad
- geordnete Liste von Knoten, die durch Kanten verbunden sind
Tiefe
- Anzahl der Kanten auf dem Pfad
Blatt
- Knoten ohne Nachfolger
Wurzel
- erster Knoten
Ebene
- Knoten mit derselben Tiefe bilden zusammen eine Ebene
Teilbaum
- zusammenhängende Menge von Knoten und Kanten, die aus einem übergeordneten Knoten und allen Nachkommen dieses übergeordneten Knotens bestehen und selbst einen Baum bildet
Grad
- Anzahl der Nachfolger
Kante
- Verbindung zwischen zwei Knoten
Suchen von Daten im Suchbaum
gesuchte Datum = Wurzel
gesuchtes Datum= kleiner Wurzel, linker Baum
gesuchtes Datum= größer Wurzel, rechter Baum
Teilbaum leer = Ende Suche
Einfügen neuer Inhalte in den Suchbaum
Postion für neues Element wird gesucht, gleiches Vorgehen wie beim Suchen
nur noch leerer Teilbaum= Objekt wird hinzugefügt
Entferenen eines Knotens aus dem Suchbaum
zu entfernende Knoten = Blatt - kann einfach gelöscht werden
zu entfernende Knoten besitzt Teilbaum - Wurzel des Teilbaums rückt nach
Modellierung des binären Suchbaums
Zum Einfügen eines neuen Objekts=insert
Suchen eines Objektes=search
Entfernen eines Objektes=remove
isEmpty, getContent, geftLeftTree, getRightTree
Bäume/ Baumstruktur
Eigenschaften
kann mehr als 2 Nachfolger (Grad) besitzen
hiearchische Struktur
Einsetzung als Datenstruktur
darf kein Kreis ergeben
Aufbau
Knoten
- durch die Hierarchie vorgegebenen Objekte
Pfad
- geordnete Liste von Knoten, die durch Kanten verbunden sind
Tiefe
- Anzahl der Kanten auf dem Pfad
Blatt
- Knoten ohne Nachfolger
Wurzel
- erster Knoten
Ebene
- Knoten mit derselben Tiefe bilden zusammen eine Ebene
Teilbaum
- zusammenhängende Menge von Knoten und Kanten, die aus einem übergeordneten Knoten und allen Nachkommen dieses übergeordneten Knotens bestehen und selbst einen Baum bildet
Grad
- Anzahl der Nachfolger
Kante
- Verbindung zwischen zwei Knoten
FAZIT
hierarchische und damit nicht-lineare Ordnung
geordnetes Speichern= binärer Suchbaum
schnelles wiederfinden von Daten
Versuchen einen balancierten Baum zu erstellen
lineare Datenstrukturen