<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Balancierter_Baum</id>
	<title>Balancierter Baum - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Balancierter_Baum"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Balancierter_Baum&amp;action=history"/>
	<updated>2026-06-06T10:40:28Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Balancierter_Baum&amp;diff=54316&amp;oldid=prev</id>
		<title>imported&gt;Ulanwp: Fehlenden Sprachparameter eingefügt</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Balancierter_Baum&amp;diff=54316&amp;oldid=prev"/>
		<updated>2026-02-13T19:31:35Z</updated>

		<summary type="html">&lt;p&gt;Fehlenden Sprachparameter eingefügt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Ein &amp;#039;&amp;#039;&amp;#039;balancierter Baum&amp;#039;&amp;#039;&amp;#039; ({{enS}} oft &amp;#039;&amp;#039;self-balancing tree&amp;#039;&amp;#039;) ist in der [[Informatik]] ein besonderer [[Baum (Datenstruktur)|Baum]], der eine &amp;#039;&amp;#039;maximale&amp;#039;&amp;#039; [[Höhe (Graphentheorie)|Höhe]] von &amp;lt;math&amp;gt;c\cdot\log(n)&amp;lt;/math&amp;gt; garantiert, wobei &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; die Anzahl der Elemente im Baum angibt und &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; eine von &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; unabhängige Konstante ist. Manche Autoren rechnen auch Datenstrukturen dazu, die Vorkehrungen enthalten, dass die mittlere Höhe oder [[Gewichteter binärer Suchbaum#Zugriffsverteilung und gewichtete Pfadlänge|Pfadlänge]] bei jedem Baum logarithmisch bleibt.&lt;br /&gt;
