Binäre Suchbäume. Organisatorisches. VL-10: Binäre Suchbäume. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger.
|
|
- Katja Schmitt
- vor 5 Jahren
- Abrufe
Transkript
1 Organisatorisches VL-10: inäre Suchbäume (Datenstrukturen und lgorithmen, SS 17) Gerhard Woeginger Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Sprechstunde: Mittwoch 11: 12:00 Übungen: Tim Hartmann, David Korzeniewski, jörn Tauer Webseite: SS 17, RWTH Nächste Vorlesung: Dienstag, Mai 23, 1: 17:4 Uhr, ula 1 DSL/SS 17 VL-10: inäre Suchbäume 1/43 DSL/SS 17 VL-10: inäre Suchbäume 2/43 Motivation inäre Suchbäume Suchbäume unterstützen Operationen auf dynamischen Mengen, wie: Suchen Einfügen Löschen bfragen (Nachfolger, oder Minimum, oder Maximum, etc) Suchen Einfügen Löschen Rotationen VL-äume Die asisoperationen auf binären Suchbäumen benötigen Laufzeit proportional zur Höhe des aums: Für vollständige binäre äume mit n Elementen liefert dies eine Laufzeit von Θ(log n) pro asisoperation. Für einen aum, der einer linearen Kette mit n Elementen entspricht, ist dies aber Θ(n). In der nächsten Vorlesung (VL-11) werden wir binäre Suchbäume kennenlernen, deren Operationen immer Laufzeiten in O(log n) haben DSL/SS 17 VL-10: inäre Suchbäume 3/43 DSL/SS 17 VL-10: inäre Suchbäume 4/43
2 inäre Suchbäume (1) Definition: inärer Suchbaum Ein binärer Suchbaum (ST) ist ein inärbaum, der Elemente mit Schlüsseln enthält, wobei der Schlüssel jedes Knotens mindestens so gross ist wie jeder Schlüssel im linken Teilbaum und höchstens so gross ist wie jeder Schlüssel im rechten Teilbaum inäre Suchbäume (2) Ein Knoten in einem binären Suchbaum besteht aus vier Feldern: Einem Schlüssel = dem Wert des Knotens einem (möglicherweise leeren) linken und einem (möglicherweise leeren) rechten Teilbaum, bzw. Zeiger darauf einem Zeiger auf den Vater-/Mutterknoten (bei der Wurzel leer) Schlüssel 12 null Vater/Mutter von und 2 Zwei binäre Suchbäume, die jeweils die sechs Schlüssel 2, 3,,, 7, 9 enthalten Linkes Kind von left parent right 22 Rechtes Kind von DSL/SS 17 VL-10: inäre Suchbäume /43 DSL/SS 17 VL-10: inäre Suchbäume /43 inäre Suchbäume (3) inäre Suchbäume (4) eispiel (inärer Suchbaum in /++) 1 typedef struct _node * Node ; 2 struct _node { 3 int key ; 4 Node left, right ; Node parent ; //... evtl. eigene Datenfelder 7 }; 8 9 struct _tree { 10 Node root ; 11 }; typedef struct _tree * Tree ; Sortieren Eine Inorder Traversierung eines binären Suchbaumes gibt alle Schlüssel im Suchbaum in sortierter Reihenfolge aus. Zeitkomplexität Da eine Inorder Traversierung eines aumes mit n Knoten nur Θ(n) Zeit benötigt, erhalten wir einen Sortieralgorithmus mit Laufzeit Θ(n). Dies setzt jedoch voraus, dass alle Daten bereits als ein ST abgespeichert sind. DSL/SS 17 VL-10: inäre Suchbäume 7/43 DSL/SS 17 VL-10: inäre Suchbäume 8/43
3 Suche nach Schlüssel k im ST Suchen 1 Node bstsearch ( Node root, int k) { 2 while ( root ) { 3 if (k < root. key ) { 4 root = root. left ; } else if (k > root. key ) { root = root. right ; } 7 else { // k == root. key 8 return root ; } 9 } 10 return null ; // nicht gefunden 11 } Die Worst-ase Komplexität ist linear in der Höhe h des aumes: Θ(h). Für einen kettenartigen aum mit n Knoten ergibt das Θ(n). Ist der ST so balanziert wie möglich, erhält man Θ(log(n)). Frage: Funktioniert dieses Suchverfahren auch bei Heaps? DSL/SS 17 VL-10: inäre Suchbäume 9/43 DSL/SS 17 VL-10: inäre Suchbäume 10/43 eispiel: Suche nach Schlüssel k im ST (1) eispiel: Suche nach Schlüssel k im ST (2) Erfolgreiche Suche nach Schlüssel k = 10 Erfolglose Suche nach Schlüssel k = 18 DSL/SS 17 VL-10: inäre Suchbäume 11/43 DSL/SS 17 VL-10: inäre Suchbäume 12/43
4 Einfügen eines Knotens: Strategie Einfügen Einfügen Man kann einen neuen Knoten mit Schlüssel k in den ST t einfügen, ohne die ST-Eigenschaft zu zerstören: Suche einen geeigneten, freien Platz: Wie bei der regulären Suche, ausser dass, selbst bei gefundenem Schlüssel, weiter abgestiegen wird, bis dass ein Knoten ohne entsprechendes Kind erreicht ist. Hänge den neuen Knoten an: Verbinde den neuen Knoten mit dem gefundenen Vaterknoten. Komplexität: Θ(h), wegen der Suche. DSL/SS 17 VL-10: inäre Suchbäume 13/43 DSL/SS 17 VL-10: inäre Suchbäume 14/43 eispiel: Einfügen von Schlüssel k = 18 in ST Einfügen eines Knotens: lgorithmus eispiel bstins(t, Node(18)) void bstins ( Tree t, Node node ) { // Fuege node in t ein 2 // Suche freien Platz 3 Node root = t. root, parent = null ; 4 while ( root ) { parent = root ; if ( node. key < root. key ) { 7 root = root. left ; 8 } else { 9 root = root. right ; 10 } 11 } // Einfuegen 12 node. parent = parent ; 13 if (! parent ) { // t war leer => neue Wurzel 14 t. root = node ; } else if ( node. key < parent. key ) { // richtige Seite 1 parent. left = node ; 17 } else { 18 parent. right = node ; 19 } } DSL/SS 17 VL-10: inäre Suchbäume /43 DSL/SS 17 VL-10: inäre Suchbäume 1/43
5 bfragen im ST: Minimum bfragen Problem Wir suchen den Knoten mit dem kleinsten Schlüssel im durch root festgelegten aum oder Teilbaum. Lösung 1 Node bstmin ( Node root ) { // root!= null 2 while ( root. left ) { 3 root = root. left ; 4 } return root ; } Komplexität: Θ(h) bei aumhöhe h. Das Maximum kann analog gefunden werden. DSL/SS 17 VL-10: inäre Suchbäume 17/43 DSL/SS 17 VL-10: inäre Suchbäume 18/43 bfragen im ST: Nachfolger (1) Problem Wir suchen den Nachfolger-Knoten von node, also den bei Inorder-Traversierung als nächstes zu besuchenden Knoten. Der Schlüssel des Nachfolgers ist mindestens so gross wie node.key. Lösung bfragen im ST: Nachfolger (1) Problem Wir suchen den Nachfolger-Knoten von node, also den bei Inorder-Traversierung als nächstes zu besuchenden Knoten. Der Schlüssel des Nachfolgers ist mindestens so gross wie node.key. Lösung Der rechte Teilbaum existiert: Nachfolger ist kleinster Knoten im rechten Teilbaum. node 1 Der rechte Teilbaum existiert: Nachfolger ist kleinster Knoten im rechten Teilbaum. ndernfalls: Nachfolger ist nächster Vorfahre, dessen linker Teilbaum node enthält. node 1 Komplexität: Θ(h) bei aumhöhe h. Der Vorgänger kann analog gefunden werden. DSL/SS 17 VL-10: inäre Suchbäume 19/43 DSL/SS 17 VL-10: inäre Suchbäume 19/43
6 bfragen im ST: Nachfolger (2) Der rechte Teilbaum existiert: Nachfolger ist kleinster Knoten im rechten Teilbaum. ndernfalls: Nachfolger ist nächster Vorfahre, dessen linker Teilbaum node enthält. Ersetzen & ustauschen 1 Node bstsucc ( Node node ) { // node!= null 2 if ( node. right ) { 3 return bstmin ( node. right ); 4 } // bbruch, wenn node nicht mehr rechtes Kind // oder wenn node. parent leer 7 while ( node. parent && node. parent. right == node ) { 8 node = node. parent ; 9 } 10 return node. parent ; 11 } DSL/SS 17 VL-10: inäre Suchbäume /43 DSL/SS 17 VL-10: inäre Suchbäume 21/43 Ersetzen von Teilbäumen im ST ustauschen von Knoten im ST 1 // Ersetzt im aum t den Teilbaum old durch 2 // den Teilbaum node ( ohne Sortierung!) 3 void bstreplace ( Tree t, Node old, Node node ) { 4 if ( node ) { // erlaube node == null! node. parent = old. parent ; } 7 if (! old. parent ) { // war die Wurzel 8 t. root = node ; 9 } else if ( old == old. parent. left ) { 10 // war linkes Kind 11 old. parent. left = node ; 12 } else { // rechtes Kind 13 old. parent. right = node ; 14 } } 1 // Tauscht den Knoten old gegen node aus ; 2 // die Kinder von old sind weiterhin im ST! 3 void bstswap ( Tree t, Node old, Node node ) { 4 // uebernimm linken Teilbaum node. left = old. left ; // auch moeglich : swap () if ( node. left ) { 7 node. left. parent = node ; 8 } 9 // rechten Teilbaum 10 node. right = old. right ; 11 if ( node. right ) { 12 node. right. parent = node ; 13 } 14 // fuege den Knoten ein bstreplace (t, old, node ); 1 } Das Ersetzen eines Teilbaums hat Zeitkomplexität Θ(1). Das ustauschen eines Knotens hat Zeitkomplexität Θ(1). DSL/SS 17 VL-10: inäre Suchbäume 22/43 DSL/SS 17 VL-10: inäre Suchbäume 23/43
7 Löschen im ST: Die beiden einfachen Fälle 1 1 Löschen 10 1 DSL/SS 17 VL-10: inäre Suchbäume 24/43 DSL/SS 17 VL-10: inäre Suchbäume 2/43 Löschen im ST: Der aufwändigere Fall Löschen im ST: Strategie 1 1 Löschen Um Knoten node aus dem ST zu löschen, verfahren wir folgendermassen: Fall 1: node hat keine Kinder: Ersetze im Vaterknoten von node den Zeiger auf node durch null Fall 2: node hat ein Kind: Wir schneiden node aus, indem wir den Vater und das Kind direkt miteinander verbinden (den Teilbaum ersetzen). 1 Fall 3: node hat zwei Kinder: Wir finden den Nachfolger von node, entfernen ihn aus seiner ursprünglichen Position und tauschen node gegen den Nachfolger. Es tritt nur der erste Fall (bstmin(node.right)) aus bstsucc auf. Der gesuchte Nachfolger hat kein linkes Kind. DSL/SS 17 VL-10: inäre Suchbäume 2/43 DSL/SS 17 VL-10: inäre Suchbäume 27/43
8 Löschen im ST: lgorithmus Komplexität der Operationen auf STs 1 // Entfernt node aus dem aum. 2 // Danach kann node ggf. aus Speicher entfernt werden 3 void bstdel ( Tree t, Node node ) { 4 if ( node. left && node. right ) { // zwei Kinder Node tmp = bstmin ( node. right ); bstdel (t, tmp ); // hochstens ein Kind, rechts 7 bstswap (t, node, tmp ); 8 } else if ( node. left ) { // ein Kind, links 9 bstreplace (t, node, node. left ); 10 } else { // ein oder kein Kind ( node. right == null ) 11 bstreplace (t, node, node. right ); 12 } 13 } Operation bstsearch bstsucc bstmin bstins bstdel Zeit Θ(h) Θ(h) Θ(h) Θ(h) Θ(h) lle Operationen sind linear in der Höhe h des STs Die Höhe ist log 2 n, falls der aum nicht allzu unbalanziert ist Ein binärer aum kann mittels Rotationen wieder balanziert werden DSL/SS 17 VL-10: inäre Suchbäume 28/43 DSL/SS 17 VL-10: inäre Suchbäume 29/43 Zufällig erzeugte binäre Suchbäume Zufällig erzeugter ST Ein zufällig erzeugter ST mit n Elementen ist ein ST, der durch das Einfügen von n Schlüsseln in zufälliger Reihenfolge in einen anfangs leeren aum entsteht. nnahme: Jede der n! möglichen Einfügungsordnungen hat gleiche Wahrscheinlichkeit. Rotationen & VL-äume Theorem (ohne eweis) Die erwartete Höhe eines zufällig erzeugten STs mit n Elementen beträgt O(log n). Fazit: Im Schnitt verhält sich ein binärer Suchbaum wie ein (fast) balanzierter Suchbaum. DSL/SS 17 VL-10: inäre Suchbäume 30/43 DSL/SS 17 VL-10: inäre Suchbäume 31/43
9 leftrotate: Konzept und eispiel Rotationen: Eigenschaften und Komplexität 1 leftrotate(1) 2 1 rightrotate(2) 2 1 leftrotate(1) 2 1 rightrotate(2) 2 eispiel 13 leftrotate() Lemma Ein rotierter ST ist wieder ein ST Die Inorder-Traversierung beider äume bleibt unverändert Zeitkomplexität Die Zeitkomplexität für Links- oder Rechtsrotieren ist in Θ(1). DSL/SS 17 VL-10: inäre Suchbäume 32/43 DSL/SS 17 VL-10: inäre Suchbäume 33/43 leftrotate: lgorithmus 1 void leftrotate ( Tree t, Node node1 ) { 2 // voellig analog : rightrotate () 3 Node node2 = node1. right ; 4 // aum verschieben node1. right = node2. left ; if ( node1. right ) { 7 node1. right. parent = node1 ; 8 } 9 // node2 wieder einhaengen 10 node2. parent = node1. parent ; 11 if (! node1. parent ) { // node1 war die Wurzel 12 t. root = node2 ; 13 } else if ( node1 == node1. parent. left ) { 14 node2. parent. left = node2 ; } else { // war rechtes Kind 1 node2. parent. right = node2 ; 17 } 18 // node1 einhaengen 19 node2. left = node1 ; node1. parent = node2 ; 21 } VL-äume Definition: VL-aum Ein VL-aum ist balanzierter ST, bei dem sich für jeden Knoten die Höhen der beiden Teilbäume um höchstens 1 unterscheiden. ei VL-äumen wird Höhe der Teilbäume der Knoten balanziert. Dazu wird (in einem zusätzlichem Datenfeld) in jedem Knoten über die Höhe des Unterbaums uch geführt. Nach jeder Operation wird die alance wiederhergestellt. Dies ist in Θ(h) möglich! Dadurch bleibt stets h Θ(log n), und Θ(log n) kann für alle Operationen auf dem ST garantiert werden. Georgy delson-velsky ( ): Sowjetisch/Israelischer Mathematiker Evgenii Landis ( ): Sowjetischer Mathematiker n algorithm for the organization of information, Proceedings of the USSR cademy of Sciences, 192 DSL/SS 17 VL-10: inäre Suchbäume 34/43 DSL/SS 17 VL-10: inäre Suchbäume 3/43
10 VL-äume: alanzieren nach Einfügen (1) Jeder VL-aum ist (höhen)balanziert. Für alle Knoten x gilt: VL-äume: alanzieren nach Einfügen (2) Sei der tiefste unbalanzierte Knoten auf dem Pfad von Wurzel zum neu eingefügten Knoten (unbalanziert: linke Teilbaumhöhe rechte Teilbaumhöhe = ±2) rechte Teilbaumhöhe linke Teilbaumhöhe 1 }{{} balance(x) RR: Linksrotation auf : Falls wir einen neuen Knoten in den aum einfügen, so kann der aum dadurch unbalanziert werden. Rechter Teilbaum ist größer: Zwei Fälle RR und RL Rechtsrotation auf : Linksrotation auf : Die alance wird dann durch Rotation wieder hergestellt. Einfachrotation, wenn die tieferen lätter außen liegen. RL: Zwei analoge Fälle: Doppelrotation, wenn die tieferen lätter innen liegen. Rechtsrotation auf : Linksrotation auf : DSL/SS 17 VL-10: inäre Suchbäume 3/43 DSL/SS 17 VL-10: inäre Suchbäume 37/43 VL-äume: alanzieren nach Einfügen (3) VL-äume: alanzieren nach Einfügen (4a) Sei der tiefste unbalanzierte Knoten auf dem Pfad von Wurzel zum neu eingefügten Knoten (unbalanziert: linke Teilbaumhöhe rechte Teilbaumhöhe = ±2) Linker Teilbaum ist größer: Zwei Fälle LL und LR LL: Rechtsrotation auf : Linksrotation auf : Rechtsrotation auf : 1 void VLIns ( Tree t, Node node ) { 2 bstins (t, node ); 3 // Node deepestunbalancednode ( Tree t, Node node ) 4 // gibt null zurueck wenn t balanziert ist // und den tiefsten unbalanzierten Knoten in t sonst // ( der Parameter node wird zur effizienten 7 // Implementierung verwendet ) 8 Node = deepestunbalancednode (t, node ); 9 if (!= null ) balance (t, ); 10 } LR: Zwei analoge Fälle: Linksrotation auf : Rechtsrotation auf : DSL/SS 17 VL-10: inäre Suchbäume 38/43 DSL/SS 17 VL-10: inäre Suchbäume 39/43
11 VL-äume: alanzieren nach Einfügen (4b) 1 void balance ( Tree t, Node ){ 2 // ist tiefster unbalanzierter Knoten in t 3 if ( height (. left ) > height (. right )) { 4 if ( height (. left. left ) >= height (. left. right )) {// LL rightrotate (t, ); } else { // LR 7 leftrotate (. left ); rightrotate (); 8 } 9 } else { 10 if ( height (. right. right ) >= height (. right. left )) { 11 // RR 12 leftrotate (t, ); 13 } else { // RL 14 rightrotate (. right ); leftrotate (); } 1 } 17 } VL-äume: alanzieren nach Löschen aumhöhe von nach Rotation = aumhöhe vor Einfügen des neuen Knotens Ergo: Nach alanzieren von ist der gesamte aum wieder balanziert. uch das Löschen eines Knotens kann Unbalanziertheit verursachen: Die alanzierung des tiefsten unbalanzierten Knotens kann auf analoge Weise wie beim Einfügen erreicht werden. ber: der Teilbaum hat danach nicht mehr die gleiche Höhe wie vor dem Löschen (die Höhe ist um 1 kleiner geworden)! Im schlimmsten Fall müssen dann alle unbalanzierten Knoten einzeln balanziert werden. Da aber (1) die alanzierung eines Knotens nur konstanten ufwand erfordert und es (2) nur O(log n) unbalanzierte Knoten geben kann, ist der Gesamtaufwand immer noch logarithmisch. DSL/SS 17 VL-10: inäre Suchbäume 40/43 DSL/SS 17 VL-10: inäre Suchbäume 41/43 VL-äume: alanzieren nach Löschen Organisatorisches 1 void VLDel ( Tree t, Node node ) { 2 bstdel (t, node ); 3 // Node deepestunbalancednode ( Tree t, Node node ) 4 // gibt null zurueck wenn t balanziert ist // und den tiefsten unbalanzierten Knoten in t sonst //( der Parameter node wird zur effizienten 7 // Implementierung verwendet ) 8 Node = deepestunbalancednode (t, node ); 9 while (!= null ) { 10 // bool balanced ( Tree t, Node ) 11 // gibt true zurueck wenn balanziert ist in t 12 // und false sonst 13 if (! balanced (t, )) { 14 balance (t, ); =. parent. parent ; 1 } else { 17 =. parent ; 18 } 19 } } Nächste Vorlesung: Dienstag, Mai 23, 10: 11:4 Uhr, ula 1 Webseite: DSL/SS 17 VL-10: inäre Suchbäume 42/43 DSL/SS 17 VL-10: inäre Suchbäume 43/43
Übersicht. Datenstrukturen und Algorithmen. Übersicht. Motivation. Vorlesung 10: Binäre Suchbäume
Übersicht Datenstrukturen und lgorithmen Vorlesung : Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-/dsal/ 1 Suche Einfügen
MehrVL-11: Rot-Schwarz Bäume. (Datenstrukturen und Algorithmen, SS 2017) Janosch Fuchs
VL-11: Rot-Schwarz Bäume (Datenstrukturen und Algorithmen, SS 2017) Janosch Fuchs SS 2017, RWTH DSAL/SS 2017 VL-11: Rot-Schwarz Bäume 1/41 Organisatorisches Vorlesung: Gerhard Woeginger (Zimmer 4024 im
MehrDatenstrukturen und Algorithmen
Prof. Dr. Erika Ábrahám Datenstrukturen und lgorithmen 1/66 Datenstrukturen und lgorithmen Vorlesung 13: Zusammenfassung der Vorlesungen 9-12 Prof. Dr. Erika Ábrahám Theorie Hybrider Systeme Informatik
MehrSortieren II / HeapSort Heaps
Organisatorisches VL-07: Sortieren II: HeapSort (Datenstrukturen und Algorithmen, SS 2017) Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Email: dsal-i1@algo.rwth-aachen.de Webseite: http://algo.rwth-aachen.de/lehre/ss17/dsa.php
MehrTeil 1: Suchen. Ausgeglichene Bäume B-Bäume Digitale Suchbäume. M.O.Franz, Oktober 2007 Algorithmen und Datenstrukturen - Binärbäume 1-1
Teil : Suchen Problemstellung Elementare Suchverfahren Hashverfahren Binäre Suchbäume (Wiederholung aus Prog 2) Bäume: Begriffe, Eigenschaften und Traversierung Binäre Suchbäume Gefädelte Suchbäume Ausgeglichene
MehrInformatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 10 (27.5.2016) Binäre Suchbäume II Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:
MehrAlgorithmen und Datenstrukturen. Bäume. M. Herpers, Y. Jung, P. Klingebiel
Algorithmen und Datenstrukturen Bäume M. Herpers, Y. Jung, P. Klingebiel 1 Lernziele Baumstrukturen und Ihre Verwendung kennen Grundbegriffe zu Bäumen anwenden können Baumstruktur in C anlegen können Suchbäume
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2016/17 13. Vorlesung Binäre Suchbäume Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Dynamische Menge verwaltet Elemente einer sich ändernden Menge
MehrInformatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 11 (1.6.2016) Binäre Suchbäume III Algorithmen und Komplexität Tiefe eines binären Suchbaums Worst-Case Laufzeit der Operationen in binären
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 11 (4.6.2014) Binäre Suchbäume II Algorithmen und Komplexität Binäre Suchbäume Binäre Suchbäume müssen nicht immer so schön symmetrisch sein
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 - Balancierte Bäume, AVL-Bäume) Prof. Dr. Susanne Albers Balancierte Bäume Eine Klasse von binären Suchbäumen ist balanciert, wenn jede der drei
MehrAlgorithmen und Datenstrukturen 2. Dynamische Datenstrukturen
Algorithmen und Datenstrukturen 2 Dynamische Datenstrukturen Algorithmen für dynamische Datenstrukturen Zugriff auf Variable und Felder durch einen Ausdruck: Namen durch feste Adressen referenziert Anzahl
MehrAnwendungsbeispiel MinHeap
Anwendungsbeispiel MinHeap Uns seien n ganze Zahlen gegeben und wir möchten darin die k größten Zahlen bestimmen; zudem gelten, dass n deutlich größer als k ist Wir können das Problem mit Laufzeit in O(n
Mehr13. Binäre Suchbäume
1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 10 (3.6.2014) Binäre Suchbäume I Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:
Mehr9. Natürliche Suchbäume
Bäume Bäume sind. Natürliche Suchbäume [Ottman/Widmayer, Kap..1, Cormen et al, Kap. 12.1-12.] Verallgemeinerte Listen: Knoten können mehrere Nachfolger haben Spezielle Graphen: Graphen bestehen aus Knoten
Mehr18. Natürliche Suchbäume
Wörterbuchimplementationen 1. Natürliche Suchbäume [Ottman/Widmayer, Kap..1, Cormen et al, Kap. 12.1-12.] Hashing: Implementierung von Wörterbüchern mit erwartet sehr schnellen Zugriffszeiten. Nachteile
MehrSuchstrukturen. Übersicht. 8 Suchstrukturen. Allgemeines. H. Täubig (TUM) GAD SS
Übersicht 8 Suchstrukturen Allgemeines Binäre Suchbäume AVL-Bäume H. Täubig (TUM) GAD SS 14 309 Allgemeines Übersicht 8 Suchstrukturen Allgemeines Binäre Suchbäume AVL-Bäume H. Täubig (TUM) GAD SS 14 310
MehrRotation. y T 3. Abbildung 3.10: Rotation nach rechts (analog links) Doppelrotation y
Die AVL-Eigenschaft soll bei Einfügungen und Streichungen erhalten bleiben. Dafür gibt es zwei mögliche Operationen: -1-2 Rotation Abbildung 3.1: Rotation nach rechts (analog links) -2 +1 z ±1 T 4 Doppelrotation
MehrProgrammiertechnik II
Bäume Symboltabellen Suche nach Werten (items), die unter einem Schlüssel (key) gefunden werden können Bankkonten: Schlüssel ist Kontonummer Flugreservierung: Schlüssel ist Flugnummer, Reservierungsnummer,...
MehrSuchbäume. Suchbäume. Einfügen in Binären Suchbäumen. Suchen in Binären Suchbäumen. Prinzip Suchbaum. Algorithmen und Datenstrukturen
Suchbäume Suchbäume Prinzip Suchbaum Der Wert eines Knotens wird als Schlüssel verstanden Knoten kann auch weitere Daten enthalten, die aber hier nicht weiter betrachtet werden Werte der Schlüssel müssen
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen B7. Balancierte Bäume 1 Marcel Lüthi and Gabriele Röger Universität Basel 13. April 2018 1 Folien basieren auf Vorlesungsfolien von Sedgewick & Wayne https://algs4.cs.princeton.edu/lectures/33balancedsearchtrees-2x2.pdf
MehrUmstrukturierung durch Rotationen
Umstrukturierung durch Rotationen (Folie 109, Seite 52 im Skript) P P T A A D B T B C C D Eine Rechtsrotation um T. Die Suchbaumeigenschaft bleibt erhalten. B, C, D können nur aus externen Knoten bestehen.
MehrÜbersicht. Datenstrukturen und Algorithmen. Übersicht. Heaps. Vorlesung 8: Heapsort (K6) Joost-Pieter Katoen. 7. Mai 2015
Datenstrukturen und Algorithmen Vorlesung 8: (K6) 1 Joost-Pieter Katoen Lehrstuhl für Informatik Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-15/dsal/ 7. Mai 015 3 Joost-Pieter
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 13 (18.6.2014) Binäre Suchbäume IV (Rot Schwarz Bäume) Algorithmen und Komplexität Rot Schwarz Bäume Ziel: Binäre Suchbäume, welche immer
MehrInformatik II, SS 2018
Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 10 (28.5.2018) Binäre Suchbäume II Algorithmen und Komplexität Binäre Suchbäume Binäre Suchbäume müssen nicht immer so schön symmetrisch
MehrMengen. Binäre Suchbäume. Mengen: Anwendungen (II) Mengen: Lösung mit Listen 12/3/12. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps
// Mengen Binäre Suchbäume Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps n Ziel: ufrechterhalten einer Menge (hier: ganzer Zahlen) unter folgenden Operationen: n eines Elements n eines Elements
MehrAufgaben, Hilfestellungen und Musterlösungen zum Modul 5 Druckversion
Abschnitt 1 Aufgaben, Hilfestellungen und Musterlösungen zum Modul 5 Druckversion Aufgabe 1: Binäre Suchbäume: Iteratives Suchen/Einfügen/Löschen Das Material dieser Übung enthält in der Klasse Tree0 die
MehrEinfache binäre Suchbäume können entarten, so dass sich die Tiefen ihrer Blattknoten stark unterscheiden
5.6.2 AVL-Bäume Einfache binäre Suchbäume können entarten, so dass sich die Tiefen ihrer Blattknoten stark unterscheiden AVL-Bäume, benannt nach ihren Erfindern G. M. Adelson- Velskii und E. M. Landis,
MehrBinäre Suchbäume. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps
Binäre Suchbäume Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps Mengen n Ziel: Aufrechterhalten einer Menge (hier: ganzer Zahlen) unter folgenden Operationen: Mengen n Ziel: Aufrechterhalten einer
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 216 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda Vorstellung des 6. Übungsblatts. Hashing Binäre Suchbäume AVL-Bäume 2 Aufgabe: Hashing mit
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Sortierte Folgen Maike Buchin 30.5., 1.6., 13.6.2017 Sortierte Folgen Häufiges Szenario: in einer Menge von Objekten mit Schlüsseln (aus geordnetem Universum) sollen Elemente
MehrDefinition 14 Rot-Schwarz-Bäume sind externe Binärbäume (jeder Knoten hat 0 oder 2 Kinder) mit roten und schwarzen Kanten, so dass gilt:
2.1.2 Rot-Schwarz-Bäume Definition 14 Rot-Schwarz-Bäume sind externe Binärbäume (jeder Knoten hat 0 oder 2 Kinder) mit roten und schwarzen Kanten, so dass gilt: 1 alle Blätter hängen an schwarzen Kanten
MehrElementare Datenstrukturen
Organisatorisches VL-09: Elementare Datenstrukturen (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Sprechstunde: Mittwoch 11:15 12:00 Übungen:
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 Bäume: Grundlagen und natürliche Suchbäume) Prof. Dr. Susanne Albers Bäume (1) Bäume sind verallgemeinerte Listen (jedes Knoten-Element kann mehr
MehrKap. 4.2 Binäre Suchbäume ff Kap. 4.3: AVL-Bäume
Kap. 4.2 Binäre Suchbäume ff Kap. 4.3: AVL-Bäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 12./13. VO DAP2 SS 2009 28.5./2.6.2009 1 Motivation Warum soll
MehrBäume. Text. Prof. Dr. Margarita Esponda SS 2012 O4 O5 O6 O ALP2-Vorlesung, M. Esponda
Bäume O1 O2 Text O3 O4 O5 O6 O7 Prof. Dr. Margarita Esponda SS 2012 22. ALP2-Vorlesung, M. Esponda Inhalt 1. Einführung 2. Warum Bäume? 3. Listen und Arrays vs. Bäume 4. Einfach verkettete binäre Suchbäume
MehrDatenstrukturen und Algorithmen SS17 Lösung - Übung 5
Prof. aa Dr. Ir. G. Woeginger T. Hartmann, D. Korzeniewski, B. Tauer Hausaufgabe (Inorder-Traversierung binärer Suchbäume): (3 + 3 Punkte) Es soll bewiesen werden, dass die Inorder-Traversierung alle Schlüssel
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (22 - AVL-Bäume: Entfernen) Prof. Dr. Susanne Albers Definition von AVL-Bäumen Definition: Ein binärer Suchbaum heißt AVL-Baum oder höhenbalanziert,
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Binärbaum Suchbaum Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 356 Datenstruktur Binärbaum Strukturrepräsentation des mathematischen Konzepts Binärbaum
Mehr7. Sortieren Lernziele. 7. Sortieren
7. Sortieren Lernziele 7. Sortieren Lernziele: Die wichtigsten Sortierverfahren kennen und einsetzen können, Aufwand und weitere Eigenschaften der Sortierverfahren kennen, das Problemlösungsparadigma Teile-und-herrsche
Mehr3. Binäre Suchbäume. 3.1 Natürliche binäre Suchbäume. EADS 3.1 Natürliche binäre Suchbäume 78/598 ľernst W. Mayr
3. Binäre Suchbäume 3.1 Natürliche binäre Suchbäume Definition 18 Ein natürlicher binärer Suchbaum über einem durch total geordneten Universum U ist ein als interner Suchbaum organisierter Binärbaum (also:
MehrB6.1 Introduction. Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B6.1 Introduction. B6.3 Analyse. B6.4 Ordnungsbasierte Methoden
Algorithmen und Datenstrukturen 11. April 2018 B6. Binäre Suchbäume a Algorithmen und Datenstrukturen B6. Binäre Suchbäume 1 Marcel Lüthi and Gabriele Röger Universität Basel 11. April 2018 a Folien basieren
MehrBinäre Suchbäume. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps
Binäre Suchbäume Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps Mengen n Ziel: Aufrechterhalten einer Menge (hier: ganzer Zahlen) unter folgenden Operationen: Mengen n Ziel: Aufrechterhalten einer
MehrAlgorithmen und Datenstrukturen Suchbaum
Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen
MehrAVL-Bäume. (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun. Letzte Änderung: :16. AVL-Bäume 1/38
AVL-Bäume (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun Letzte Änderung: 18.03.2018 18:16 AVL-Bäume 1/38 Balancierte Bäume in einem zufällig erzeugten Binärbaum haben die Algorithmen Suchen,
MehrNatürliche Bäume. (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun. Letzte Änderung: :16. Natürliche Bäume 1/16
Natürliche Bäume (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun Letzte Änderung: 18.03.2018 18:16 Natürliche Bäume 1/16 Bäume Begriffe (1/2) Bäume sind verallgemeinerte Listenstrukturen ein
MehrWiederholung. Datenstrukturen und. Bäume. Wiederholung. Suchen in linearen Feldern VO
Wiederholung Datenstrukturen und Algorithmen VO 708.031 Suchen in linearen Feldern Ohne Vorsortierung: Sequentielle Suche Speicherung nach Zugriffswahrscheinlichkeit Selbstanordnende Felder Mit Vorsortierung:
MehrAlgorithmen und Datenstrukturen I AVL-Bäume
Algorithmen und Datenstrukturen I AVL-Bäume Prof. Dr. Oliver Braun Letzte Änderung: 01.12.2017 14:42 Algorithmen und Datenstrukturen I, AVL-Bäume 1/38 Balancierte Bäume in einem zufällig erzeugten Binärbaum
Mehr2.7 Bucket-Sort Bucket-Sort ist ein nicht-vergleichsbasiertes Sortierverfahren. Hier können z.b. n Schlüssel aus
2.7 Bucket-Sort Bucket-Sort ist ein nicht-vergleichsbasiertes Sortierverfahren. Hier können z.b. n Schlüssel aus {0, 1,..., B 1} d in Zeit O(d(n + B)) sortiert werden, indem sie zuerst gemäß dem letzten
MehrInformatik II Vorlesung am D-BAUG der ETH Zürich
Informatik II Vorlesung am D-BAUG der ETH Zürich Vorlesung 9, 2.5.2016 [Nachtrag zu Vorlesung : Numerische Integration, Zusammenfassung Objektorientierte Programmierung] Dynamische Datenstrukturen II:
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 Bruder-Bäume, B-Bäume) Prof. Dr. Susanne Albers Balancierte Bäume Eine Klasse von binären Suchbäumen ist balanciert, wenn jede der drei Wörterbuchoperationen
MehrTrees. November 14, Algorithms & Datastructures 2 Exercises WT 2017
Trees November 14, 2017 Algorithms & Datastructures 2 Exercises WT 2017 Dipl.-Ing. University Linz, Institute for Pervasive Computing Altenberger Straße 69, A-4040 Linz anzengruber@pervasive.jku.at Binärbaum
MehrKomplexität eines Algorithmus, Grössenordnung, Landau-Symbole, Beispiel einer Komplexitätsberechnung (Mergesort) 7. KOMPLEXITÄT
Komplexität eines Algorithmus, Grössenordnung, Landau-Symbole, Beispiel einer Komplexitätsberechnung (Mergesort) 7. KOMPLEXITÄT Komplexität eines Algorithmus Algorithmen verbrauchen Ressourcen Rechenzeit
MehrTechnische Universität München. Vorlesungsgrobstruktur: wo stehen wir, wie geht s weiter
Vorlesungsgrobstruktur: wo stehen wir, wie geht s weiter Kapitel 7 Fortgeschrittene Datenstrukturen Motivation: Lineare Liste: Suchen eines Elements ist schnell O(log n) Einfügen eines Elements ist langsam
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Balancieren eines Suchbaums Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 396 Baumgestalt vs. Zeitkomplexität Vorteile eines ausgeglichenen binären Suchbaums
MehrTrees. November 13, Algorithms & Datastructures 2 Exercises WT 2017
Trees November 13, 2018 Algorithms & Datastructures 2 Exercises WT 2017 Dipl.-Ing. University Linz, Institute for Pervasive Computing Altenberger Straße 69, A-4040 Linz anzengruber@pervasive.jku.at Binärbaum
MehrGliederung. Algorithmen und Datenstrukturen I. Binäre Bäume: AVL-Bäume. inäre Bäume: AVL Bäume. Abstrakte Datentypen V: AVL Bäume. D.
Gliederung Algorithmen und Datenstrukturen I Abstrakte Datentypen V: D. Rösner Institut für Wissens- und Spracherarbeitung Fakultät für Informatik Otto-on-Guericke Uniersität Magdeburg 1 Einfachrotationen
MehrTeil 1: Suchen. Problemstellung Elementare Suchverfahren Hashverfahren Binäre Suchbäume Ausgeglichene Bäume. B-Bäume Digitale Suchbäume Heaps
Teil 1: Suchen Problemstellung Elementare Suchverfahren Hashverfahren Binäre Suchbäume Ausgeglichene Bäume AVL-Bäume Splay-Bäume B-Bäume Digitale Suchbäume Heaps M.O.Franz; Oktober 2007 Algorithmen und
Mehr14. Rot-Schwarz-Bäume
Bislang: Wörterbuchoperationen bei binären Suchbäume effizient durchführbar, falls Höhe des Baums klein. Rot-Schwarz-Bäume spezielle Suchbäume. Rot-Schwarz-Baum mit n Knoten hat Höhe höchstens 2 log(n+1).
MehrKapitel 9 Suchalgorithmen
Kapitel 9 Suchalgorithmen Suchverfahren: Verfahren, das in einem Suchraum nach Mustern oder Objekten mit bestimmten Eigenschaften sucht. Vielfältige Anwendungsbereiche für Suchverfahren: u.a. Suchen in
Mehr5 Bäume. 5.1 Suchbäume. ein geordneter binärer Wurzelbaum. geordnete Schlüsselwertmenge. heißt (schwach) sortiert, g.d.w. gilt:
5 Bäume 5.1 Suchbäume Sei ein geordneter binärer Wurzelbaum. Sei Abbildung der Knotenmenge eine in eine vollständig geordnete Schlüsselwertmenge. heißt (schwach) sortiert, g.d.w. gilt: Falls sortiert ist,
MehrContainerDatenstrukturen. Große Übung 4
ContainerDatenstrukturen Große Übung 4 Aufgabenstellung Verwalte Kollektion S von n Objekten Grundaufgaben: Iterieren/Auflistung Suche nach Objekt x mit Wert/Schlüssel k Füge ein Objekt x hinzu Entferne
MehrDatenstrukturen und Algorithmen
Datenstrukturen und Algorithmen VO 708.031 Bäume robert.legenstein@igi.tugraz.at 1 Inhalt der Vorlesung 1. Motivation, Einführung, Grundlagen 2. Algorithmische Grundprinzipien 3. Sortierverfahren 4. Halden
Mehr10. Wiederholung Natürliche Suchbäume und Heaps
Wörterbuchimlementationen. Wiederholung Natürliche Suchbäume und Heas [Ottman/Widmayer, Ka..,.1, Cormen et al, Ka. 6, 1.1-1.] Hashing: Imlementierung von Wörterbüchern mit erwartet sehr schnellen Zugriffszeiten.
MehrInformatik II Bäume zum effizienten Information Retrieval
lausthal Informatik II Bäume zum effizienten Information Retrieval. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Binäre Suchbäume (binary search tree, BST) Speichere wieder Daten als "Schlüssel
MehrAlgorithmen und Datenstrukturen Heapsort
Algorithmen und Datenstrukturen 2 5 Heapsort In diesem Kapitel wird Heapsort, ein weiterer Sortieralgorithmus, vorgestellt. Dieser besitzt wie MERGE-SORT eine Laufzeit von O(n log n), sortiert jedoch das
MehrAlgorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B7.1 Einführung. B Bäume. B7.3 Rot-Schwarz Bäume.
B7. Balancierte Bäume a B7. Balancierte Bäume 1 Marcel Lüthi and Gabriele Röger Universität Basel a Folien basieren auf Vorlesungsfolien von Sedgewick & Wayne https://algs4.cs.princeton.edu/lectures/33balancedsearchtrees-2x2.pdf
MehrSatz 172 Jedes vergleichsbasierte Sortierverfahren benötigt im worst-case mindestens n ld n + O(n) Vergleiche und hat damit Laufzeit Ω(n log n).
2.6 Vergleichsbasierte Sortierverfahren Alle bisher betrachteten Sortierverfahren sind vergleichsbasiert, d.h. sie greifen auf Schlüssel k, k (außer in Zuweisungen) nur in Vergleichsoperationen der Form
MehrDatenstrukturen und Algorithmen
Datenstrukturen und Algorithmen VO INF.02031UF (2-4)-Bäume robert.legenstein@igi.tugraz.at 1 7. Bäume Bäume als Datenstruktur Binärbäume Balancierte Bäume (2-4)-Bäume Anwendung: Mischbare Warteschlangen
MehrSuchen und Sortieren Binäre Suchbäume
Löschen (Folie 63, Seite 34 im Skript) In der Klasse Searchtree K, : Java public void delete(k k) { if(root == null) return; if(root.left == null && root.right == null && root.key == k) root = null; else
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 217 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda: Graphen, Suchbäume, AVL Bäume Heute: Graphen und Bäume Binäre Suchbäume AVL-Bäume Nächste
MehrGliederung. 5. Compiler. 6. Sortieren und Suchen. 7. Graphen
5. Compiler Gliederung 1. Struktur eines Compilers 2. Syntaxanalyse durch rekursiven Abstieg 3. Ausnahmebehandlung 4. Arrays und Strings 6. Sortieren und Suchen 1. Grundlegende Datenstrukturen 2. Bäume
MehrAlgorithmen I. Tutorium 1-6. Sitzung. Dennis Felsing
Algorithmen I Tutorium 1-6. Sitzung Dennis Felsing dennis.felsing@student.kit.edu www.stud.uni-karlsruhe.de/~ubcqr/algo 2011-05-23 Überblick 1 Binäre Suchbäume 2 Dennis Felsing Algorithmen I 2/20 Binäre
Mehr1 AVL-Bäume. 1.1 Aufgabentyp. 1.2 Überblick. 1.3 Grundidee
AVL-Bäume. Aufgabentyp Fügen Sie in einen anfangs leeren AVL Baum die folgenden Schlüssel ein:... Wenden Sie hierbei konsequent den Einfüge /Balancierungsalgorithmus an und dokumentieren Sie die ausgeführten
MehrAlgorithmen und Datenstrukturen I Bruder-Bäume
Algorithmen und Datenstrukturen I Bruder-Bäume Prof. Dr. Oliver Braun Letzte Änderung: 11.12.2017 10:50 Algorithmen und Datenstrukturen I, Bruder-Bäume 1/24 Definition ein binärer Baum heißt ein Bruder-Baum,
MehrProgramm heute. Algorithmen und Datenstrukturen (für ET/IT) Suchen. Lineare Suche. Such-Algorithmen. Sommersemester Dr.
Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 0 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Fortgeschrittene Datenstrukturen Such-Algorithmen
MehrDatenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen
Bäume sind verallgemeinerte Listen Datenstrukturen Teil 2 Bäume Jeder Knoten kann mehrere Nachfolger haben Sie sind weiter spezielle Graphen Graphen bestehen aus Knoten und Kanten Kanten können gerichtet
MehrAVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl:
AVL-Bäume Analyse (Folie 85, Seite 39 im Skript) Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl: 0 falls n = 0 F n = 1 falls
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 217 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Graphen und Bäume 2. Binäre Suchbäume 3. AVL-Bäume 4. Algorithmen und Datenstrukturen 2 Agenda
MehrBalancierte Bäume. Minimale Knotenanzahl von AVL-Bäumen. AVL-Bäume. Definition für "balanciert":
Balancierte Bäume Aufwand, ein Element zu finden, entspricht der Tiefe des gefundenen Knotens im worst case = Tiefe des Baumes liegt zwischen log N und N Definition für "balanciert": es gibt verschiedene
MehrAlgorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 9. Vorlesung Peter Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Balancierte Binärbäume Der ausgeglichene binäre Suchbaum verursacht
MehrGrundlagen der Informatik / Algorithmen und Datenstrukturen. Aufgabe 143
Aufgabe 143 Aufgabe 143 Aufgabenstellung Gegeben ist der folgende AVL-Baum: a) Fügen Sie in diesen AVL-Baum nacheinander Knoten mit den Inhalten 34, 42, 1701 und 30 ein. Führen Sie die ggf. notwendigen
MehrProgrammiertechnik II
Bäume Symboltabellen Suche nach Werten (items), die unter einem Schlüssel (key) gefunden werden können Bankkonten: Schlüssel ist Kontonummer Flugreservierung: Schlüssel ist Flugnummer, Reservierungsnummer,...
Mehr13 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang
13 (2-4)-Bäume (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 2. Die Ordnung (maximale Anzahl der Söhne eines Knotens) ist gleich 4 3. Innere Knoten haben 2 Söhne
MehrCopyright, Page 1 of 8 AVL-Baum
www.mathematik-netz.de Copyright, Page 1 of 8 AVL-Baum 1. Motivation und Einleitung Das Suchen, Einfügen und entfernen eines Schlüssels in einem zufällige erzeugten binären Suchbaum mit N Schlüsseln ist
MehrFast Searching / Balanced trees
Fast Searching / Balanced trees November, 8 Algorithms & Datastructures Exercises WS 8 DI -Tanase, DI Stefan Grünberger University Linz, Institute for Pervasive Computing Altenberger Straße 69, A- Linz
MehrSuchen und Sortieren Sortieren. Heaps
Suchen und Heaps (Folie 156, Seite 56 im Skript) Definition Ein Heap ist ein Binärbaum, der die Heapeigenschaft hat (Kinder sind größer als der Vater), bis auf die letzte Ebene vollständig besetzt ist,
MehrAlgorithmen und Datenstrukturen, FS17 Prof Dr Christian Tschudin
Departement Mathematik und Informatik Algorithmen und Datenstrukturen, FS17 Prof Dr Christian Tschudin 5. April 2017 Suchbäume I Andrew D. Booth Algorithmen und Datenstrukturen, FS17 5. April 2017 2 /
MehrMotivation Binäre Suchbäume
Kap..: Binäre Suchbäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund Zusätzliche Lernraumbetreuung Morteza Monemizadeh: Jeden Montag von :00 Uhr-:00 Uhr in
MehrAlgorithmen und Datenstrukturen II
Algorithmen und Datenstrukturen II und Red-Black-Trees Dr. Georg Sauthoff 1 AG Praktische Informatik July 1, SoSe 2011 1 gsauthof@techfak.uni-bielefeld.de Suchbäume (Indexdatenstrukturen) Zugriff in O(logn)
MehrDefinition 15 Rot-Schwarz-Bäume sind externe Binärbäume (jeder Knoten hat 0 oder 2 Kinder) mit roten und schwarzen Kanten, so dass gilt:
2.2 Rot-Schwarz-Bäume Definition 15 Rot-Schwarz-Bäume sind externe Binäräume (jeder Knoten hat 0 oder 2 Kinder) mit roten und schwarzen Kanten, so dass gilt: 1 alle Blätter hängen an schwarzen Kanten (durchgezogene
Mehr7. Dynamische Datenstrukturen Bäume. Informatik II für Verkehrsingenieure
7. Dynamische Datenstrukturen Bäume Informatik II für Verkehrsingenieure Übersicht dynamische Datenstrukturen Wozu? Oft weiß man nicht von Beginn an, wieviele Elemente in einer Datenstruktur untergebracht
Mehr1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie
Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/2, Folie 1 2014 Prof. Steffen Lange - HDa/FbI
MehrAlgorithmen und Datenstrukturen. Kapitel 4: Suchverfahren. Skript zur Vorlesung. Algorithmen und Datenstrukturen
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Algorithmen und Datenstrukturen Kapitel 4: Suchverfahren Skript zur Vorlesung Algorithmen und Datenstrukturen Sommersemester
MehrÜbersicht. Rot-schwarz Bäume. Rot-schwarz Bäume. Beispiel. Eigenschaften. Datenstrukturen & Algorithmen. Rot-schwarz Bäume Eigenschaften Einfügen
Datenstrukturen & Algorithmen Übersicht Rot-schwarz Bäume Eigenschaften Einfügen Matthias Zwicker Universität Bern Frühling 2009 2 Rot-schwarz Bäume Binäre Suchbäume sind nur effizient wenn Höhe des Baumes
MehrDatenstrukturen Teil 3. Traversierung und AVL- Bäume. Traversierung. Traversierung. Traversierung
Traversierung Datenstrukturen Teil 3 Traversierung und AVL- Bäume Traversierung: bezeichnet verschiede Verfahren einer Routenbestimmung durch baumförmige Graphen Dabei wird jeder Knoten und jede Kante
Mehr