www.wikidata.de-de.nina.az
In der Informatik ist ein Suchbaum eine abstrakte Datenstruktur bei der die Menge von Elementen in der gesucht werden soll in einer Baumstruktur dargestellt wird Wie ein assoziatives Datenfeld oder eine Hashtabelle realisiert er eine endliche Funktion englisch map bei der aus einem Suchschlussel aus der endlichen Definitionsmenge ein Datenwert aus der Wertemenge gewonnen wird Bei fehlender Wertemenge realisiert der Baum eine Indikatorfunktion entspricht also einer endlichen Menge englisch set Aus Effizienzgrunden besitzt die Menge allermeist eine totale Quasiordnung die auch eine Totalordnung sein kann Dieser Ordnung entspricht im Baum eine Links Rechts Orientierung auf folgende Weise links von einem Knoten gibt es keine grosseren Elemente und rechts keine kleineren Dadurch wird in Form des binaren Suchens ein Prinzip namens Teile und herrsche moglich welches Suchzeiten erlaubt die logarithmisch in der Anzahl der Suchschlussel sind Es gibt Suchbaume sowohl in statischer unveranderlicher wie in dynamischer durch Einfugen und Loschen von Elementen veranderbarer Auspragung fur welche sich die Baumstruktur besonders gut eignet Inhaltsverzeichnis 1 Operationen 2 Spezielle Suchbaume 2 1 Binarer Suchbaum 2 2 B Baum 2 3 a b Baum 2 4 Ternarer Suchbaum 3 Weitere auf Baumen basierende Suchstrukturen 4 Speicherkomplexitat 5 Laufzeitkomplexitat 6 Siehe auch 7 Literatur 8 Weblinks 9 EinzelnachweiseOperationen BearbeitenDie charakteristische Operation ist das Suchen Die meisten anderen Operationen wie Einfugen Loschen Traversieren werden von der unterliegenden Baumstruktur geerbt Die Suchoperation gibt ein Element mit ubereinstimmendem Schlussel zuruck oder falls der Schlussel nicht vorkommt das NULL Element oder ein im Sinne der Totalordnung nachstgelegenes anderes Element Der maximale Aufwand fur das Suchen d h die Maximalzahl der erforderlichen Vergleiche ist bei vorliegender Totalordnung proportional zur Baumhohe h displaystyle h nbsp Ein Baum wird balanciert genannt wenn dafur Sorge getragen ist dass h displaystyle h nbsp stets logarithmisch in der Anzahl n displaystyle n nbsp der Elemente ist Ohne solche Vorkehrung kann der Suchbaum entarten bis zum ungunstigen Fall dass der Suchaufwand proportional wird zu n displaystyle n nbsp Spezielle Suchbaume BearbeitenBinarer Suchbaum Bearbeiten Hauptartikel Binarer Suchbaum nbsp Ein binarer SuchbaumEin binarer Suchbaum ist eine knotenbasierte Datenstruktur in der jeder Knoten einen Schlussel und maximal zwei Teilbaume enthalt den linken und den rechten Alle Schlussel des linken Teilbaums sind kleiner als der Schlussel des Knotens und die des rechten Teilbaums grosser Jeder Teilbaum ist ein binarer Suchbaum Es sind viele Varianten entwickelt worden die der Degeneration entgegenwirken sollen Die Zeitkomplexitat fur die Suche in einem binaren Suchbaum ist im Worst Case die Hohe des Baums die fur einen Baum mit n displaystyle n nbsp Elementen so klein wie O log n displaystyle mathcal O log n nbsp sein kann Keine Binarbaume sind folgende Suchbaume Fibonacci Heap 2 3 4 Baum B Baum K d BaumB Baum Bearbeiten Hauptartikel B BaumB Baume sind Verallgemeinerungen von binaren Suchbaumen da sie an jedem Knoten eine variable Anzahl von Teilbaumen haben konnen Wahrend untergeordnete Knoten einen vordefinierten Bereich haben werden sie nicht unbedingt mit Daten gefullt was bedeutet dass B Baume moglicherweise etwas Platz verschwenden konnen Der Vorteil ist dass B Baume nicht so haufig rebalanciert werden mussen wie andere selbst balancierende Baume Aufgrund des variablen Bereichs ihrer Knotenlange sind B Baume fur Systeme optimiert die grosse Datenblocke lesen Sie werden auch haufig in Datenbanken verwendet Die Zeitkomplexitat fur die Suche in einem B Baum betragt O log n displaystyle mathcal O log n nbsp a b Baum Bearbeiten Hauptartikel a b BaumEin a b Baum ist ein Suchbaum in dem alle Blatter die gleiche Tiefe haben Jeder Knoten hat mindestens einen und hochstens b displaystyle b nbsp Nachfolger wahrend die Wurzel mindestens 2 und hochstens b displaystyle b nbsp Nachfolger hat a displaystyle a nbsp und b displaystyle b nbsp konnen mit folgender Formel bestimmt werden 1 2 a b 1 2 displaystyle 2 leq a leq frac b 1 2 nbsp Die Zeitkomplexitat fur die Suche nach einem a b Baum betragt O log n displaystyle mathcal O log n nbsp Ternarer Suchbaum Bearbeiten Ein ternarer Suchbaum ist eine Datenstruktur in Gestalt eines Prafixbaums in der die Folgeknoten 2 entsprechend der Ordnungsrelation geordnet sind Jeder Knoten in einem ternaren Suchbaum enthalt 3 Zeiger Der mittlere Zeiger zeigt auf den Knoten mit dessen Wert dem aktuellen sich die Zeichenkette fortsetzt Der linke Zeiger zeigt auf einen Knoten dessen Wert kleiner ist als der aktuelle Wert Der rechte Zeiger zeigt auf einen Knoten dessen Wert grosser ist als der aktuelle Wert Zusatzlich zu den drei Zeigern hat jeder Knoten ein Feld zum Markieren des Endes einer Zeichenkette und ggf ein Feld fur weitere Benutzerdaten Die untenstehende Grafik zeigt einen ternaren Suchbaum der die Zeichenketten cute cup at as he us und v enthalt Dabei ist das Ende einer Zeichenkette durch Unterstreichung des letzten Zeichens markiert c a u h t t e u s p e s v Beim Suchen in einem ternaren Suchbaum wird der Suchschlussel als eine Zeichenkette ubergeben fur die getestet wird ob ein Pfad sie enthalt Die Zeitkomplexitat fur die Suche in einem ausgeglichenen ternaren Suchbaum betragt O log n displaystyle mathcal O log n nbsp 3 Weitere auf Baumen basierende Suchstrukturen BearbeitenObwohl komplexitatstheoretische Angaben asymptotisch zu verstehen sind lassen sie sich am ehesten in die Praxis ubertragen wenn die gesamte Datenstruktur in einem gleichformigen Medium z B dem Arbeitsspeicher Hauptspeicher untergebracht werden soll Spielen dagegen Zugriffe zu externen Medien eine Rolle kommen weitergehende Uberlegungen ins Spiel Im Kontext der Suchbaume sei verwiesen auf die Artikel B Baum IndexstrukturSpeicherkomplexitat BearbeitenDer Speicherverbrauch eines Suchbaums ist zusatzlich zu den Nutzdaten im Allgemeinen linear in der Anzahl n displaystyle n nbsp der Elemente also in O n displaystyle mathcal O n nbsp Laufzeitkomplexitat BearbeitenBei der Laufzeit unterscheidet man Operationen zum Suchen Einfugen und Loschen Bei den letzteren beiden ist in der Tabelle die Laufzeit fur das Positionieren nicht mit eingerechnet da dies nicht nur uber das Suchen sondern z B auch uber das Traversieren geschehen kann Abhangig von der Art des Suchbaums werden asymptotische mittlere lt displaystyle lt nbsp maximale worst case Laufzeiten gegenubergestellt wobei die maximale weggelassen ist wenn sie mit der mittleren ubereinstimmt Laufzeitkomplexitaten Suchbaum Suchen Baumhohe Traversieren zumNachbarknoten Einfugen LoschenAVL Baum O log n displaystyle mathcal O log n nbsp O 1 lt O log n displaystyle mathcal O 1 lt mathcal O log n nbsp O 1 lt O log n displaystyle mathcal O 1 lt mathcal O log n nbsp O 1 lt O log n displaystyle mathcal O 1 lt mathcal O log n nbsp Rot Schwarz Baum O log n displaystyle mathcal O log n nbsp O 1 lt O log n displaystyle mathcal O 1 lt mathcal O log n nbsp O 1 lt O log n displaystyle mathcal O 1 lt mathcal O log n nbsp O 1 lt O log n displaystyle mathcal O 1 lt mathcal O log n nbsp 2 3 4 Baum O log n displaystyle mathcal O log n nbsp O log n displaystyle mathcal O log n nbsp O log n displaystyle mathcal O log n nbsp B Baum O log n displaystyle mathcal O log n nbsp O log n displaystyle mathcal O log n nbsp O log n displaystyle mathcal O log n nbsp Splay Baum O log n displaystyle mathcal O log n nbsp 1 lt O n displaystyle lt mathcal O n nbsp O 1 lt O n displaystyle mathcal O 1 lt mathcal O n nbsp O log n displaystyle mathcal O log n nbsp 1 lt O n displaystyle lt mathcal O n nbsp O log n displaystyle mathcal O log n nbsp 1 lt O n displaystyle lt mathcal O n nbsp binarer Suchbaum O log n displaystyle mathcal O log n nbsp 2 lt O n displaystyle lt mathcal O n nbsp O 1 lt O n displaystyle mathcal O 1 lt mathcal O n nbsp O 1 displaystyle mathcal O 1 nbsp O log n displaystyle mathcal O log n nbsp 2 lt O n displaystyle lt mathcal O n nbsp 1 Abhangig vom Zugriffsmuster der Anwendung konnen bei Splay Baumen auch unterlogarihmische mittlere Laufzeiten vorkommen 2 Unter den unbalancierten binaren Suchbaumen gibt es Baume bei denen O log n displaystyle mathcal O log n nbsp nicht garantiert werden kann Die Angabe O log n displaystyle mathcal O log n nbsp gilt jedoch im Mittel uber alle moglichen Baumformen hinweg Neben den vorgenannten Operationen kommen weitere in Betracht Zugriff auf spezielle Elemente wie z B das kleinste Element Verschmelzen von SuchbaumenLaufzeitmessungen einiger Suchalgorithmen anhand realistischer Beispiele sind zu finden bei Ben Pfaff Siehe auch BearbeitenEffizienz Informatik Literatur BearbeitenAlexander Reinefeld Spielbaum Suchverfahren Subreihe Kunstliche Intelligenz Band 200 Springer 1989 ISBN 3 540 50742 6 A Banzhaf U Boes M Kramer Steuerung von Erkennungsprozessen durch Baumsuchverfahren In H Burkhardt K H Hohne B Neumann Hrsg Mustererkennung Informatik Fachberichte Band 219 Springer Berlin Heidelberg 1989 ISBN 3 540 51748 0 Weblinks BearbeitenBen Pfaff Performance Analysis of BSTs in System Software PDF 309 kB Stanford University 2004 englisch Einzelnachweise Bearbeiten Toal Ray a b Trees Der in den Knoten gespeicherte Wert fungiert als Teilstuck des Suchschlussels GeeksforGeeks Ternary Search TreeNormdaten Sachbegriff GND 4317574 0 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Suchbaum amp oldid 226730054