6. Binäre Suchbäume. Binäre Suchbäume

Größe: px
Ab Seite anzeigen:

Download "6. Binäre Suchbäume. Binäre Suchbäume"

Transkript

1 6. Binäre Sucbäume Natürlice binäre Sucbäume - Begriffe und Definitionen - Grundoperationen: Einfügen, sequentielle Suce, direkte Suce, öscen - Bestimmung der mittleren Zugriffskosten Balancierte Binärbäume AV-Baum - Einfügen mit otationstypen - öscen mit otationstypen - Höe von AV-Bäumen Gewictsbalancierte Binärbäume Positionssuce mit balancierten Bäumen (ösung des Auswalproblems) (C) Prof. E. am 6 - Binäre Sucbäume Def.: Ein natürlicer binärer Sucbaum B ist ein Binärbaum; er ist entweder leer oder jeder Knoten in B entält einen Sclüssel und: () alle Sclüssel im linken Unterbaum von B sind kleiner als der Sclüssel in der Wurzel von B (2) alle Sclüssel im recten Unterbaum von B sind größer als der Sclüssel in der Wurzel von B (3) die linken und recten Unterbäume von B sind auc binäre Sucbäume. Beispiel: 6 4 Grundoperationen: - Einfügen - direkte Suce - sequentielle Suce - öscen (C) Prof. E. am 6-2

2 Einfügen in binären Sucbäumen Neue Knoten werden immer als Blätter eingefügt y Suce der Einfügeposition: Ausseen des Baumes wird durc die Folge der Einfügungen bestimmt: reienfolgeabängige Struktur n Sclüssel erlauben n! versciedene Sclüsselfolgen Einfüge(x) ==> Einfügereienfolge : Einfügereienfolge 2: KANT, EIBNIZ, HEGE, HUME, OCKE, SOCATES, SPINOZA, DESCATES, CANAP, FEGE, PATON KANT x x < y y x x > y EIBNIZ, DESCATES, CANAP, HUME, SOCATES, FEGE, OCKE, KANT, HEGE, PATON, SPINOZA EIBNIZ DESCATES SOCATES CANAP HUME OCKE SPINOZA FEGE KANT PATON HEGE (C) Prof. E. am 6-3 Einfügen in binären Sucbäumen (2) class BinaryNode { BinaryNode lcild = null; BinaryNode rcild = null; Orderable key = null; /** Konstruktor */ BinaryNode(Orderable key) { tis.key = key; } } public class BinarySearcTree { private BinaryNode root = null;... public void insert(orderable key) trows TreeException { root = insert(root, key); } protected BinaryNode insert(binarynode node, Orderable key) trows TreeException { if (node == null) return new BinaryNode(key); else if (key.less(node.key)) node.lcild = insert(node.lcild, key); else if (key.greater(node.key)) node.rcild = insert(node.rcild, key); else trow new TreeException("Scluessel scon voranden!"); return node; }... } (C) Prof. E. am 6-4

