Metainformationen zur Seite
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
informatik:algorithmisch:python:binaerbaeume [2024/07/20 14:08] – [Grundbegriffe] technik | informatik:algorithmisch:python:binaerbaeume [2024/07/21 07:33] (aktuell) – [Kanten und Gewicht] technik | ||
---|---|---|---|
Zeile 23: | Zeile 23: | ||
</ | </ | ||
- | Ein Binärbaum besitzt immer zwei Blattknoten an einem übergeordneten | + | Normalerweise trägt ein Knoten |
- | {{ : | + | |
- | + | ==== Spezialfall Binärbäume ==== | |
+ | Ein Binärbaum besitzt immer zwei Blattknoten an einem übergeordneten Knoten. Bei einem vollständigen Binärbaum sind zum alle Ebenen komplett ausgefüllt: | ||
+ | {{ : | ||
+ | Alle denkbaren Bäume (mit z.B. mehr Blättern pro Knoten) lassen sich durch Umhängen von Knoten zu einem Binärbaum umformen, der jedoch dann nicht immer vollständig ist. | ||
+ | {{ : | ||
+ | |||
+ | ==== Kanten und Gewicht ==== | ||
+ | Eine Kante kann ein Gewicht bekommen, das z.B. angibt, wie wahrscheinlich es ist, dass Daten, die in einem Baum gespeichert sind, aufeinander folgen. | ||
+ | {{ : | ||
+ | Auf diese Weise könnte in einem Sprachmodell hinterlegt sein, wie wahrscheinlich es ist, welches Wort auf den Satzanfang " | ||
+ | |||
+ | <file python treedataweighted.py> | ||
+ | class Node: | ||
+ | def __init__(self, | ||
+ | self.left = None | ||
+ | self.right = None | ||
+ | self.leftweight = 0 | ||
+ | self.rightweight = 0 | ||
+ | self.data = data | ||
+ | |||
+ | # Liste für die Knoten des Baumes anlegen | ||
+ | nodes[] | ||
+ | |||
+ | # Knoten anlegen | ||
+ | nodes[0] = Node(" | ||
+ | nodes[1] = Node(" | ||
+ | nodes[2] = Node(" | ||
+ | |||
+ | # Knoten verbinden | ||
+ | nodes[0].left = nodes[1] | ||
+ | nodes[0].right = nodes[2] | ||
+ | |||
+ | # Gewichte der Kanten setzen | ||
+ | nodes[0].leftweight = 8 | ||
+ | nodes[0].rightweight = 5 | ||
+ | </ | ||
==== Ein kleines Sprachmodell ==== | ==== Ein kleines Sprachmodell ==== | ||
Hier sehr ihr ein Beispiel für ein " | Hier sehr ihr ein Beispiel für ein " |