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

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

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

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 otationstpen - öscen mit otationstpen - Höe von AV-Bäumen Gewictsbalancierte Binärbäume Positionssuce mit balancierten Bäumen (ösung des Auswalproblems 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 Wurel von B (2 alle Sclüssel im recten Unterbaum von B sind größer als der Sclüssel in der Wurel von B (3 die linken und recten Unterbäume von B sind auc binäre Sucbäume. Beispiel: 4 Grundoperationen: - Einfügen - direkte Suce - sequentielle Suce - öscen Einfügen in binären Sucbäumen Neue Knoten werden immer als Blätter eingefügt 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( ==> Einfügereienfolge : Einfügereienfolge 2: KANT, EIBNIZ, HEGE,, OCKE, SOCATES, EIBNIZ, DESCATES, CANAP,, SPINOZA, DESCATES, CANAP, FEGE, PATON SOCATES, FEGE, OCKE, KANT, HEGE, PATON, SPINOZA KANT EIBNIZ DESCATES CANAP FEGE HEGE KANT < OCKE SOCATES PATON > SPINOZA Einfügen in binären Sucbäumen (2 class BinarNode { BinarNode lcild = null; BinarNode rcild = null; Orderable ke = null; /** Konstruktor */ BinarNode(Orderable ke { tis.ke = ke; public class BinarSearcTree { private BinarNode root = null;... public void insert(orderable ke trows TreeEception { root = insert(root, ke; protected BinarNode insert(binarnode node, Orderable ke trows TreeEception { if (node == null return new BinarNode(ke; else if (ke.less(node.ke node.lcild = insert(node.lcild, ke; else if (ke.greater(node.ke node.rcild = insert(node.rcild, ke; else trow new TreeEception("Scluessel scon voranden!"; return node;

2 Suce in binären Sucbäumen. Sequentielle Suce Einsat 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 ke { return searcec(root, ke; /** ekursive Suce eines Scluessels im Teilbaum */ protected boolean searcec (BinarNode node, Orderable ke { if (node == null return false; // nict gefunden if (ke.less(node.ke return searcec(node.lcild, ke; // suce im linken Teilbaum if (ke.greater(node.ke return searcec(node.rcild, ke; // suce im recten Teilbaum return true; // gefunden Sucen (2 Sucen (iterative Version: public boolean searciter (Orderable ke { BinarNode node = root; do { if (node == null return false; // nict gefunden if (ke.less(node.ke node = node.lcild; // suce im linken Teilbaum else if (ke.greater(node.ke node = node.rcild; // suce im recten Teilbaum else return true; // gefunden wile (true; öscen in binären Sucbäumen öscen ist am kompliiertesten Fall : ist Blatt Fall 2/3: at leeren linken/recten Unterbaum Fall 4: at wei nict-leere k r Unterbäume Heranieen des größten Sclüssels im linken Unterbaum (g l oder des kleinsten Sclüssels im recten Unterbaum (k r g l k r - Alternative: Jeder u löscende Knoten wird speiell markiert; bei Suc- und Einfügevorgängen wird er gesondert beandelt öscen in binären Sucbäumen (2 ösce (OCKE FEGE OCKE FEGE DESCATES HEGE KANT SPINOZA DESCATES PATON HEGE CANAP EIBNIZ CANAP SOCATES ösce (DESCATES ösce (FEGE KANT PATON SPINOZA KANT PATON SPINOZA EIBNIZ SOCATES EIBNIZ SOCATES

3 Binäre Sucbäume: Zugriffskosten Kostenmaß: Anal der aufgesucten Knoten bw. Anal 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 eines Baumes B erält man durc Berecnung seiner gesamten Pfadlänge P als Summe der ängen der P( B = Stufe( K n Pfade von der Wurel bis u jedem Knoten K i. i i = - mit n i = Zal der Knoten auf Stufe i gilt P( B = i n i und n i = n = gesamte Knotenal i = i = - Die mittlere Pfadlänge ergibt sic u Beispiel: p = P / n - Da bei jedem Zugriff noc auf die = p + = -- ( i + n Wurel ugegriffen werden muß, erält n i i = man 2 3 Binäre Sucbäume: Zugriffskosten (2 Maimale Zugriffskosten - Die längsten Sucpfade und damit die maimalen Zugriffskosten ergeben sic, wenn der binäre Sucbaum u einer linearen iste entartet - Höe: = l ma + = n - Maimale mittlere Zugriffskosten: n ( n+ ( n+ -- ma = ( i+ n = n = = O( n 2n 2 i = Minimale (mittlere Zugriffskosten: können in einer fast vollständigen oder ausgeglicenen Baumstruktur erwartet werden - Gesamtal der Knoten: - Höe = log 2 n + - Minimale mittlere Zugriffskosten: < n 2 min log 2 n Stufe Binäre Sucbäume: Zugriffskosten (3 Durcscnittlice Zugriffskosten - Etremfälle der mittleren Zugriffskosten sind wenig aussagekräftig: - Wie groß sind und bei n=, 3, 6 min ma,...? - Differen der mittleren u 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 ufälliger eienfolge gegeben. Die Warsceinlickeit, daß der erste Sclüssel den Wert i besitt, ist /n (Anname: gleice Zugriffswarsceinlickeit auf alle Knoten - Für den Baum mit i als Wurel eralten wir Knoten Knoten i n ( i = -- (( n i + ( i + + ( n i + ( n i n i - Die ekursionsgleicung läßt sic in nict-rekursiver, gesclossener Form mit Hilfe der armoniscen n Funktion H n = -- darstellen. - Es ergibt sic n = 2 3 = 2 ln(n - c. - elative Merkosten: i i = ( n H n n n 2ln( n c 2ln( n c = = 2ln( 2 =,386 log min 2 ( n log 2 ( n i - i n n - i Balancierte Binärbäume Der ausgeglicene binäre Sucbaum verursact für alle Grundoperationen die geringsten Kosten Perfekte Balancierung u jeder Zeit kommt jedoc ser teuer. - In welcem Maße sollen Strukturabweicungen bei Einfügungen und öscungen toleriert werden? Balancierte Bäume Einfüge ( - Ziel: scneller direkten Zugriff mit ma O( log 2 n sowie Einfüge- und öscoperationen mit logaritmiscen Aufwand - Heuristik: für jeden Knoten im Baum soll die Anal der Knoten in jedem seiner beiden Unterbäume möglicst gleic gealten werden - Zwei untersciedlice Vorgeensweisen: ( die ulässige Höendifferen 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

4 k-balancierter Binärbaum Def.: Seien ( und ( die linken und recten Unterbäume eines Knotens. 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 gilt: k läßt sic als Maß für die ulässige Entartung im Vergleic ur ausgeglicenen Baumstruktur auffassen Prinip B ( l ( B ( r ( k B ( l ( B ( r ( B ( l ( B ( r ( = = AV-Baum benannt nac russiscen Matematikern: Adelson-Velski und andis Def.: Ein -balancierter Binärbaum eißt AV-Baum -> Balancierungskriterium: B ( l ( B ( r ( Konstruktionsprinip: - und seien AV-Bäume der Höe und. Dann sind die nacfolgend dargestellten Bäume auc AV-Bäume: DUBIN B ( l ( B ( r ( = B ( l ( B ( r ( = Sucoperationen wie für allgemeine binäre Sucbäume AV-Baum: Wartungsalgoritmen Wann und wo ist das AV-Kriterium beim Einfügen verlett? - Es kann sic nur die Höe von solcen Unterbäumen verändert aben, deren Wureln auf dem Sucpfad von der Wurel des Baumes um neu eingefügten Blatt liegen - eorganisationsoperationen lassen sic lokal begrenen; es sind öcstens Knoten betroffen Def.: Der Balancierungsfaktor BF( eines Knotens ergibt sic u BF( = ( ( - ( (. Knotendefinition class AVNode { int BF = ; AVNode lcild = null; AVNode rcild = null; Orderable ke = null; /** Konstruktor */ AVNode(Orderable ke { tis.ke = ke; Einfügen in AV-Bäumen Sobald ein BF( durc eine Einfügung verlett 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 ur Bestimmung des otationstps. Er wird durc die von diesem Knoten ausgeende Kantenfolge auf dem Pfad um neu eingefügten Knoten festgelegt. otationstpen Es treten vier versciedene otationstpen auf. Der neu einufügende Knoten sei X. Y sei der beü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 Tpen und sowie und sind smmetrisc ueinander

5 Einfügen in AV-Bäumen (2 neuer Sclüssel nac Einfügung nac ebalancierung ectsrotation Einfügen in AV-Bäumen (3 neuer Sclüssel nac Einfügung nac ebalancierung inksrotation Doppelrotation Einfügen in AV-Bäumen (3 neuer Sclüssel nac Einfügung nac ebalancierung Doppelrotation B Einfügen in AV-Bäumen (4 Balancierter Unterbaum nac Einfügung ebalancierter Unterbaum otationstp (ectsrotation otationstp (inksrotation B B B B B

6 B Einfügen in AV-Bäumen (5 otationstp ( ist smmetrisc Balancierter Unterbaum nac Einfügung ebalancierter Unterbaum l 3 B r l B l r +3 r ( ( B B 2 l l 3 inksrotation von / 3 + ectsrotation von / 3 r 3 r öscen in AV-Bäumen öscen eines Blattes bw. eines andknotens ( ma. Son ösce ( - Höenreduierung ändert Balancierungsfaktoren der Vaterknoten - ebalancierung für UB der Vorgängerknoten mit BF = +/- 2 - ggf. fortgesette ebalancierung (nur möglic für Knoten mit BF = +/- 2 auf dem Weg vom u löscenden Element ur Wurel öscen eines Knotens (Sclüssel mit 2 Sönen kann auf öscen für Blatt/andknoten urückgefürt werden - wird ersett durc kleinsten Sclüssel im recten Unterbaumbaum von (oder größten Sclüssel im linken Unterbaum - fürt ur Änderung des Balancierungsfaktors für v (Höe des linken Unterbaums von v at sic um reduiert v v v v öscen in AV-Bäumen (2 Bis auf Smmetrie treten nur 3 Fälle auf: Fall : öscen in v B l B r In diesem Fall pflant sic Höenerniedrigung nict fort, da in der Wurel das AV-Kriterium erfüllt bleibt. -> kein ebalancieren erforderlic. Fall 3a: öscen in AV-Bäumen (3 B B 4 Fall 2: l B Fall 3: öscen in öscen in Die Höenerniedrigung von pflant sic ier ur Wurel in fort. Sie kann auf diesem Pfad eine ebalancierung auslösen. Für die Beandlung dieser Situation ist der linke Unterbaum in größerem Detail u betracten. Dabei ergeben sic die 3 Unterfälle: Fall 3b: - ectsrotation fürt ur Erfüllung des AV-Kriteriums - Unterbaum beält ursprünglice Höe - keine weiteren ebalancierungen erforderlic B - ectsrotation reduiert Höe des gesamten UB von nac - Höenreduierung pflant sic auf dem Pfad ur Wurel in fort und kann u weiteren ebalancierungen füren. B B

7 Fall 3c: öscen in AV-Bäumen (5 B 6 B 7 B 5 - Doppelrotation (-> Höenerniedrigung - ggf. fortgesette ebalancierungen B 6 B 7 ö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 Gegensat um Einfügevorgang kann ier eine otation wiederum eine ebalancierung auf dem Pfad ur Wurel auslösen, da sie in gewissen Fällen auf eine Höenerniedrigung des transformierten Unterbaums fürt. Die Anal der ebalancierungsscritte ist jedoc durc die Höe des Baums begrent Beispiel-öscvorgang: ösce ( MADID MADID Höe von AV-Bäumen Balancierte Bäume wurden als Kompromiß wiscen 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+ MADID MADID - 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 einelner Knoten ist ein Fibonacci- Baum der Höe. - Sind B und B Fibonacci-Bäume der Höe und, so ist B = B,, B 2 ein Fibonacci-Baum der Höe - Keine anderen Bäume sind Fibonacci- Bäume B B B 2 B 4 n = n = n 2 =2 n 3 =4 n 4 =7 n 5 =

8 Gewictsbalancierte Sucbäume Gewictsbalancierte oder BB-Bäume (bounded balance Zulässige Abweicung der Struktur vom ausgeglicenen Binärbaum wird als Differen wiscen der Anal der Knoten im recten und linken Unterbaum festgelegt Def.: Sei B ein binärer Sucbaum mit linkem Unterbaum und sei n (n l die Anal der Knoten in B (. - ρ(b = (n l /(n eißt die Wurelbalance von B. - Ein Baum B eißt gewictsbalanciert (BB(α oder von bescränkter Balance α, wenn für jeden Unterbaum B von B gilt: α <= ρ (B <= - α Gewictsbalancierte Sucbäume (2 Parameter α als Freieitsgrad im Baum - α = /2: Balancierungskriterium akeptiert nur vollständige Binärbäume - α < /2: Strukturbescränkung wird unemend gelockert Welce Auswirkungen at die ockerung des Balancierungskriteriums auf die Kosten? Beispiel: Gewictsbalancierter Baum in BB (α für α = 3 / JUPITE MAS PUTO at n l Knoten B K B at n Knoten ebalancierung - ist gewärleistet durc eine Wal von α <= - 2 /2 - Einsat derselben otationstpen wie beim AV-Baum EDE NEPTUN MEKU SATUN UANUS VENUS Kosten für Suce und Aktualisierung: O (log 2 n Positionssuce mit balancierten Bäumen Balancierte Sucbäume - sind linearen isten in fast allen Grundoperationen überlegen - ösung des Auswalproblems bw. Positionssuce (Suce nac k-tem Element der Sortierreienfolge kann jedoc noc verbessert werden Def.: Der ang eines Knotens ist die um eröte Anal der Knoten seines linken Unterbaums - Blattknoten aben ang Verbesserung bei Positionssuce durc Auf- NIOB name des angs in jedem EISEN ZINK Knoten Beispiel für AV- Baum: ASEN A- GON B CHO BEI JOD FUO SEEN NEON XENON ZINN Positionssuce (2 angalen erlauben Bestimmung eines direkten Sucpfads im Baum für Positionssuce nac dem k-ten Element - Position p := k; beginne Suce am Wurelknoten - 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 Fortsetung der Suce im recten UB Wartungsoperationen etwas kompleer Änderung im linken Unterbaum erfordert anganpassung aller betroffenen Väter bis ur Wurel

9 Zusammenfassung Binäre Sucbäume - Einfügen / direkte Suce durc Baumdurcgang auf einem Pfad - eienfolgeabängigkeit beü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 ur Sicerstelleung günstiger Zugriffskosten - öenbalancierte Bäume (.B. k-balancierte Binärbäume - gewictsbalancierte Bäume (BB-Bäume AV-Baum: -balancierter Binärbaum - Mitfüren eines Balancierungsfaktors B in Baumknoten (ulässige Werte:,, oder - dnamisce ebalancierung bei Einfüge- und öscoperationen (Falluntersceidungen mit untersciedlicen otationen - Anal der ebalancierungsscritte durc Höe des Baumes begrent - maimale Höe für Fibonacci-Bäume:,44 log (n scnelle Positionssuce über Mitfüren des angs von Knoten Zusammenfassung: istenoperationen auf versciedenen Datenstrukturen Operation sequent. iste gekettete iste 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 balancierter Baum mit ang

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

6. Binäre Suchbäume. Binäre Suchbäume 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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örterbücher ihre Implementierung mit AVL Bäumen

Wörterbücher ihre Implementierung mit AVL Bäumen Wörterbücher ihre Implementierung mit AVL Bäumen Wörterbücher - der Dictionar AD Auch in diesem Vorlesungsthema geht es um die Verwaltung von Objekten mit einem Schlüssel. Wir nennen die aus einem Schüssel

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

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

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

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

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

Teil 1. 2 Gleichungen mit 2 Unbekannten mit Textaufgaben. und 3 Gleichungen mit 2 Unbekannten. Datei Nr. 12180. Friedrich Buckel. Stand 11.

Teil 1. 2 Gleichungen mit 2 Unbekannten mit Textaufgaben. und 3 Gleichungen mit 2 Unbekannten. Datei Nr. 12180. Friedrich Buckel. Stand 11. Teil Gleicungen mit Unbekannten mit Textaufgaben und 3 Gleicungen mit Unbekannten Datei Nr. 80 Stand. April 0 Lineare Gleicungssysteme INTERNETBIBLIOTHEK FÜR SCHULMATHEMATIK 80 Gleicungssysteme Vorwort

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

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

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

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

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

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

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

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

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

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

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

Ü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

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

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

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

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

Ü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

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

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

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

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1 3.2 Binäre Suche Beispiel 6.5.1: Intervallschachtelung (oder binäre Suche) (Hier ist n die Anzahl der Elemente im Feld!) Ein Feld A: array (1..n) of Integer sei gegeben. Das Feld sei sortiert, d.h.: A(i)

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

Suchbäume. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Suchbäume. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Suchbäume Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative

Mehr

Logik und Mengenlehre. Mengenlehre Aussagenlogik Prädikatenlogik Mengenalgebra Relationen Funktionen. Russelsche Antinomie Die freie Software R Quiz

Logik und Mengenlehre. Mengenlehre Aussagenlogik Prädikatenlogik Mengenalgebra Relationen Funktionen. Russelsche Antinomie Die freie Software R Quiz Logik und Mengenlere Mengenlere Aussagenlogik Prädikatenlogik Mengenalgebra Relationen Funktionen Russelsce Antinomie Die freie Software R Qui Mengenlere 1 Am Anfang war das Nicts Die leere Menge 2 entält

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Elementare Datenstrukturen Rekursionen Bäume 2 1 Datenstruktur Baum Definition eines Baumes

Mehr

Suchen und Sortieren

Suchen und Sortieren (Folie 69, Seite 36 im Skript) 5 6 1 4 Als assoziatives Array geeignet Schlüssel aus geordneter Menge Linke Kinder kleiner, rechte Kinder größer als Elternknoten Externe und interne Knoten Externe Knoten

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

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

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

Balancierte Bäume. Martin Wirsing. in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer. http://www.pst.ifi.lmu.de/lehre/ss06/infoii/ SS 06

Balancierte Bäume. Martin Wirsing. in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer. http://www.pst.ifi.lmu.de/lehre/ss06/infoii/ SS 06 Balancierte Bäume Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer http://www.pst.ifi.lmu.de/lehre/ss06/infoii/ SS 06 2 Ziele AVL-Bäume als einen wichtigen Vertreter balancierter

Mehr

Lösungsvorschläge. zu den Aufgaben im Kapitel 4

Lösungsvorschläge. zu den Aufgaben im Kapitel 4 Lösungsvorschläge zu den Aufgaben im Kapitel 4 Aufgabe 4.1: Der KNP-Algorithmus kann verbessert werden, wenn in der Funktion nexttabelle die Zuweisung next[tabindex] = ruecksprung; auf die etwas differenziertere

Mehr

Unterlagen zu endlichen Körpern. Erhard Aichinger

Unterlagen zu endlichen Körpern. Erhard Aichinger Unterlagen zu endlicen Körpern Erard Aicinger Linz, im November 2005 Alle Recte vorbealten 1 KAPITEL 1 Endlice Körper 1 Definition endlicer Körper DEFINITION 11 Ein Ring mit Eins R R,,,, 0, 1 ist ein

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

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

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

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

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

Ü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

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

- k Maximalwerte aus Menge mit n >> k Elementen (Rangfolgebestimmung von Suchmaschinen!) Die typische Operationen:

- k Maximalwerte aus Menge mit n >> k Elementen (Rangfolgebestimmung von Suchmaschinen!) Die typische Operationen: 6 Partiell geordnete binäre Bäume: Heap (Haufen) Motivation für manchen Anwendungen nur partielle Ordnung der Elemente statt vollständiger nötig, z.b. - Prioritätsschlange: nur das minimale (oder maximale)

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

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

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

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

Ü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

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

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

Ü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

PN1 Einführung in die Physik für Chemiker 1 Prof. J. Lipfert

PN1 Einführung in die Physik für Chemiker 1 Prof. J. Lipfert PN Einfürung in die Pysik für Cemiker Prof. J. Lipfert en zu Übungsblatt 7 WS 203/4 en zu Übungsblatt 7 Aufgabe Ballscleuder. Zwei Bälle werden übereinander und gleiczeitig fallen gelassen. Die Massen

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

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

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r ) Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen

Mehr

Informatik II. PVK Part1 Severin Wischmann wiseveri@student.ethz.ch n.ethz.ch/~wiseveri

Informatik II. PVK Part1 Severin Wischmann wiseveri@student.ethz.ch n.ethz.ch/~wiseveri Informatik II PVK Part1 Severin Wischmann wiseveri@student.ethz.ch n.ethz.ch/~wiseveri KAUM JAVA Kaum Java Viel Zeit wird für Java-spezifisches Wissen benützt Wenig wichtig für Prüfung Letztjähriger Assistent

Mehr

Grundlagen der Programmierung 2. Bäume

Grundlagen der Programmierung 2. Bäume Grundlagen der Programmierung 2 Bäume Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 24. Mai 2006 Graphen Graph: Menge von Knoten undzugehörige (gerichtete oder ungerichtete)

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

Sortierte Folgen 250

Sortierte Folgen 250 Sortierte Folgen 250 Sortierte Folgen: he 1,...,e n i mit e 1 apple applee n kennzeichnende Funktion: M.locate(k):= addressof min{e 2 M : e k} Navigations Datenstruktur 2 3 5 7 11 13 17 19 00 Annahme:

Mehr

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:

Mehr

4.3.2 Ableitungsregeln

4.3.2 Ableitungsregeln Vorbereitungskurs auf die Aufnameprüfung der ETH: Matematik 4.3.2 Ableitungsregeln Der Differentialquotient [s. 43] zur Definition der Ableitung beinaltet eine Grenzwertbildung Limes), welce meist dadurc

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

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

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

Wiederholungsklausur "ADP" WS 2016/2017

Wiederholungsklausur ADP WS 2016/2017 PD Dr. J. Reischer 23.02.2017 Wiederholungsklausur "ADP" WS 2016/2017 Nachname, Vorname Abschluss (BA, MA, FKN etc.) Matrikelnummer, Semester Versuch (1/2/3) Bitte füllen Sie zuerst den Kopf des Angabenblattes

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

B-Bäume I. Algorithmen und Datenstrukturen 220 DATABASE SYSTEMS GROUP

B-Bäume I. Algorithmen und Datenstrukturen 220 DATABASE SYSTEMS GROUP B-Bäume I Annahme: Sei die Anzahl der Objekte und damit der Datensätze. Das Datenvolumen ist zu groß, um im Hauptspeicher gehalten zu werden, z.b. 10. Datensätze auf externen Speicher auslagern, z.b. Festplatte

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

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

Algorithmen und Datenstrukturen 13

Algorithmen und Datenstrukturen 13 19. Juli 2012 1 Besprechung Blatt 12 Fragen 2 Bäume AVL-Bäume 3 Graphen Allgemein Matrixdarstellung 4 Graphalgorithmen Dijkstra Prim Kruskal Fragen Fragen zu Blatt 12? AVL-Bäume AVL-Bäume ein AVL-Baum

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 13 (18.6.2014) Binäre Suchbäume IV (Rot Schwarz Bäume) Algorithmen und Komplexität Rot Schwarz Bäume Ziel: Binäre Suchbäume, welche immer

Mehr