3 Suce in binären Sucbäumen. Sequentielle Suce Einsatz eines Durclauf-Algoritmus (Zwiscenordnung) 2. Direkte Suce: Vorgeensweise wie bei Suce nac Einfügeposition Sucen eines Knotens (rekursive Version): /** ekursive Suce eines Scluessels im Baum */ public boolean searcec (Orderable key) { return searcec(root, key); } /** ekursive Suce eines Scluessels im Teilbaum */ protected boolean searcec (BinaryNode node, Orderable key) { if (node == null) return false; // nict gefunden if (key.less(node.key)) return searcec(node.lcild, key); // suce im linken Teilbaum if (key.greater(node.key)) return searcec(node.rcild, key); // suce im recten Teilbaum return true; // gefunden } (C) Prof. E. am 6-5 Sucen (2) Sucen (iterative Version): public boolean searciter (Orderable key) { BinaryNode node = root; do { if (node == null) return false; // nict gefunden if (key.less(node.key)) node = node.lcild; else if (key.greater(node.key)) node = node.rcild; else return true; } wile (true); } // suce im linken Teilbaum // suce im recten Teilbaum // gefunden (C) Prof. E. am 6-6

4 öscen in binären Sucbäumen öscen ist am kompliziertesten Fall : x ist Blatt y x z y z Fall 2/3: x at leeren linken/recten Unterbaum x z z Fall 4: x at zwei nict-leere Unterbäume Heranzieen des größten Sclüssels im linken Unterbaum (g l ) oder des kleinsten Sclüssels im recten Unterbaum (k r ) y g l x k r - Alternative: Jeder zu löscende Knoten wird speziell markiert; bei Suc- und Einfügevorgängen wird er gesondert beandelt z y k r z (C) Prof. E. am 6-7 öscen in binären Sucbäumen (2) HUME FEGE OCKE DESCATES HEGE KANT SPINOZA PATON CANAP EIBNIZ SOCATES ösce (OCKE) FEGE DESCATES HEGE CANAP ösce (DESCATES) ösce (FEGE) HUME HUME PATON HUME PATON KANT SPINOZA KANT SPINOZA EIBNIZ SOCATES EIBNIZ SOCATES (C) Prof. E. am 6-8

5 Binäre Sucbäume: Zugriffskosten Kostenmaß: Anzal der aufgesucten Knoten bzw. Anzal der benötigten Sucscritte oder Sclüsselvergleice. Kosten der Grundoperationen - sequentielle Suce: - Einfügen, öscen, direkte Suce Bestimmung der mittleren Zugriffskosten (direkte Suckosten) - Mittlere Zugriffskosten z eines Baumes B erält man durc Berecnung seiner gesamten Pfadlänge P als Summe der ängen der Pfade von der Wurzel bis zu jedem Knoten K i. - mit n i = Zal der Knoten auf Stufe i gilt P( B) = i n i und n i = n i = i = - Die mittlere Pfadlänge ergibt sic zu p = P / n - Da bei jedem Zugriff noc auf die Wurzel zugegriffen werden muß, erält man = gesamte Knotenzal z = p + = -- ( i+ ) n n i i = n P( B) = Stufe( K i ) i = Beispiel: 2 3 (C) Prof. E. am 6-9 Binäre Sucbäume: Zugriffskosten (2) Maximale Zugriffskosten - Die längsten Sucpfade und damit die maximalen Zugriffskosten ergeben sic, wenn der binäre Sucbaum zu einer linearen iste entartet Stufe Höe: = l max + = n - Maximale mittlere Zugriffskosten: n ( n + ) ( n + ) z -- max = ( i+ ) n = n = = O( n) 2n 2 i = Minimale (mittlere) Zugriffskosten: können in einer fast vollständigen oder ausgeglicenen Baumstruktur erwartet werden - Gesamtzal der Knoten: 5 2 < n Höe = log 2 n + - Minimale mittlere Zugriffskosten: z min log 2 n (C) Prof. E. am 6 -

6 Binäre Sucbäume: Zugriffskosten (3) Durcscnittlice Zugriffskosten - Extremfälle der mittleren Zugriffskosten sind wenig aussagekräftig: - Wie groß sind z und bei n=, 3, 6 min z max,...? - Differenz der mittleren zu den minimalen Zugriffskosten ist ein Maß für Dringlickeit von Balancierungstecniken Bestimmung der mittleren Zugriffskosten - n versciedene Sclüssel mit den Werten, 2,..., n seien in zufälliger eienfolge gegeben. Die Warsceinlickeit, daß der erste Sclüssel den Wert i besitzt, ist /n (Anname: gleice Zugriffswarsceinlickeit auf alle Knoten) - Für den Baum mit i als Wurzel eralten wir z n () i = -- (( z n i + ) ( i ) + + ( z n i + ) ( n i) ) - Die ekursionsgleicung läßt sic in nict-rekursiver, gesclossener Form mit Hilfe der ar- moniscen Funktion H n = -- darstellen. i i = - Es ergibt sic z n = 2 3 = 2 ln(n) - c. n ( n + ) H n n i i - n - i z i Knoten Knoten z n i z n - elative Merkosten: z n z min 2ln( n) c 2ln( n) c = = 2ln( 2) =,386 log 2 ( n) log 2 ( n) (C) Prof. E. am 6 - Balancierte Binärbäume Der ausgeglicene binäre Sucbaum verursact für alle Grundoperationen die geringsten Kosten Perfekte Balancierung zu jeder Zeit kommt jedoc ser teuer. Einfüge () - In welcem Maße sollen Strukturabweicungen bei Einfügungen und öscungen toleriert werden? Balancierte Bäume - Ziel: scneller direkten Zugriff mit z max O( log 2 n) sowie Einfüge- und öscoperationen mit logaritmiscen Aufwand - Heuristik: für jeden Knoten im Baum soll die Anzal der Knoten in jedem seiner beiden Unterbäume möglicst gleic gealten werden - Zwei untersciedlice Vorgeensweisen: () die zulässige Höendifferenz der beiden Unterbäume ist bescränkt (=> öenbalancierte Bäume) (2) das Verältnis der Knotengewicte der beiden Unterbäume erfüllt gewisse Bedingungen (=> gewictsbalancierte Bäume) (C) Prof. E. am 6-2

7 k-balancierter Binärbaum Def.: Seien (x) und (x) die linken und recten Unterbäume eines Knotens x. Weiterin sei (B) die Höe eines Baumes B. Ein k-balancierter Binärbaum ist entweder leer oder es ist ein Baum, bei dem für jeden Knoten x gilt: B ( l ( x) ) B ( r ( x) ) k k läßt sic als Maß für die zulässige Entartung im Vergleic zur ausgeglicenen Baumstruktur auffassen Prinzip MOSKAU B ( l ( ) ) B ( r ( ) ) = B ( l ( ) ) B ( r ( ) ) = DUBIN B ( l ( ) ) B ( r ( ) ) = B ( l ( MOSKAU) ) B ( r ( MOSKAU) ) = (C) Prof. E. am 6-3 AV-Baum benannt nac russiscen Matematikern: Adelson-Velski und andis Def.: Ein -balancierter Binärbaum eißt AV-Baum -> Balancierungskriterium: B ( l ( x) ) B ( r ( x) ) Konstruktionsprinzip: - und seien AV-Bäume der Höe und. Dann sind die nacfolgend dargestellten Bäume auc AV-Bäume: Sucoperationen wie für allgemeine binäre Sucbäume (C) Prof. E. am 6-4

8 AV-Baum: Wartungsalgoritmen Wann und wo ist das AV-Kriterium beim Einfügen verletzt? - Es kann sic nur die Höe von solcen Unterbäumen verändert aben, deren Wurzeln auf dem Sucpfad von der Wurzel des Baumes zum neu eingefügten Blatt liegen - eorganisationsoperationen lassen sic lokal begrenzen; es sind öcstens Knoten betroffen Def.: Der Balancierungsfaktor BF(x) eines Knotens x ergibt sic zu BF(x) = ( (x)) - ( (x)). Knotendefinition class AVNode { int BF = ; AVNode lcild = null; AVNode rcild = null; Orderable key = null; /** Konstruktor */ AVNode(Orderable key) { tis.key = key; } } (C) Prof. E. am 6-5 Einfügen in AV-Bäumen Sobald ein BF(x) durc eine Einfügung verletzt wird, muß eine ebalancierung des Baumes durc sog. otationen durcgefürt werden. - Ausgangspunkt der otation ist der näeste Vater des neu eingefügten Knotens mit BF = Dieser Knoten dient zur Bestimmung des otationstyps. Er wird durc die von diesem Knoten ausgeende Kantenfolge auf dem Pfad zum neu eingefügten Knoten festgelegt. otationstypen Es treten vier versciedene otationstypen auf. Der neu einzufügende Knoten sei X. Y sei der bezüglic der otation kritisce Knoten - der näeste Vater von X mit BF = + 2. Dann bedeutet: - : X wird im recten Unterbaum des recten Unterbaums von Y eingefügt (inksrotation) - : X wird im linken Unterbaum des linken Unterbaums von Y eingefügt (ectsrotation) - : X wird im linken Unterbaum des recten Unterbaums von Y eingefügt (Doppelrotation) - : X wird im recten Unterbaum des linken Unterbaums von Y eingefügt (Doppelrotation) Die Typen und sowie und sind symmetrisc zueinander. (C) Prof. E. am 6-6

9 Einfügen in AV-Bäumen (2) neuer Sclüssel nac Einfügung nac ebalancierung ectsrotation (C) Prof. E. am 6-7 Einfügen in AV-Bäumen (3) neuer Sclüssel nac Einfügung nac ebalancierung inksrotation Doppelrotation (C) Prof. E. am 6-8

10 Einfügen in AV-Bäumen (3) neuer Sclüssel nac Einfügung nac ebalancierung -2 Doppelrotation (C) Prof. E. am 6-9 Einfügen in AV-Bäumen (4) Balancierter Unterbaum nac Einfügung ebalancierter Unterbaum otationstyp (ectsrotation) B 3 x4 x 2 B 3 x4 +3 B 3 otationstyp (inksrotation) B B 3 B 3 (C) Prof. E. am 6-2

11 Einfügen in AV-Bäumen (5) otationstyp ( ist symmetrisc) Balancierter Unterbaum nac Einfügung ebalancierter Unterbaum B 3l x 3 x4 B 3r B 3l x3 x4 +3 B 3r () B 3l x 3 inksrotation von / x 3 + ectsrotation von / x 3 B 3r x4 +3 () x2 x 3 B 3l x 3 B 3r B 3l B 3r (C) Prof. E. am 6-2 öscen in AV-Bäumen öscen eines Blattes bzw. eines MOSKAU andknotens ( max. Son) ösce () - Höenreduzierung ändert Balancierungsfaktoren der Vaterknoten - ebalancierung für UB der Vorgängerknoten mit BF = +/- 2 TOKIO - ggf. fortgesetzte ebalancierung (nur möglic für Knoten mit BF = +/- 2 auf dem Weg vom zu löscenden Element zur Wurzel) öscen eines Knotens (Sclüssel x) mit 2 Sönen kann auf öscen für Blatt/andknoten zurückgefürt werden - x wird ersetzt durc kleinsten Sclüssel y im recten Unterbaumbaum von x (oder größten Sclüssel im linken Unterbaum) - fürt zur Änderung des Balancierungsfaktors für v (Höe des linken Unterbaums von v at sic um reduziert) y x v z y v z v v (C) Prof. E. am 6-22

12 öscen in AV-Bäumen (2) Bis auf Symmetrie treten nur 3 Fälle auf: Fall : öscen in v In diesem Fall pflanzt sic Höenerniedrigung nict fort, da in der Wurzel das AV-Kriterium erfüllt bleibt. -> kein ebalancieren erforderlic. Fall 2: öscen in Die Höenerniedrigung von pflanzt sic ier zur Wurzel in fort. Sie kann auf diesem Pfad eine ebalancierung auslösen. Fall 3: öscen in -2 Für die Beandlung dieser Situation ist der linke Unterbaum in größerem Detail zu betracten. Dabei ergeben sic die 3 Unterfälle: (C) Prof. E. am 6-23 öscen in AV-Bäumen (3) Fall 3a: x4-2 B 3-2 B 3 - ectsrotation fürt zur Erfüllung des AV-Kriteriums - Unterbaum beält ursprünglice Höe - keine weiteren ebalancierungen erforderlic Fall 3b: x4-2 B B ectsrotation reduziert Höe des gesamten UB von nac - Höenreduzierung pflanzt sic auf dem Pfad zur Wurzel in fort und kann zu weiteren ebalancierungen füren. (C) Prof. E. am 6-24

13 öscen in AV-Bäumen (5) Fall 3c: x6-2 x 6-2 B B 3 B B Doppelrotation (-> Höenerniedrigung) - ggf. fortgesetzte ebalancierungen (C) Prof. E. am 6-25 öscen in AV-Bäumen (6) ebalancierungsscritte beim öscen:. Suce im öscpfad näesten Vater mit BF = Füre otation im gegenüberliegenden Unterbaum dieses Vaters aus. Im Gegensatz zum Einfügevorgang kann ier eine otation wiederum eine ebalancierung auf dem Pfad zur Wurzel auslösen, da sie in gewissen Fällen auf eine Höenerniedrigung des transformierten Unterbaums fürt. Die Anzal der ebalancierungsscritte ist jedoc durc die Höe des Baums begrenzt Beispiel-öscvorgang: MOSKAU TOKIO ösce () MOSKAU TOKIO MADID MADID (C) Prof. E. am 6-26

14 MOSKAU TOKIO MADID MOSKAU MADID TOKIO (C) Prof. E. am 6-27 Höe von AV-Bäumen Balancierte Bäume wurden als Kompromiß zwiscen ausgeglicenen und natürlicen Sucbäumen eingefürt, wobei logaritmiscer Sucaufwand im sclectesten Fall gefordert wurde Für die Höe b eines AV-Baumes mit n Knoten gilt: log 2 ( n) + b,44 log 2 ( n + ) - Die obere Scranke läßt sic durc sog. Fibonacci-Bäume, eine Unterklasse der AV-Bäume, erleiten. Definition für Fibonacci-Bäume (Konstruktionsvorscrift) - Der leere Baum ist ein Fibonacci-Baum der Höe. - Ein einzelner Knoten ist ein Fibonacci- Baum der Höe. - Sind B und B -2 Fibonacci-Bäume der Höe und -2, so ist B = B, xb, 2 ein Fibonacci-Baum der Höe - Keine anderen Bäume sind Fibonacci- Bäume B B 2 B 3 B 4 n = n = n 2 =2 n 3 =4 n 4 =7 n 5 =2 (C) Prof. E. am 6-28

15 Gewictsbalancierte Sucbäume Gewictsbalancierte oder BB-Bäume (bounded balance) Zulässige Abweicung der Struktur vom ausgeglicenen Binärbaum wird als Differenz zwiscen der Anzal der Knoten im recten und linken Unterbaum festgelegt Def.: Sei B ein binärer Sucbaum mit linkem Unterbaum und sei n (n l ) die Anzal der Knoten in B ( ). - ρ(b) = (n l )/(n) eißt die Wurzelbalance von B. - Ein Baum B eißt gewictsbalanciert (BB(α)) oder von bescränkter Balance α, wenn für jeden Unterbaum B von B gilt: α <= ρ (B ) <= - α B K B at n Knoten at n l Knoten (C) Prof. E. am 6-29 Gewictsbalancierte Sucbäume (2) Parameter α als Freieitsgrad im Baum - α = /2: Balancierungskriterium akzeptiert nur vollständige Binärbäume - α < /2: Strukturbescränkung wird zunemend gelockert Welce Auswirkungen at die ockerung des Balancierungskriteriums auf die Kosten? Beispiel: Gewictsbalancierter Baum in BB (α) für α = 3 / JUPITE MAS PUTO ebalancierung - ist gewärleistet durc eine Wal von α <= - 2 /2 - Einsatz derselben otationstypen wie beim AV-Baum EDE NEPTUN MEKU SATUN UANUS VENUS Kosten für Suce und Aktualisierung: O (log 2 n) (C) Prof. E. am 6-3

16 Positionssuce mit balancierten Bäumen Balancierte Sucbäume - sind linearen isten in fast allen Grundoperationen überlegen - ösung des Auswalproblems bzw. Positionssuce (Suce nac k-tem Element der Sortierreienfolge) kann jedoc noc verbessert werden Def.: Der ang eines Knotens ist die um eröte Anzal der Knoten seines linken Unterbaums - Blattknoten aben ang Verbesserung bei Positionssuce durc Auf- NIOB name des angs in jedem Knoten EISEN ZINK Beispiel für AV- Baum: ASEN A- GON B CHO BEI JOD FUO SEEN NEON XENON ZINN (C) Prof. E. am 6-3 Positionssuce (2) angzalen erlauben Bestimmung eines direkten Sucpfads im Baum für Positionssuce nac dem k-ten Element - Position p := k; beginne Suce am Wurzelknoten - Wenn ang r eines Knotens = p gilt: Element gefunden - falls r > p, suce im linken UB des Knotens weiter - r < p => p := p - r und Fortsetzung der Suce im recten UB Wartungsoperationen etwas komplexer Änderung im linken Unterbaum erfordert anganpassung aller betroffenen Väter bis zur Wurzel (C) Prof. E. am 6-32

17 Zusammenfassung Binäre Sucbäume - Einfügen / direkte Suce durc Baumdurcgang auf einem Pfad - eienfolgeabängigkeit bezüglic Einfügeoperationen - sequentielle Suce / sortierte Ausgabe aller Elemente: Inorder-Baumtraversierung ( O (n)) - minimale Zugriffskosten der direkten Suce O (log n); mittlere Kosten Faktor,39 sclecter Balancierte Sucbäume zur Sicerstelleung günstiger Zugriffskosten - öenbalancierte Bäume (z.b. k-balancierte Binärbäume) - gewictsbalancierte Bäume (BB-Bäume) AV-Baum: -balancierter Binärbaum - Mitfüren eines Balancierungsfaktors B in Baumknoten (zulässige Werte:,, oder ) - dynamisce ebalancierung bei Einfüge- und öscoperationen (Falluntersceidungen mit untersciedlicen otationen) - Anzal der ebalancierungsscritte durc Höe des Baumes begrenzt - maximale Höe für Fibonacci-Bäume:,44 log (n) scnelle Positionssuce über Mitfüren des angs von Knoten (C) Prof. E. am 6-33 Zusammenfassung: istenoperationen auf versciedenen Datenstrukturen Operation sequent. iste gekettete iste balancierter Baum mit ang Suce von K i Suce nac k-tem Element Einfügen von K i öscen von K i öscen von k-tem Element sequentielle Suce (C) Prof. E. am 6-34

Binäre Suchbäume. 6. Binäre Suchbäume. Einfügen in binären Suchbäumen

Binäre Suchbäume. 6. Binäre Suchbäume. Einfügen in binären Suchbäumen 6. Binäre Sucbäume Natürlice binäre Sucbäume - Begriffe und Definitionen - Grundoperationen: Einfügen, sequentielle Suce, direkte Suce, öscen - Bestimmung der mittleren Zugriffskosten Balancierte Binärbäume

Mehr

Algorithmen und Datenstrukturen 1

Algorithmen 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

Mehr

ADS 1: Algorithmen und Datenstrukturen

ADS 1: Algorithmen und Datenstrukturen ADS 1: Algorithmen und Datenstrukturen Teil IX Uwe Quasthoff Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 1 Dezember 017 [Letzte Aktualisierung: 04/1/017, 10:56]

Mehr

RWTH Aachen, Lehrstuhl für Informatik IX Kapitel 3: Suchen in Mengen - Datenstrukturen und Algorithmen - 51

RWTH Aachen, Lehrstuhl für Informatik IX Kapitel 3: Suchen in Mengen - Datenstrukturen und Algorithmen - 51 RWTH Aacen, Lerstul für Informatik IX Kapitel 3: Sucen in Mengen - Datenstrukturen und Algoritmen - 51 Sucbäume Biser betractete Algoritmen für Suce in Mengen Sortierte Arrays A B C D - Nur sinnvoll für

Mehr

Algorithmen und Datenstrukturen 1

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen 1 8. Vorlesung Martin Middendorf und Peter F. Stadler Universität Leipzig Institut für Informatik middendorf@informatik.uni-leipzig.de studla@bioinf.uni-leipzig.de Gefädelte

Mehr

Wiederholung. Bäume sind zyklenfrei. Rekursive Definition: Baum = Wurzelknoten + disjunkte Menge von Kindbäumen.

Wiederholung. Bäume sind zyklenfrei. Rekursive Definition: Baum = Wurzelknoten + disjunkte Menge von Kindbäumen. Wiederholung Baum: Gerichteter Graph, der die folgenden drei Bedingungen erfüllt: Es gibt einen Knoten, der nicht Endknoten einer Kante ist. (Dieser Knoten heißt Wurzel des Baums.) Jeder andere Knoten

Mehr

Datenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen

Datenstrukturen 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

Mehr

Rotation. y T 3. Abbildung 3.10: Rotation nach rechts (analog links) Doppelrotation y

Rotation. 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

Mehr

4.3 Bäume. Definition des Baumes. Bäume sind eine sehr wichtige Datenstruktur der Informatik.

4.3 Bäume. Definition des Baumes. Bäume sind eine sehr wichtige Datenstruktur der Informatik. 4.3 Bäume Bäume sind eine sehr wichtige Datenstruktur der Informatik. Definition des Baumes Ein Baum besteht aus einer nichtleeren Menge von Knoten und einer Menge von Kanten. Jede Kante verbindet genau

Mehr

Bäume. Text. Prof. Dr. Margarita Esponda SS 2012 O4 O5 O6 O ALP2-Vorlesung, M. Esponda

Bä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

Mehr

Algorithmen und Datenstrukturen 1-5. Seminar -

Algorithmen und Datenstrukturen 1-5. Seminar - Algorithmen und Datenstrukturen 1-5. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Wintersemester 2009/10 Outline 5.+6. Übungsserie: 5 Aufgaben, insgesamt 40 Punkte A17 Baum-Traversierung

Mehr

Algorithmen und Datenstrukturen 1

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen 1 7. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@informatik.uni-leipzig.de aufbauend auf den Kursen der letzten Jahre von E. Rahm, G. Heyer,

Mehr

13. Bäume: effektives Suchen und Sortieren

13. Bäume: effektives Suchen und Sortieren Schwerpunkte Aufgabe und Vorteile von Bäumen 13. Bäume: effektives Suchen und Sortieren Java-Beispiele: Baum.java Traverse.java TraverseTest.java Sortieren mit Bäumen Ausgabealgorithmen: - Preorder - Postorder

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung 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

Mehr

Algorithmen und Datenstrukturen 2. Dynamische Datenstrukturen

Algorithmen 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

Mehr

Software Entwicklung 1

Software Entwicklung 1 Software Entwicklung 1 Annette Bieniusa AG Softech FB Informatik TU Kaiserslautern Lernziele Die Definition wichtiger Begriffe im Zusammenhand mit Bäumen zu kennen. Markierte Bäumen, insbesondere Suchbäume,

Mehr

Technische Universität München. Vorlesungsgrobstruktur: wo stehen wir, wie geht s weiter

Technische 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

Mehr

Übersicht. Einführung Universelles Hashing Perfektes Hashing

Übersicht. Einführung Universelles Hashing Perfektes Hashing Hasing Übersict Einfürung Universelles Hasing Perfektes Hasing 2 Das Wörterbuc-Problem Gegeben: Universum U = [0 N-1], wobei N eine natürlice Zal ist. Ziel: Verwalte Menge S U mit folgenden Operationen.

Mehr

Kapitel 12: Induktive

Kapitel 12: Induktive Kapitel 12: Induktive Datenstrukturen Felix Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung Praktische Informatik I im Herbstsemester 2009 Folien nach einer Vorlage von H.-Peter

Mehr

Vorlesung Datenstrukturen

Vorlesung 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

Mehr

3.8 Bäume. Definition des Baumes

3.8 Bäume. Definition des Baumes 3.8 Bäume Definition des Baumes Ein Baum besteht aus einer nichtleeren Menge von Knoten und einer Menge von Kanten. Jede Kante verbindet genau zwei Knoten. Die Knoten (nodes) enthalten Datenelemente. Die

Mehr

Teil 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 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

Mehr

Informatik II Prüfungsvorbereitungskurs

Informatik II Prüfungsvorbereitungskurs Informatik II Prüfungsvorbereitungskurs Tag 4, 23.6.2016 Giuseppe Accaputo g@accaputo.ch 1 Programm für heute Repetition Datenstrukturen Unter anderem Fragen von gestern Point-in-Polygon Algorithmus Shortest

Mehr

Suchstrukturen. Übersicht. 8 Suchstrukturen. Allgemeines. H. Täubig (TUM) GAD SS

Suchstrukturen. Ü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

Mehr

Übung 4: Die generische Klasse AvlBaum in Java 1

Übung 4: Die generische Klasse AvlBaum in Java 1 Übung 4: Die generische Klasse AvlBaum in Java 1 Ein binärer Suchbaum hat die AVL -Eigenschaft, wenn sich in jedem Knoten sich die Höhen der beiden Teilbäume höchstens um 1 unterscheiden. Diese Last (

Mehr

Balancierte Bäume. Minimale Knotenanzahl von AVL-Bäumen. AVL-Bäume. Definition für "balanciert":

Balancierte 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

Mehr

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v)

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v) Ein Baum T mit Knotengraden 2, dessen Knoten Schlüssel aus einer total geordneten Menge speichern, ist ein binärer Suchbaum (BST), wenn für jeden inneren Knoten v von T die Suchbaumeigenschaft gilt: Der

