baeume:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
baeume:start [2024/10/18 05:53] – [Bäume] Martin Pabst | baeume:start [2024/10/18 08:41] (aktuell) – Martin Pabst | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Bäume ====== | + | ====== |
<WRAP center round info 80%> | <WRAP center round info 80%> | ||
- | Bei den bisher behandelten Datenstrukturen [[datenstrukturen: | + | Bei der Datenstruktur Liste hatte jedes Element nur einen Nachfolger (das letzte Element gar keinen). Lässt man mehrere Nachfolger zu, so erhält man die Datenstruktur **[[https:// |
Ein **Baum** | Ein **Baum** | ||
* besteht aus **Knoten**, in denen **Inhalte** abgelegt sind und **Kanten**, die jeweils zwei Knoten (genannt **Vorgänger** und **Nachfolger**) verbinden. | * besteht aus **Knoten**, in denen **Inhalte** abgelegt sind und **Kanten**, die jeweils zwei Knoten (genannt **Vorgänger** und **Nachfolger**) verbinden. | ||
Zeile 11: | Zeile 11: | ||
Baumstrukturen finden an vielen Stellen in der Informatik Verwendung, beispielsweise bei der Speicherung des Datenbestands von Datenbanken. Sie sorgen für effiziente Möglichkeiten zur Ablage und zum Abrufen von Daten. \\ \\ | Baumstrukturen finden an vielen Stellen in der Informatik Verwendung, beispielsweise bei der Speicherung des Datenbestands von Datenbanken. Sie sorgen für effiziente Möglichkeiten zur Ablage und zum Abrufen von Daten. \\ \\ | ||
**Beispielbaum: | **Beispielbaum: | ||
- | {{: | + | {{ : |
//Oft stellt man den Baum so dar, dass die Kanten nach unten hin zu den Nachfolgerknoten zeigen. So spart man sich das Zeichen von Pfeilen.// | //Oft stellt man den Baum so dar, dass die Kanten nach unten hin zu den Nachfolgerknoten zeigen. So spart man sich das Zeichen von Pfeilen.// | ||
\\ \\ | \\ \\ | ||
Zeile 24: | Zeile 24: | ||
<WRAP center round info 60%> | <WRAP center round info 60%> | ||
Verwendet man zur Implementierung eines Baumes das Entwurfsmuster Kompositum, so ergibt sich folgendes **Klassendiagramm**: | Verwendet man zur Implementierung eines Baumes das Entwurfsmuster Kompositum, so ergibt sich folgendes **Klassendiagramm**: | ||
- | {{ : | + | {{ : |
Sowohl die Wurzel, als auch innere Knoten und Blätter sind als Knoten angelegt. Die Klasse Abschluss kommt an den Stellen zum Einsatz, an denen es keine Nachfolger gibt. Die Ablage der Nachfolger kann beispielsweise über ein Array oder eine Liste geschehen. In vielen Anwendungsfällen ist die Speicherung in einem Array durchaus üblich (insbesondere da die Höchstzahl der Nachfolger häufig beschränkt wird). | Sowohl die Wurzel, als auch innere Knoten und Blätter sind als Knoten angelegt. Die Klasse Abschluss kommt an den Stellen zum Einsatz, an denen es keine Nachfolger gibt. Die Ablage der Nachfolger kann beispielsweise über ein Array oder eine Liste geschehen. In vielen Anwendungsfällen ist die Speicherung in einem Array durchaus üblich (insbesondere da die Höchstzahl der Nachfolger häufig beschränkt wird). | ||
</ | </ | ||
Zeile 36: | Zeile 36: | ||
Ein **Binärbaum** ist ein Baum, bei dem jeder Knoten **maximal zwei Nachfolger** besitzt. | Ein **Binärbaum** ist ein Baum, bei dem jeder Knoten **maximal zwei Nachfolger** besitzt. | ||
Das **Klassendiagramm** für die Implementierung eines Binärbaums unter Verwendung des Entwurfsmusters Kompositum ändert sich nur geringfügig: | Das **Klassendiagramm** für die Implementierung eines Binärbaums unter Verwendung des Entwurfsmusters Kompositum ändert sich nur geringfügig: | ||
- | {{ : | + | {{ :baeume:pasted: |
Die Kardinalität 2 anstelle von 0..2 im Klassendiagramm trifft (aus technischer Sicht) daher zu, als bei fehlenden Nachfolgeknoten Abschlussobjekte ihren Platz einnehmen. | Die Kardinalität 2 anstelle von 0..2 im Klassendiagramm trifft (aus technischer Sicht) daher zu, als bei fehlenden Nachfolgeknoten Abschlussobjekte ihren Platz einnehmen. | ||
</ | </ | ||
**Beispiel: | **Beispiel: | ||
- | {{ : | + | {{ : |
Oft legt man bei der Darstellung nur Wert auf die Baumstruktur selbst und zeichnet vereinfacht: | Oft legt man bei der Darstellung nur Wert auf die Baumstruktur selbst und zeichnet vereinfacht: | ||
- | {{ : | + | {{ : |
baeume/start.1729230814.txt.gz · Zuletzt geändert: 2024/10/18 05:53 von Martin Pabst