&lt;br /&gt;
== Problem: Entartung ==&lt;br /&gt;
Eine wichtige Anwendung von Bäumen in der Informatik ist deren Nutzung als [[Suchbaum]]. Die Laufzeit der wichtigsten [[Suchbaum#Operationen|Operationen in einem Suchbaum]] (Suchen, Einfügen und Löschen eines Wertes) hängt im schlechtesten Fall linear von der Höhe des Baumes ab (die Operationen haben eine [[Komplexität (Informatik)|Komplexität]] von &amp;lt;math&amp;gt;\mathcal{O}(h)&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; Höhe des Baumes).&lt;br /&gt;
&lt;br /&gt;
Jeder [[k-närer Baum|&amp;#039;&amp;#039;k&amp;#039;&amp;#039;-näre Baum]] mit &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; Knoten hat eine Höhe von &amp;lt;math&amp;gt;h\geq\log_k (n+1)&amp;lt;/math&amp;gt;; und im Durchschnitt immer noch &amp;lt;math&amp;gt;c\cdot\log_k\ n&amp;lt;/math&amp;gt; für ein gewisses konstantes &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;. So sind auch die Operationen auf einem Baum mindestens der Komplexität &amp;lt;math&amp;gt;\mathcal{O}(\log_k n) = \mathcal{O}(\log n)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Balancierter Baum - Baum ohne Werte.svg|mini|zentriert|Beispiel für nicht balancierten Baum]]&lt;br /&gt;
&lt;br /&gt;
Fügt man jedoch zum Beispiel einem Suchbaum eine große Menge bereits sortierter Daten ein, wächst dieser ungleichmäßig und hat im Extremfall eine Höhe von &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; mit der unerwünschten Folge, dass auch jede folgende Einfüge-, Such- und Löschoperation der Komplexität &amp;lt;math&amp;gt;\mathcal{O}(n)&amp;lt;/math&amp;gt; ist.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Balancierter Baum - entarteter Suchbaum.PNG|mini|zentriert|Ein zu einer Liste entarteter Suchbaum]]&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis dieses einseitigen Einfügens wäre somit eine [[Liste (Datenstruktur)#Einfach verkettete Listen|einfach verkettete Liste]]; die Vorteile eines Baums wären somit zunichtegemacht&lt;br /&gt;
&lt;br /&gt;
{{Siehe auch|O-Notation|Komplexität (Informatik)|titel2=Komplexität|Erwartungswert}}&lt;br /&gt;
&lt;br /&gt;
== Gegenstrategie: Balance halten ==&lt;br /&gt;
Balancierte Bäume wurden entwickelt, um die Entartung zu verhindern und eine Höhe von &amp;lt;math&amp;gt;c\cdot\log(n)&amp;lt;/math&amp;gt; zu garantieren.&lt;br /&gt;
&lt;br /&gt;
Dazu verfolgt man unterschiedliche Konzepte. Allen gemeinsam ist: Man fordert spezielle Eigenschaften des Baumes,&lt;br /&gt;
* aus denen folgt, dass die Höhe des Baumes in jedem Fall &amp;lt;math&amp;gt;c\cdot\log(n)&amp;lt;/math&amp;gt; ist.&lt;br /&gt;
* sodass es geeignete Such-, Einfüge- und Löschoperationen (sinnvollerweise der [[Komplexität (Informatik)|Komplexität]] &amp;lt;math&amp;gt;\mathcal{O}(h)&amp;lt;/math&amp;gt;) gibt, die die speziellen Eigenschaften wahren.&lt;br /&gt;
&lt;br /&gt;
Man erhält eine solche Operation, indem man die Operation der allgemeinen Suchbäume verwendet und nach jeder Ausführung an der Stelle der Änderung die Balance überprüft, adjustiert und ggf. neu balanciert. Es kann vorkommen, dass sich diese Anpassungs- und Reparatur-Welle bis zur Wurzel hinauf fortsetzt.&lt;br /&gt;
&lt;br /&gt;
=== Höhenbalance ===&lt;br /&gt;
Nach der Höhe balancierte Bäume stellen für jeden Knoten sicher, dass die Höhe des linken Unterbaumes und die Höhe des rechten Unterbaumes nur um ein bestimmtes Verhältnis oder eine bestimmte Differenz voneinander abweichen.&lt;br /&gt;
&lt;br /&gt;
Beim [[Rot-Schwarz-Baum]] wird jedem Knoten eine Farbe (Rot oder Schwarz) zugeordnet; der Baum ist bezüglich der schwarzen Knoten optimal höhenbalanciert und der Anteil der roten Knoten ist begrenzt. Diese Bäume stellen eine binäre Realisierung der [[2-3-4-Baum|2-3-4-Bäume]] dar, einer speziellen Variante der [[B-Baum|B-Bäume]].&lt;br /&gt;
&lt;br /&gt;
Im [[AVL-Baum]] gilt für jeden Knoten: Die Höhe seines&lt;br /&gt;
linken Kindes weicht von der seines rechten Kindes um höchstens ±1 ab.&lt;br /&gt;
&lt;br /&gt;
=== Balance der Knotenzahl ===&lt;br /&gt;
Sei &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; ein Binärbaum mit linkem Unterbaum &amp;lt;math&amp;gt;T_l&amp;lt;/math&amp;gt; und rechtem Unterbaum &amp;lt;math&amp;gt;T_r&amp;lt;/math&amp;gt;. Dann heißt&lt;br /&gt;
: &amp;lt;math&amp;gt;\rho(T) := \tfrac{|T_l|}{|T|} = 1 - \tfrac{|T_r|}{|T|}&amp;lt;/math&amp;gt;&lt;br /&gt;
die &amp;#039;&amp;#039;&amp;#039;Wurzelbalance&amp;#039;&amp;#039;&amp;#039; von &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;. Dabei bedeutet &amp;lt;math&amp;gt;|T|&amp;lt;/math&amp;gt; die Anzahl der [[Binärer Suchbaum#Terminologie|(externen) Blätter]] von &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ein Binärbaum wird &amp;#039;&amp;#039;&amp;#039;von beschränkter Balance α&amp;#039;&amp;#039;&amp;#039; genannt, wenn für jeden Unterbaum &amp;lt;math&amp;gt;T&amp;#039;&amp;lt;/math&amp;gt; von &amp;lt;math&amp;gt; T&amp;lt;/math&amp;gt; gilt:&lt;br /&gt;
: &amp;lt;math&amp;gt;\alpha\le \rho(T&amp;#039;) \le 1-\alpha&amp;lt;/math&amp;gt;&amp;amp;nbsp;.&lt;br /&gt;
Diese Art Binärbäume wurden 1972 von Reingold und Nievergelt&amp;lt;ref&amp;gt;Nievergelt, J. &amp;amp; Reingold, E. M. (1972) Binary search trees of bounded balance. In Proceedings of the Fourth Annual Acm Symposium on Theory of Computing. ACM, pp. 137–142.&amp;lt;/ref&amp;gt; eingeführt. In der englischen Literatur heißen sie auch „weight-balanced trees“ (WBTs).&amp;lt;ref name=&amp;quot;Hirai&amp;quot;&amp;gt;{{cite journal |first1=Y. |last1=Hirai |first2=K. |last2=Yamamoto |year=2011 |title=Balancing weight-balanced trees |journal=J. Functional Programming |volume=21 |issue=3 |pages=287 |doi=10.1017/S0956796811000104 |url=https://yoichihirai.com/bst.pdf |language=en}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#Mehlhorn|Mehlhorn]] versammelt alle Binärbäume mit beschränkter Balance α in der Menge &amp;#039;&amp;#039;&amp;#039;BB(α)&amp;#039;&amp;#039;&amp;#039; und beweist auf S. 181:&amp;lt;br /&amp;gt;&lt;br /&gt;
Sei &amp;lt;math&amp;gt;\tfrac14 &amp;lt; \, \alpha \, \leq 1-\tfrac{\sqrt2}2&amp;lt;/math&amp;gt; und &amp;#039;&amp;#039;T&amp;#039;&amp;#039; ein BB(α)-Baum. Dann haben die Operationen &amp;#039;&amp;#039;Suche&amp;#039;&amp;#039;(&amp;#039;&amp;#039;a&amp;#039;&amp;#039;,&amp;#039;&amp;#039;T&amp;#039;&amp;#039;), &amp;#039;&amp;#039;Einfüge&amp;#039;&amp;#039;(&amp;#039;&amp;#039;a&amp;#039;&amp;#039;,&amp;#039;&amp;#039;T&amp;#039;&amp;#039;), &amp;#039;&amp;#039;Lösche&amp;#039;&amp;#039;(&amp;#039;&amp;#039;a&amp;#039;&amp;#039;,&amp;#039;&amp;#039;T&amp;#039;&amp;#039;) jeweils die [[Zeitkomplexität]] &amp;lt;math&amp;gt;\mathcal{\mathcal{O}}(\log |T|)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Gewichtsbalance ===&lt;br /&gt;
Unter dem [[Gewicht (Graphentheorie)|Gewicht]] eines Knotens sei hier die Wahrscheinlichkeit des Zugriffs auf ihn verstanden.&lt;br /&gt;
&lt;br /&gt;
Ist der Baum statisch, spielen also Einfüge- oder Löschoperationen keine Rolle, so bietet sich der [[Bellman-Algorithmus]] an, der einen optimalen gewichteten binären Suchbaum konstruiert. Seine Effizienz ist auch dann gegeben, wenn die Gewichte nur ungefähr bekannt sind.&lt;br /&gt;
&lt;br /&gt;
Allerdings kann bei einer [[Gewichteter binärer Suchbaum#Geometrische Verteilung|extremen Verteilung der Zugriffswahrscheinlichkeiten]] auch beim &amp;#039;&amp;#039;optimalen&amp;#039;&amp;#039; gewichteten binären Suchbaum im [[worst case]] eine lineare (nicht mehr logarithmische) Abhängigkeit der Höhe von der Anzahl herauskommen.&lt;br /&gt;
&lt;br /&gt;
Sind Einfüge- oder Entfernoperationen wichtig, so sind im Prinzip auch die Gewichte zu pflegen. Im Grenzfall sogar beim Aufsuchen, da sich hierbei zumindest die Zugriffsstatistik ändert.&lt;br /&gt;
&lt;br /&gt;
Dies und noch mehr leisten die [[Splay-Baum|Splay-Bäume]].&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Gewichteter binärer Suchbaum]]&lt;br /&gt;
* [[Bellman-Algorithmus]] (Konstruktion des optimalen gewichteten binären Suchbaums)&lt;br /&gt;
* [[Splay-Baum]]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* {{Anker|Mehlhorn}}[[Kurt Mehlhorn]] &amp;#039;&amp;#039;Datenstrukturen und effiziente Algorithmen&amp;#039;&amp;#039; Teubner Stuttgart 1988, ISBN 3-519-12255-3.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Suchbaum]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Ulanwp</name></author>
	</entry>
</feed>