Mehr

Wünschenswerte Eigenschaft von Suchbäumen mit n Knoten: Suchen, Einfügen, Löschen auch im schlechtesten Fall O(log n)

Wünschenswerte Eigenschaft von Suchbäumen mit n Knoten: Suchen, Einfügen, Löschen auch im schlechtesten Fall O(log n) .6 Ausgeglichene Mehrweg-Suchbäume Wünschenswerte Eigenschaft von Suchbäumen mit n Knoten: Suchen, Einfügen, Löschen auch im schlechtesten Fall O(log n) Methoden: lokale Transformationen (AVL-Baum) Stochastische

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & 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

Mehr

Übung Datenstrukturen. Bäume

Übung Datenstrukturen. Bäume Übung Datenstrukturen Bäume Übung Binärbaum 7 2 10 1 3 5 9 34 8 7 11 13 17 7 25 19 3 Aufgabe 1 Geben Sie die Reihenfolge der besuchten Knoten nach Prä-, In-, Post- und Levelorder an! Übung Binärbaum Aufgabe

Mehr

368 4 Algorithmen und Datenstrukturen

368 4 Algorithmen und Datenstrukturen Kap04.fm Seite 368 Dienstag, 7. September 2010 1:51 13 368 4 Algorithmen und Datenstrukturen Java-Klassen Die ist die Klasse Object, ein Pfeil von Klasse A nach Klasse B bedeutet Bextends A, d.h. B ist

