6. Binäre Suchbäume. Binäre Suchbäume
|
|
- Gisela Meissner
- vor 6 Jahren
- Abrufe
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
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
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
MehrADS 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]
MehrRWTH 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
MehrAlgorithmen 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
MehrWiederholung. 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
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
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
Mehr4.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
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
MehrAlgorithmen 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
MehrAlgorithmen 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,
Mehr13. 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
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
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
MehrSoftware 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,
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
MehrÜ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.
MehrKapitel 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
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
Mehr3.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
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 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
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
MehrÜ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 (
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
MehrDer 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
MehrWü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
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
MehrÜ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
Mehr368 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
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
MehrInformatik 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,
MehrADS: 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.
MehrLinear. 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,
MehrAlgorithmen 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
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:
Mehr9.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
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
MehrDatenstruktur 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
MehrBä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
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,...
MehrFolge 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
MehrGeordnete 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
Mehr6. 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
MehrAlgorithmen 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
MehrAbschnitt 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
MehrSuchbä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
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
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
MehrKap. 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:
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:
MehrAlgorithmen 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 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
MehrInformatik 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.
Mehr7 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,
MehrEINI 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
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,
MehrEinfü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
MehrDatenstruktur 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.
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
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
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
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
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
MehrEinfü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
MehrTutoraufgabe 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
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
MehrBalancierte 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
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
MehrMathematik 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
MehrAlgorithmik 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
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
Mehr0.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
MehrAlgorithmen 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
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
MehrAufgaben 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
MehrHumboldt-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
MehrDifferentialrechnung. 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
MehrBinä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
MehrWintersemester 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:
Mehr9 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
MehrBalancierte 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
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
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),
MehrEine 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
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
MehrVORKURS 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
MehrLogische 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
MehrWiederholung 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
MehrMehrwegbä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 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
Mehr7. 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
MehrEinfü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
Mehrpublic 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
MehrEinfü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
MehrDatenstruktur, 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)
MehrGrundlagen 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
MehrBemerkung: 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
MehrTutorium 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