Mehr

Algorithmen und Datenstrukturen Suchbaum

Algorithmen 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

Mehr

Informatik II Prüfungsvorbereitungskurs

Informatik II Prüfungsvorbereitungskurs Informatik II Prüfungsvorbereitungskurs Tag 4, 9.6.2017 Giuseppe Accaputo g@accaputo.ch 1 Aufbau des PVK Tag 1: Java Teil 1 Tag 2: Java Teil 2 Tag 3: Algorithmen & Komplexität Tag 4: Dynamische Datenstrukturen,

Mehr

ADS: Algorithmen und Datenstrukturen

ADS: Algorithmen und Datenstrukturen ADS: Algorithmen und Datenstrukturen Teil VII Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig 08.

Mehr

Linear. Halbkreis. Parabel

Linear. Halbkreis. Parabel Vom Parabolspiegel zur Ableitungsfunktion Im Folgenden get es darum erauszufinden, was ein Parabolspiegel ist und wie er funktioniert. Das fürt uns auf wictige Fragen eines Teilgebietes der Matematik,

Mehr

Algorithmen und Datenstrukturen 1

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen 1 10. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Suchverfahren für große Datenmengen bisher betrachtete Datenstrukturen

Mehr

Informatik II Vorlesung am D-BAUG der ETH Zürich

Informatik 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:

Mehr

9.4 Binäre Suchbäume. Xiaoyi Jiang Informatik II Datenstrukturen und Algorithmen

9.4 Binäre Suchbäume. Xiaoyi Jiang Informatik II Datenstrukturen und Algorithmen 9.4 Binäre Suchbäume Erweiterung: Einfügen an der Wurzel Standardimplementierung: Der neue Schlüssel wird am Ende des Suchpfades angefügt (natürlich, weil zuerst festgestellt werden muss, ob der Schlüssel

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung 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

Mehr

Datenstruktur Baum Software Entwicklung 1

Datenstruktur Baum Software Entwicklung 1 Datenstruktur Baum Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller Bäume gehören zu den wichtigsten in der Informatik auftretenden Datenstrukturen. [Ottmann, Widmayer: Algorithmen

Mehr

Bäume. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 10: Collections 4. Inhalt. Bäume. Einführung. Bäume.

Bäume. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 10: Collections 4. Inhalt. Bäume. Einführung. Bäume. Universität Osnabrück 1 Bäume 3 - Objektorientierte Programmierung in Java Vorlesung 10: Collections 4 Einführung Bäume sind verallgemeinerte Listenstrukturen Lineare Liste Jedes Element hat höchstens

Mehr

Programmiertechnik II

Programmiertechnik 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,...

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

Geordnete Binärbäume

Geordnete Binärbäume Geordnete Binärbäume Prof. Dr. Martin Wirsing in Zusammenarbeit mit Gilbert Beyer und Christian Kroiß http://www.pst.ifi.lmu.de/lehre/wise-09-10/infoeinf/ WS 09/10 Einführung in die Informatik: Programmierung

Mehr

6. Die Exponentialfunktionen (und Logarithmen).

6. Die Exponentialfunktionen (und Logarithmen). 6- Funktionen 6 Die Eponentialfunktionen (und Logaritmen) Eine ganz wictige Klasse von Funktionen f : R R bilden die Eponentialfunktionen f() = c ep( ) = c e, ier sind, c feste reelle Zalen (um Trivialfälle

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Übung 3: Die generische Klasse BinärerSuchbaum in Java 1 Datenelemente der Klasse BinaererSuchbaum Das einzige Datenelelement in dieser Klasse ist die Wurzel vom Typ BinaerBaumknoten. Die Klasse BinaerBaumknoten

Mehr

Abschnitt 18: Effizientes Suchen in Mengen

Abschnitt 18: Effizientes Suchen in Mengen Abschnitt 18: Effizientes Suchen in Mengen 18. Effizientes Suchen in Mengen 18.1 Vollständig ausgeglichene binäre Suchbäume 18.2 AVL-Bäume 18.3 Operationen auf AVL-Bäumen 18.4 Zusammenfassung 18 Effizientes

Mehr

Suchbäume balancieren

Suchbäume balancieren Suchbäume balancieren Perfekte Balance: schwer aufrechtzuerhalten Flexible Höhe O(log n): balancierte binäre Suchbäume. Nicht hier (Variantenzoo). Flexibler Knotengrad: (a,b)-bäume. Grad zwischen a und

Mehr

Gliederung. 5. Compiler. 6. Sortieren und Suchen. 7. Graphen

Gliederung. 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

Mehr

Motivation Binäre Suchbäume

Motivation 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

Mehr

Kap. 4.2: Binäre Suchbäume

Kap. 4.2: Binäre Suchbäume Kap. 4.2: Binäre Suchbäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 11. VO DAP2 SS 2009 26. Mai 2009 1 Zusätzliche Lernraumbetreuung Morteza Monemizadeh:

Mehr

3. 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. 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:

Mehr

Algorithmen und Datenstrukturen Balancierte Suchbäume

Algorithmen und Datenstrukturen Balancierte Suchbäume Algorithmen und Datenstrukturen Balancierte Suchbäume Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Einführung Einfügen und Löschen Einfügen

Mehr

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Motivation. Vorlesung 10: Binäre Suchbäume

Ü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

Mehr

Informatik Abitur Bayern 2017 / II - Lösung

Informatik Abitur Bayern 2017 / II - Lösung Informatik Abitur Bayern 2017 / II - Lösung Autoren: Wolf (1) Wagner (2) Scharnagl (3-5) 1a 5 1b Diese Methode vergleicht den Namen des Interpreten eines jeden Elements der Liste mit dem gegebenen Namen.

Mehr

7 Weitere Baumstrukturen und Heapstrukturen

7 Weitere Baumstrukturen und Heapstrukturen 7 Weitere Baumstrukturen und Heapstrukturen Man kann kurze Suchzeiten in Baumstrukturen erreichen durch Rebalancierung bei Einfügungen und Löschungen (AVL Bäume, gewichtsbalancierte Bäume, Bruderbäume,

Mehr

EINI LogWing/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 17/18

EINI LogWing/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 17/18 EINI LogWing/ Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 17/18 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de

Mehr

Algorithmen und Datenstrukturen I Bruder-Bäume

Algorithmen 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,

Mehr

Einführung in die Informatik 2

Einführung in die Informatik 2 Einführung in die Informatik 2 Listen & Bäume Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 SvenKosub@uni-konstanzde Sprechstunde: Freitag, 14:00-15:00 Uhr, onv Sommersemester

Mehr

Datenstruktur Baum und Rekursion Software Entwicklung 1

Datenstruktur Baum und Rekursion Software Entwicklung 1 Datenstruktur Baum und Rekursion Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller 1 Datenstruktur Baum Bäume gehören zu den wichtigsten in der Informatik auftretenden Datenstrukturen.

Mehr

Algorithmen und Datenstrukturen I AVL-Bäume

Algorithmen 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

Mehr

Übung Algorithmen und Datenstrukturen

Ü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

Mehr

Vorlesung Datenstrukturen

Vorlesung 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

Mehr

1 AVL-Bäume. 1.1 Aufgabentyp. 1.2 Überblick. 1.3 Grundidee

1 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

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen 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

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 14. Bäume. Bäume 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 14. Bäume. Bäume 1 Kapitel 14 Bäume Bäume 1 Ziele Den Begriff des Baums in der Informatik kennenlernen Bäume als verkettete Datenstruktur repräsentieren können Rekursive Funktionen auf Bäumen verstehen und schreiben können

Mehr

Tutoraufgabe 1 (2 3 4 Bäume):

Tutoraufgabe 1 (2 3 4 Bäume): Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS Lösung - Übung F. Corzilius, S. Schupp, T. Ströder Tutoraufgabe ( Bäume): a) Löschen Sie den Wert aus dem folgenden Baum und geben Sie den dabei

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen 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

Mehr

Balancierte Binär- und B-Bäume

Balancierte Binär- und B-Bäume Balancierte Binär- und B-Bäume Sie kennen die Kriterien um die Ausgeglichenheit von Binär- Bäumen zu bestimmen Sie wissen, was B-Bäume und rot-schwarz Bäume sind und wie man sie ausgleicht Suchen und Tiefe

Mehr

AVL-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. 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

Mathematik für Chemiker I

Mathematik für Chemiker I Universität D U I S B U R G E S S E N Campus Essen, Matematik PD Dr. L. Strüngmann WS 007/08 Übungsmaterial sowie andere Informationen zur Veranstaltung unter: ttp://www.uni-due.de/algebra-logic/struengmann.stml

Mehr

Algorithmik II. a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge 20, 28, 35, 31, 9, 4, 13, 17, 37, 25 ein.

Algorithmik II. a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge 20, 28, 35, 31, 9, 4, 13, 17, 37, 25 ein. Aufgabe 10 Binäre Bäume a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge, 28, 35, 31, 9, 4,, 17, 37, 25 ein. 1. Einfügen von : 3. Einfugen von 35: 2. Einfügen von 28: 28 28 10. Einfügen

Mehr

Algorithmen und Datenstrukturen

Algorithmen 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

Mehr

0.1. Lösung der Aufgabe 1. Nehme an, wir ( hätten ) die Aufgabe, n Personen aus 2n

0.1. Lösung der Aufgabe 1. Nehme an, wir ( hätten ) die Aufgabe, n Personen aus 2n .. Lösung der Aufgabe. Neme an, wir ätten die Aufgabe, n Personen aus n n Personen auszuwälen. Dafür gibt es natürlic Möglickeiten. Wir können aber n auc wie folgt verfaren. Teilen wir die n Personen auf

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 6 Suchbäume Version vom 25. November 2016 1 / 75 Vorlesung 10 22. November 2016 2

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung 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

Mehr

Aufgaben und Lösungen Ausarbeitung der Übungsstunde zur Vorlesung Analysis I

Aufgaben und Lösungen Ausarbeitung der Übungsstunde zur Vorlesung Analysis I Aufgaben und en Ausarbeitung der Übungsstunde zur Vorlesung Analysis I Wintersemester 008/009 Anweseneitsaufgaben Übung 4 Einleitung Es soll darauf ingewiesen werden, daß es in der Woce vor der Klausur

Mehr

Humboldt-Universität zu Berlin Berlin, den Institut für Informatik

Humboldt-Universität zu Berlin Berlin, den Institut für Informatik Humboldt-Universität zu Berlin Berlin, den 15.06.2015 Institut für Informatik Prof. Dr. Ulf Leser Übungen zur Vorlesung M. Bux, B. Grußien, J. Sürmeli, S. Wandelt Algorithmen und Datenstrukturen Übungsblatt

Mehr

Differentialrechnung. Kapitel 7. Differenzenquotient. Graphische Interpretation des Differentialquotienten. Differentialquotient

Differentialrechnung. Kapitel 7. Differenzenquotient. Graphische Interpretation des Differentialquotienten. Differentialquotient Differenzenquotient Sei f : R R eine Funktion. Der Quotient Kapitel 7 Differentialrecnung f f 0 + f 0 f f 0 0 eißt Differenzenquotient an der Stelle 0. f, f Sekante 0, f 0 f 0 Josef Leydold Matematik für

Mehr

Binärbäume: Beispiel

Binärbäume: Beispiel Binärbäume Als Beispiel für eine interessantere dynamische Datenstruktur sehen wir uns jetzt Binärbäume an Ein Binärbaum wird rekursiv definiert: Er ist leer oder besteht aus einem Knoten (die Wurzel des

Mehr

Wintersemester 2007/2008 Helmut Seidl Institut für Informatik TU München

Wintersemester 2007/2008 Helmut Seidl Institut für Informatik TU München Informatik 1 Wintersemester 2007/2008 Helmut Seidl Institut für Informatik TU München 1 Anwendung: Schreibtisch Operation: insert(task) 2 Anwendung: Schreibtisch An uns wird Arbeit delegiert... Operation:

Mehr

9 Anhang. 9.1 Verhältnisgleichungen. 9.2 Strahlensätze. Elemente der Geometrie 22

9 Anhang. 9.1 Verhältnisgleichungen. 9.2 Strahlensätze. Elemente der Geometrie 22 Elemente der Geometrie 9 Anang 9.1 Verältnisgleicungen Verältnisgleicungen sind spezielle Formen von Gleicungen. Es a werden zwei Quotienten gleic gesetzt. Die Gleicung! b = c d kann man auc screiben als!a:b

Mehr

Balancierte Suchbäume

Balancierte Suchbäume Foliensatz 10 Michael Brinkmeier echnische Universität Ilmenau Institut für heoretische Informatik Sommersemester 2009 U Ilmenau Seite 1 / 74 Balancierte Suchbäume U Ilmenau Seite 2 / 74 Balancierte Suchbäume

Mehr

Binä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 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

13. Binäre Suchbäume

13. 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),

Mehr

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element

Mehr

Vorlesung Datenstrukturen

Vorlesung 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

Mehr

VORKURS MATHEMATIK DRAISMA JAN, ÜBERARBEITET VON BÜHLER IRMGARD UND TURI LUCA

VORKURS MATHEMATIK DRAISMA JAN, ÜBERARBEITET VON BÜHLER IRMGARD UND TURI LUCA VORKURS MATHEMATIK DRAISMA JAN, ÜBERARBEITET VON BÜHLER IRMGARD UND TURI LUCA Mittwoc: Ableiten, Kurvendiskussionen, Optimieren, Folgen und Reien Betracte auf einem Hügel einen Weg, dessen Seitenansict

Mehr

Logische Datenstrukturen

Logische Datenstrukturen Lineare Listen Stapel, Warteschlangen Binärbäume Seite 1 Lineare Liste Begriffe first Funktion: sequentielle Verkettung von Datensätzen Ordnungsprinzip: Schlüssel Begriffe: first - Anker, Wurzel; Adresse

Mehr

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen Was bisher geschah abstrakter Datentyp : Signatur Σ und Axiome Φ z.b. ADT Menge zur Verwaltung (Finden, Einfügen, Entfernen) mehrerer Elemente desselben Typs Spezifikation einer Schnittstelle Konkreter

Mehr

Mehrwegbäume Motivation

Mehrwegbäume Motivation Mehrwegbäume Motivation Wir haben gute Strukturen (AVL-Bäume) kennen gelernt, die die Anzahl der Operationen begrenzen Was ist, wenn der Baum zu groß für den Hauptspeicher ist? Externe Datenspeicherung

Mehr

Übung Algorithmen und Datenstrukturen

Ü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

Mehr

7. Natürliche Exponential- und Logarithmusfunktion 7.1 Die natürliche Exponentialfunktion

7. Natürliche Exponential- und Logarithmusfunktion 7.1 Die natürliche Exponentialfunktion 7. Natürlice Eponential- und Logaritmusfunktion 7. Die natürlice Eponentialfunktion Wiederolung 0. Klasse: allgemeine Eponentialfunktion f() = a bekannt (a )' = lim = lim a a a = a lim a Ziel: f f = lim

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 13. Bäume. Bäume

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 13. Bäume. Bäume 1 Kapitel 13 Ziele 2 Den Begriff des Baums in der Informatik kennenlernen als verkettete Datenstruktur repräsentieren können Rekursive Funktionen auf n verstehen und schreiben können Verschiedene Möglichkeiten

Mehr

public interface Stack<E> { public void push(e e); public E pop();

public interface Stack<E> { public void push(e e); public E pop(); ADS Zusammenfassung René Bernhardsgrütter 02.04.2012 1 Generics Gewähren Typsicherheit und können für verschiedene Datentypen ohne Casts verwendet werden. Beim Erstellen der Klasse werden Platzhalter für

Mehr

Einführung in die Informatik 2

Einführung in die Informatik 2 Einführung in die Informatik 2 Bäume & Graphen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz http://www.inf.uni-konstanz.de/algo/lehre/ss08/info2 Sommersemester 2008 Sven Kosub

Mehr

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Algorithmen und Datenstrukturen 265 10 Binäre Suchbäume Suchbäume Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Kann als Wörterbuch, aber auch zu mehr eingesetzt werden (Prioritätsschlange)

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung Algorithmen und Datenstrukturen Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus wurden ausgewählte Teile in Abstimmung

Mehr

Bemerkung: Heapsort. Begriffsklärung: (zu Bäumen) Begriffsklärung: (zu Bäumen) (2) Heapsort verfeinert die Idee des Sortierens durch Auswahl:

Bemerkung: Heapsort. Begriffsklärung: (zu Bäumen) Begriffsklärung: (zu Bäumen) (2) Heapsort verfeinert die Idee des Sortierens durch Auswahl: Heapsort Bemerkung: Heapsort verfeinert die Idee des Sortierens durch Auswahl: Minimum bzw. Maximum wird nicht durch lineare Suche gefunden, sondern mit logarithmischem Aufwand durch Verwendung einer besonderen

Mehr

Tutorium Algorithmen & Datenstrukturen

Tutorium Algorithmen & Datenstrukturen June 16, 2010 Binärer Baum Binärer Baum enthält keine Knoten (NIL) besteht aus drei disjunkten Knotenmengen: einem Wurzelknoten, einem binären Baum als linken Unterbaum und einem binären Baum als rechten

Mehr