Bäume Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1

Größe: px
Ab Seite anzeigen:

Download "Bäume. 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1"

Transkript

1 Bäume 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1

2 Inhalt Grundbegriffe: Baum, Binärbaum Binäre Suchbäume (Definition) Typische Aufgaben Suchaufwand Löschen allgemein, Methode Schlüsseltransfer Programmiertechnik 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 2

3 Baum: Grundbegriffe #1 Graph: gerichtet, ungerichtet Komponenten: Knoten Elemente: Eigenschaften Kanten Beziehungen zwischen Elementen Baum: 1. Spezielfall eines Graphen 2. Verallgemeinerung der Liste Liste: 1 Element: 1 Nachfolger Baum: 1 Element: 1 Nachfolger d t-ärer Baum, Baum der Ordnung t zu jedem Element sind höchstens t Nachfolger festgelegt t=1 Spezialfall: Liste; t=2 Binärbaum; t=3 Ternärbaum, Jiri Spale, Algorithmen und Datenstrukturen - Bäume 3

4 Baum: Grundbegriffe #2 Knotensorten Vorgänger = Vater Nachfolger = Sohn = Kind Wurzel Blatt=äußerer K. innerer Knoten Randknoten Knoten ohne Vorgänger Knoten ohne Nachfolger Knoten mit Vorgänger und Nachfolger Knoten mit < t Nachfolger Pfad Weg von der Wurzel zu jedem Knoten Pfadlänge Anzahl von Knoten im Pfad Voller Baum alle Blätter haben die gleiche Pfadlänge Quasivoller Baum nur die unterste Ebene ist nicht voll besetzt 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 4

5 Varianten von Bäumen Zahl der Nachfolger: fest oder beliebig Sortierung: Ungeordneter Baum: Nachfolger unsortiert Geordneter Baum: 1., 2.,...,k-ter Nachfolger; beim Binärbaum: linker, rechter Nachfolger Ebene 1 W W Ebene L R Ebene L R L R Beide Beispielsbäume: Höhe h=3 Linker Teilbaum von W 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 5

6 Implementierung von Bäumen Einige Beispiele: als 2 Felder 1 Knoten: 2 3 v(1) v(2) v(3) Kanten: e(1,1)=0 e(1,2)=1 e(1,3)=1 e(1,1)=0 e(2,1)=0 e(1,2)=0 e(2,2)=0 e(1,3)=0 e(2,3)=0 e(3,1)=0 e(3,2)=0 e(3,3)=0 e[i][j]==1 g.d.w. e[j] Nachfolger von e[i] als Struktur (C++:Klasse) mit Zeigern... natürlich Knoten-Nr.= Knoten-Daten Knoten-Nr.=2 Knoten-Daten null null Knoten-Nr.=3 Knoten-Daten null null 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 6

7 Zusammenhänge Mit der Graphentheorie Ein Baum ist ein gerichteter zusammenhängender kreisfreier Graph mit einer speziellen Eigenschaft: Jeder Knoten hat bis auf einen (Wurzelknoten) genau einen Vorgänger. Mit der linearen Algebra Baum ~ Basis kreisfrei ~ linear unabhängig zusammenhängend ~ Erzeugendensystem Kantenzahl ~ Dimension eines Vektorraumes 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 7

8 Bäume und lineare Algebra Satz: Charakterisierung von Bäumen Es sei G = (V,E) ein endlicher Graph; V... Knotenmenge, E... Kantenmenge. Folgende Eigenschaften sind äquivalent: (1) G ist ein Baum (2) G ist kreisfrei, und das Hinzufügen einer beliebigen Kante zu E erzeugt einen Kreis (G ist maximal kreisfrei) (3) Zwischen je zwei Knoten gibt es genau einen einfachen Weg in G (4) G ist zusammenhängend, und die Wegnahme einer beliebigen Kante aus E zerstört den Zusammenhang von G (G ist minimal zusammenhängend) (5) G ist kreisfrei und seine Kantenzahl ist E = V - 1 (6) G ist zusammenhängend und E = V - 1 analoge Eigenschaften in Vektorräumen (2) Eine Basis ist eine maximal linear unabhängige Menge, d.h. bei Hinzufügen eines Vektors wird die Unabhängigkeit zerstört (4) Eine Basis ist eine minimale Erzeugendenmenge, d.h. bei Wegnahme eines Vektors hat man kein Erzeugendensystem mehr (5),(6) In Vektorräumen haben alle Basen eines (endlichdimensionalen) Vektorraumes die gleiche Größe, nämlich die Dimension des Vektorraumes 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 8

9 Binärbaum: Grundbegriffe linker, rechter Nachfolger linker, rechter Teilbaum (Unterbaum) eines Knotens Ebenen Höhe des Baums: Anzahl der Ebenen; im Bild: h = 3 Ebene 1 W Ebene 2 L R Ebene 3 L R L R Linker Teilbaum von W 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 9

10 Abbildung Datenstruktur, wobei jedes Datum = Wertepaar: Schlüssel: nach dem Schlüssel wird gesucht Wert: Zielinformation Beispiel: Telefonbuch: Namen = Schlüssel, Telefonnummer = Werte Zusammenhang mit der Mathematik: A: S W, A...partielle Abbildung, S...Schlüsselmenge, W...Wertemenge Partiell: i.d.r nur ein (geringer) Teil der Schlüssel hat einen zugeordneten Wert Sonderform Wörterbuch Abbildung, bei der das gesamte zu speichernde Datum ein Schlüssel ist 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 10

11 Binäre Suchbäume Besonders geeignet für Speicherung von Daten, nach denen später gesucht werden soll: Sie sind speziell auf Suchoperationen hin optimiert. Definition: Ein binärer Suchbaum ist ein binärer Baum mit folgenden Eigenschaften: (1) Jedem Knoten ist ein Schlüssel key zugeordnet (2) Sei x ein beliebiger Knoten und y ein Knoten i seinem linken Unterbaum, so gilt key(y) < key(x) (3) Sei x ein beliebiger Knoten und y ein Knoten in seinem rechten Unterbaum, so gilt key(y) > key(x) Wertepaare Schlüssel-Wert Englisch: Binary Search Tree, BST 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 11

12 Typische Aufgaben Typische Operationen mit den Wertepaaren Schlüssel-Wert sind Suchen Feststellen, ob ein angegebener Schlüssel im Baum enthalten ist, bzw. den zugehörigen Wert liefern. Einfügen Ein Paar Schlüssel-Wert als einen neuen Knoten an geeignete Stelle im binären Suchbaum einfügen Entfernen Einen Knoten entfernen, wobei der Baum muss auch nach dem Löschen die Eigenschaft beibehalten, binärer Suchbaum zu sein Jiri Spale, Algorithmen und Datenstrukturen - Bäume 12

13 Annahme: alle Schlüssel haben die gleiche Wahrscheinlichkeit, dass sie gesucht werden. Dann: Der Suchaufwand ist minimal, wenn alle Knoten Pfade möglichst gleicher Länge haben (Vollbaum, quasivoller Baum) Beispiel 1: Mit einem vorhandenen (Schlüssel-) Datenbestand ist ein binärer Suchbaum ausgehend vom leeren Baum aufzubauen. Zuerst wird folgende Schlüsselreihenfolge gewählt: 57,23,37,15,30,27,79,33,45 Ergebnis: Pfadlängen-Differenz = 3 Suchaufwand # Jiri Spale, Algorithmen und Datenstrukturen - Bäume

14 Suchaufwand #2 Beispiel 2: Eine andere Reihenfolge ergibt eine andere Suchbaum-Struktur: 33,23,45,15,27,30,37,57, Ergebnis: Pfadlängen-Differenz = Die Baumstruktur ist von der Schlüsselreihenfolge abhängig Jiri Spale, Algorithmen und Datenstrukturen - Bäume 14

15 BST programmieren:löschen Für Knoten mit 0-1 Nachfolger ist das Löschen einfach: Bei anderen Knoten ist es schwieriger. Z.B Funktioniert, aber Jiri Spale, Algorithmen und Datenstrukturen - Bäume

16 BST programmieren:löschen Bessere Lösch-Methode: Schlüsseltransfer oder Jiri Spale, Algorithmen und Datenstrukturen - Bäume

17 Beispiel: Einfügen Neuer Knoten: Programmiertechnik Einf Ein_r(nS, nw, root) RET Einf_r dk ex? J ns<dk.s? N ns>dk.s? N RET New Kn(nS,nW,NULL,NULL) Ein_r(nS, nw, LN) Ein_r(nS, nw, RN) 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 17 N J J dk...ist dieser Knoten bereits drin? ns... neuer Schlüssel nw... neuer Wert LN... linker Nachfolger RN... rechter Nachfolger dk.s... S.v. diesem Knoten dk = 33 dk ex? J 25 < 33? J Ein_r(..., LN) dk = 23 dk ex? J 25 < 23? N 25 > 23? J Ein_r(..., RN) dk = 27 dk ex? J 25 < 27? J Ein_r(...,LN) dk = NULL dk ex? N New Kn (ns,nw, NULL,NULL)

18 BST: andere Aufgaben #1 Bisher: Suchen, Einfügen, Löschen. Was gibt es noch? Durchlauf durch einen Binärbaum - In-Ordnungen LWR-Ordnung: aufgesucht wird: 1. linker Unterbaum, 2. Wurzel, 3. rechter Unterbaum RWL-Ordnung: aufgesucht wird: 1. rechter Unterbaum, 2. Wurzel, 3. linker Unterbaum - Prä-Ordnung: WLR, WRL - Post-Ordnung: LRW, RLW Aufgaben z.b.: - Bestimmen aller Blätter, der Anzahl aller Blätter, aller Knoten - Bestimmen der rechtesten Ecke im linken Unterbaum - Kopieren, Löschen des Baums 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 18

19 BST: andere Aufgaben #2 Fädelung Beim Durchlauf eines Baums sind stets Rückläufe notwendig. Der Durchlauf kann beschleunigt werden, indem die Leerzeiger in den Blättern mit entsprechenden Zieladressen belegt werden. Bsp: Fädelung bei LWR Jiri Spale, Algorithmen und Datenstrukturen - Bäume 19

20 Alternative graphische Darstellung von Bäumen (1 (2 (4, 5 (9,10), 6), 3 (7, 8))) 1 2 4, 5 9, 10, 6, 3 7, Jiri Spale, Algorithmen und Datenstrukturen - Bäume 20

21 Ausgeglichenheit der Bäume Definition 1 (Classic): Binäre Baume sind vollständig ausgeglichen, wenn sich für jeden Knoten die ZAHL der Knoten in seinem linken und rechten Teilbaum um höchstens eins unterscheiden. Definition 2 (AVL-Bäume): Ein Baum ist genau dann ausgeglichen, wenn sich für jeden Knoten die HÖHE der Teibäume um höchstens eins unterscheiden 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 21

22 AVL-Bäume Adelson-Velski, Landis: Neudefinition der Ausgeglichenheit Länge des Suchpfades: O(log 2 n) 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 22

23 Einfügen in AVL-Bäume Bsp: Einfügen im linken Teilbaum 3 Fälle: h l = h r => hl > hr 1. H(lTb) = H(rTb) H(lTb) > H(rTb), Baum bleibt ausgeglichen Einfügen ausgeglichen 2. H(lTb) < H(rTb) H(lTb) = H(rTb) Baum bleibt ausgeglichen h l < h r => h l < h r ausgeglichen Einfügen 3. H(lTb) > H(rTb) die Ausgeglichenheit wird zerstört, der Baum muß neu strukturiert werden hl > hr hl >> hr Einfügen unausgeglichen 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 23

24 Rotation bei AVL-Bäumen Wiederherstellung der Ausgeglichenheit LR(b,a) RR(b,a) Ziel: Ebene(b)-- //höher Ebene(a)++ //tiefer Dabei: (1) Falls Vater(a) vorhanden: Vater(a) abhängen, er wird zum Vater(b) (2) Falls LSohn(b) vorhanden: Falls RSohn(b) vorhanden: LSohn(b) abhängen und RSsohn(b) abhängen und als RSohn(a) anhängen als LSohn(a) anhängen n a n+1 b DR=LR+RR 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 24

25 Rotationsbeispiele# Jiri Spale, Algorithmen und Datenstrukturen - Bäume 25

26 Rotationsbeispiele#2 n Jiri Spale, Algorithmen und Datenstrukturen - Bäume 26

27 Rotationsbeispiele# = a = a 5 2 RR 7 DR => 1 LR 4 3 na DR => RR LR 6 na 4 5 < LR => LR = > na 7 a > 2 RR 1 < a 7 RR => = 1 4 na a = LR => LR 7 a 6 na 6 mit: a=ausgeglichen, na=nicht ausgeglichen 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 27

28 Vielweg-Bäume Anzahl Nachfolger eines Knotens: >2 4 Nachfolger Anwendung: Verwaltung großer Datenmengen Zeiger auf Knoten: Plattenadressen Abb. 29astatt Speicheradressen Zugriffszeiten: (Faktor 10 6 ) Platte: ca. 10 ms Speicher: 10 ns 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 28

29 Aufteilung eines Baumes in Seiten Seite = Teibaum entspricht: Abb Jiri Spale, Algorithmen und Datenstrukturen - Bäume 29

30 Bayer-Bäume (B-Bäume) Eingeführt 1970 von Bayer und McCreight Eigenschaften von Bayer-Bäumen der Ordnung n: Jeder Knoten (Seite) bis auf den Wurzelknoten enthält m Einträge (Schlüssel), mit n<=m<=2*n Die Wurzel enthält 1<=m<=2*n Einträge Jeder Knoten (Seite) hat 0 oder m+1 Nachfolger, d.h. Anzahl der Nachfolger = Anzahl der Einträge + 1 Alle Blätter (Blattseiten) haben die gleiche Höhe h Jiri Spale, Algorithmen und Datenstrukturen - Bäume 30

31 Beispiel für einen B-Baum 25 Wurzel Ordnung n= Seite m= m+1= Blattseiten 2n=4 n=2 n <= m <= 2n Abb Jiri Spale, Algorithmen und Datenstrukturen - Bäume 31

32 Suchen in einem B-Baum 1. Man lese eine Seite in den Hauptspeicher ein (falls existiert). Hat die angegebene Referenz (Zeiger) den Wert Null, dann existiert der Schlüssel S nicht. 2. Man prüfe, ob der gesuchte Schlüssel S vorhanden ist. Diese Suchzeit ist im allgemeinen kleiner als die Zeit zum Einlesen der Seite vom Hintergrundspeicher. 3. Hat die Suche keinen Erfolg, so liegen folgende Situationen vor: 3.1. K i < S < K i+1, für 0 <= i < m-1 mit K i Schlüssel an der Stelle i. Dann setzen wir die Suche auf der Seite P i fort K m-1 < S. Die Suche wird auf der Seite P m fortgesetzt S < K 1. Die Suche wird auf der Seite P 0 fortgesetzt. P 0 K P K 1 P P P m-2 K m-1 m-1 D 1 D 2 D x m Jiri Spale, Algorithmen und Datenstrukturen - Bäume 32

33 Löschen aus dem B-Baum#1 Situation 1: Suchargument ist im Blatt: 1.1 Blatt hat mehr als n Elemente (normal): lösche Element zu löschen: n= Abb. 33a 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 33

34 Löschen aus dem B-Baum#2 1.2 Blatt hat genau n Elemente (Unterlauf): betrachte linken (rechten) Bruder linker (rechter) Bruder hat mehr als n Elemente: dann verschiebe Wurzel ins Blatt und Blatt in die Wurzel n= zu löschen: löschen Unterlauf droht: Ein Knoten muss min. 2 Elemente haben Jiri Spale, Algorithmen und Datenstrukturen - Bäume 34 Abb. 33b

35 Löschen aus dem B-Baum# linker und rechter Bruder hat genau n Elemente: dann verkette n= zu löschen: Jiri Spale, Algorithmen und Datenstrukturen - Bäume 35 Abb. 33c

36 Löschen aus dem B-Baum#4 Situation 2: Suchargument ist nicht im Blatt: rechtes Element im linken Teilbaum hochziehen zu löschen: 30 n= löschen dann Unterlauf, weiter wie unter Jiri Spale, Algorithmen und Datenstrukturen - Bäume 36 Abb. 33d

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

Oracle 10g Einführung

Oracle 10g Einführung Kurs Oracle 10g Einführung Teil 8 Indizes und Suchbäume Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 15 Seite 1 von 15 Agenda 1 Einleitung 2 Binäre Suchbäume

Mehr

Logische Datenstrukturen

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

Mehr

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume) WS 2016/17 Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_16

Mehr

Natürliche Bäume. (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun. Letzte Änderung: :16. Natürliche Bäume 1/16

Natürliche Bäume. (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun. Letzte Änderung: :16. Natürliche Bäume 1/16 Natürliche Bäume (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun Letzte Änderung: 18.03.2018 18:16 Natürliche Bäume 1/16 Bäume Begriffe (1/2) Bäume sind verallgemeinerte Listenstrukturen ein

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

WS 2013/14. Diskrete Strukturen

WS 2013/14. Diskrete Strukturen WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314

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

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

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

Algorithmen und Datenstrukturen. Bäume. M. Herpers, Y. Jung, P. Klingebiel

Algorithmen und Datenstrukturen. Bäume. M. Herpers, Y. Jung, P. Klingebiel Algorithmen und Datenstrukturen Bäume M. Herpers, Y. Jung, P. Klingebiel 1 Lernziele Baumstrukturen und Ihre Verwendung kennen Grundbegriffe zu Bäumen anwenden können Baumstruktur in C anlegen können Suchbäume

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

Graphen und Bäume. A.1 Graphen

Graphen und Bäume. A.1 Graphen Algorithmen und Datenstrukturen 96 A Graphen und Bäume A.1 Graphen Ein gerichteter Graph (auch Digraph) G ist ein Paar (V, E), wobei V eine endliche Menge und E eine Relation auf V ist, d.h. E V V. V heißt

Mehr

7. Dynamische Datenstrukturen Bäume. Informatik II für Verkehrsingenieure

7. Dynamische Datenstrukturen Bäume. Informatik II für Verkehrsingenieure 7. Dynamische Datenstrukturen Bäume Informatik II für Verkehrsingenieure Übersicht dynamische Datenstrukturen Wozu? Oft weiß man nicht von Beginn an, wieviele Elemente in einer Datenstruktur untergebracht

Mehr

Informatik II Bäume zum effizienten Information Retrieval

Informatik II Bäume zum effizienten Information Retrieval lausthal Informatik II Bäume zum effizienten Information Retrieval. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Binäre Suchbäume (binary search tree, BST) Speichere wieder Daten als "Schlüssel

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

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 07 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München 7 Fortgeschrittene Datenstrukturen Graphen

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

Suchbäume. Suchbäume. Einfügen in Binären Suchbäumen. Suchen in Binären Suchbäumen. Prinzip Suchbaum. Algorithmen und Datenstrukturen

Suchbäume. Suchbäume. Einfügen in Binären Suchbäumen. Suchen in Binären Suchbäumen. Prinzip Suchbaum. Algorithmen und Datenstrukturen Suchbäume Suchbäume Prinzip Suchbaum Der Wert eines Knotens wird als Schlüssel verstanden Knoten kann auch weitere Daten enthalten, die aber hier nicht weiter betrachtet werden Werte der Schlüssel müssen

Mehr

Algorithmen und Datenstrukturen

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

Mehr

C G C C G C. Löschen von Knoten. Beispiel: Löschen von k =

C G C C G C. Löschen von Knoten. Beispiel: Löschen von k = Löschen von Knoten Beispiel: Löschen von k = 8 14 8 2 11 17 9 26 Informatik 2 SS 1 Beispiel: Löschen von k = 8 14 8 2 11 17 26 Informatik 2 SS 1 9 1 1 Beispiel: Löschen von k = 8-1 14 11 2 17 9 26 Informatik

Mehr

2.7 Bucket-Sort Bucket-Sort ist ein nicht-vergleichsbasiertes Sortierverfahren. Hier können z.b. n Schlüssel aus

2.7 Bucket-Sort Bucket-Sort ist ein nicht-vergleichsbasiertes Sortierverfahren. Hier können z.b. n Schlüssel aus 2.7 Bucket-Sort Bucket-Sort ist ein nicht-vergleichsbasiertes Sortierverfahren. Hier können z.b. n Schlüssel aus {0, 1,..., B 1} d in Zeit O(d(n + B)) sortiert werden, indem sie zuerst gemäß dem letzten

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

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

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

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

Mehr

Datenstrukturen und Algorithmen (SS 2013)

Datenstrukturen und Algorithmen (SS 2013) Datenstrukturen und Algorithmen (SS 2013) Übungsblatt 10 Abgabe: Montag, 08.07.2013, 14:00 Uhr Die Übungen sollen in Gruppen von zwei bis drei Personen bearbeitet werden. Schreiben Sie die Namen jedes

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 11 (4.6.2014) Binäre Suchbäume II Algorithmen und Komplexität Binäre Suchbäume Binäre Suchbäume müssen nicht immer so schön symmetrisch sein

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

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2017/18. Pro f. Dr. Sán do r Fe k e te

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2017/18. Pro f. Dr. Sán do r Fe k e te Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2017/18 Pro f. Dr. Sán do r Fe k e te 1 Binärer Suchbaum Außerdem wichtig: Struktur der Schlüsselwerte! 2 Ordnungsstruktur Linker

Mehr

Isomorphie von Bäumen

Isomorphie von Bäumen Isomorphie von Bäumen Alexandra Weinberger 23. Dezember 2011 Inhaltsverzeichnis 1 Einige Grundlagen und Definitionen 2 1.1 Bäume................................. 3 1.2 Isomorphie..............................

Mehr

Wiederholung. Datenstrukturen und. Bäume. Wiederholung. Suchen in linearen Feldern VO

Wiederholung. Datenstrukturen und. Bäume. Wiederholung. Suchen in linearen Feldern VO Wiederholung Datenstrukturen und Algorithmen VO 708.031 Suchen in linearen Feldern Ohne Vorsortierung: Sequentielle Suche Speicherung nach Zugriffswahrscheinlichkeit Selbstanordnende Felder Mit Vorsortierung:

Mehr

ADS: Algorithmen und Datenstrukturen

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

Mehr

Mehrwegbäume Motivation

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

Mehr

Motivation Binäre Suchbäume

Motivation Binäre Suchbäume Kap..: Binäre Suchbäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund Zusätzliche Lernraumbetreuung Morteza Monemizadeh: Jeden Montag von :00 Uhr-:00 Uhr in

Mehr

5 Bäume. 5.1 Suchbäume. ein geordneter binärer Wurzelbaum. geordnete Schlüsselwertmenge. heißt (schwach) sortiert, g.d.w. gilt:

5 Bäume. 5.1 Suchbäume. ein geordneter binärer Wurzelbaum. geordnete Schlüsselwertmenge. heißt (schwach) sortiert, g.d.w. gilt: 5 Bäume 5.1 Suchbäume Sei ein geordneter binärer Wurzelbaum. Sei Abbildung der Knotenmenge eine in eine vollständig geordnete Schlüsselwertmenge. heißt (schwach) sortiert, g.d.w. gilt: Falls sortiert ist,

Mehr

Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...)

Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...) Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...) Inhalt: Einleitung, Begriffe Baumtypen und deren Kodierung Binäre Bäume Mehrwegbäume Prüfer

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

Verkettete Datenstrukturen: Bäume

Verkettete Datenstrukturen: Bäume Verkettete Datenstrukturen: Bäume 1 Graphen Gerichteter Graph: Menge von Knoten (= Elementen) + Menge von Kanten. Kante: Verbindung zwischen zwei Knoten k 1 k 2 = Paar von Knoten (k 1, k 2 ). Menge aller

Mehr

Graphen Jiri Spale, Algorithmen und Datenstrukturen - Graphen 1

Graphen Jiri Spale, Algorithmen und Datenstrukturen - Graphen 1 Graphen 27 Jiri Spale, Algorithmen und Datenstrukturen - Graphen Motivation Einsatz: Berechnung von Entfernungen Auffinden von Zyklen in Beziehungen Ermittlung von Verbindungen Zeitmanagement Konzept:

Mehr

Graphen. Definitionen

Graphen. Definitionen Graphen Graphen werden häufig als Modell für das Lösen eines Problems aus der Praxis verwendet, wie wir im Kapitel 1 gesehen haben. Der Schweizer Mathematiker Euler hat als erster Graphen verwendet, um

Mehr

Einführung in die Informatik 2

Einführung in die Informatik 2 Einführung in die Informatik 2 Bäume & Graphen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v. Sommersemester

Mehr

7 Weitere Baumstrukturen und Heapstrukturen

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

Mehr

Satz 172 Jedes vergleichsbasierte Sortierverfahren benötigt im worst-case mindestens n ld n + O(n) Vergleiche und hat damit Laufzeit Ω(n log n).

Satz 172 Jedes vergleichsbasierte Sortierverfahren benötigt im worst-case mindestens n ld n + O(n) Vergleiche und hat damit Laufzeit Ω(n log n). 2.6 Vergleichsbasierte Sortierverfahren Alle bisher betrachteten Sortierverfahren sind vergleichsbasiert, d.h. sie greifen auf Schlüssel k, k (außer in Zuweisungen) nur in Vergleichsoperationen der Form

Mehr

AVL-Bäume. (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun. Letzte Änderung: :16. AVL-Bäume 1/38

AVL-Bäume. (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun. Letzte Änderung: :16. AVL-Bäume 1/38 AVL-Bäume (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun Letzte Änderung: 18.03.2018 18:16 AVL-Bäume 1/38 Balancierte Bäume in einem zufällig erzeugten Binärbaum haben die Algorithmen Suchen,

Mehr

Algorithmen und Datenstrukturen I AVL-Bäume

Algorithmen und Datenstrukturen I AVL-Bäume Algorithmen und Datenstrukturen I AVL-Bäume Prof. Dr. Oliver Braun Letzte Änderung: 01.12.2017 14:42 Algorithmen und Datenstrukturen I, AVL-Bäume 1/38 Balancierte Bäume in einem zufällig erzeugten Binärbaum

Mehr

Christian Rieck, Arne Schmidt

Christian Rieck, Arne Schmidt Institute of Operating Systems and Computer Networks Algorithms Group Algorithmen und Datenstrukturen Wintersemester 207/208 Übung#5, 2.2.207 Christian Rieck, Arne Schmidt Bäume Satz Jeder gerichtete Baum

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

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

Algorithmen und Datenstrukturen 2-1. Seminar -

Algorithmen und Datenstrukturen 2-1. Seminar - Algorithmen und Datenstrukturen 2-1. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Sommersemster 2010 Outline 1. Übungsserie: 3 Aufgaben, insgesamt 30 28 Punkte A1 Spannbäume (10 8

Mehr

Binäre Suchbäume. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps

Binäre Suchbäume. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps Binäre Suchbäume Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps Mengen n Ziel: Aufrechterhalten einer Menge (hier: ganzer Zahlen) unter folgenden Operationen: Mengen n Ziel: Aufrechterhalten einer

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 02. Mai 2017 [Letzte Aktualisierung: 10/07/2018,

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

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Suchen. Lineare Suche. Such-Algorithmen. Sommersemester Dr.

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Suchen. Lineare Suche. Such-Algorithmen. Sommersemester Dr. Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 0 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Fortgeschrittene Datenstrukturen Such-Algorithmen

Mehr

18. Natürliche Suchbäume

18. Natürliche Suchbäume Wörterbuchimplementationen 1. Natürliche Suchbäume [Ottman/Widmayer, Kap..1, Cormen et al, Kap. 12.1-12.] Hashing: Implementierung von Wörterbüchern mit erwartet sehr schnellen Zugriffszeiten. Nachteile

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 11 (1.6.2016) Binäre Suchbäume III Algorithmen und Komplexität Tiefe eines binären Suchbaums Worst-Case Laufzeit der Operationen in binären

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 - Balancierte Bäume, AVL-Bäume) Prof. Dr. Susanne Albers Balancierte Bäume Eine Klasse von binären Suchbäumen ist balanciert, wenn jede der drei

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 10 (27.5.2016) Binäre Suchbäume II Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:

Mehr

Anwendungsbeispiel MinHeap

Anwendungsbeispiel MinHeap Anwendungsbeispiel MinHeap Uns seien n ganze Zahlen gegeben und wir möchten darin die k größten Zahlen bestimmen; zudem gelten, dass n deutlich größer als k ist Wir können das Problem mit Laufzeit in O(n

Mehr

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung

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

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphen (1) Darstellung Traversierung Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 441 Generalisierung von Bäumen Verallgemeinerung (von Listen zu Graphen)

Mehr

ContainerDatenstrukturen. Große Übung 4

ContainerDatenstrukturen. Große Übung 4 ContainerDatenstrukturen Große Übung 4 Aufgabenstellung Verwalte Kollektion S von n Objekten Grundaufgaben: Iterieren/Auflistung Suche nach Objekt x mit Wert/Schlüssel k Füge ein Objekt x hinzu Entferne

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 4: Suchstrategien Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 14. April 2017 HALBORDNUNG TOPOLOGISCHE ORDNUNG TOPOLOGISCHES

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 24. April 2019 [Letzte Aktualisierung: 24/04/2019,

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2006 3. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Algorithmen für Graphen Fragestellungen: Suche

Mehr

Grundlagen der Informatik / Algorithmen und Datenstrukturen. Aufgabe 143

Grundlagen der Informatik / Algorithmen und Datenstrukturen. Aufgabe 143 Aufgabe 143 Aufgabe 143 Aufgabenstellung Gegeben ist der folgende AVL-Baum: a) Fügen Sie in diesen AVL-Baum nacheinander Knoten mit den Inhalten 34, 42, 1701 und 30 ein. Führen Sie die ggf. notwendigen

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

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

Lernmodul 7 Algorithmus von Dijkstra

Lernmodul 7 Algorithmus von Dijkstra Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Kürzeste Wege Maike Buchin 4. und 6.7.2017 Einführung Motivation: Bestimmung von kürzesten Wegen ist in vielen Anwendungen, z.b. Routenplanung, ein wichtiges Problem. Allgemeine

Mehr

Verteilen von Bällen auf Urnen

Verteilen von Bällen auf Urnen Verteilen von Bällen auf Urnen Szenario: Wir verteilen n Bälle auf m Urnen, d.h. f : B U mit B = {b 1,..., b n } und U = {u 1,..., u m }. Dabei unterscheiden wir alle Kombinationen der folgenden Fälle

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Minimale Spannbäume Maike Buchin 18.7., 20.7.2017 Einführung Motivation: Verbinde Inseln mit Fähren oder Städte mit Schienen und verbrauche dabei möglichst wenig Länge. Problem:

Mehr

Binäre Bäume Darstellung und Traversierung

Binäre Bäume Darstellung und Traversierung Binäre Bäume Darstellung und Traversierung Name Frank Bollwig Matrikel-Nr. 2770085 E-Mail fb641378@inf.tu-dresden.de Datum 15. November 2001 0. Vorbemerkungen... 3 1. Terminologie binärer Bäume... 4 2.

Mehr

Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B4.1 Definitionen und Eigenschaften. B4.2 Traversierung. B4.

Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B4.1 Definitionen und Eigenschaften. B4.2 Traversierung. B4. Algorithmen und Datenstrukturen 28. März 2019 B4. Intermezzo - Bäume Algorithmen und Datenstrukturen B4. Intermezzo - Bäume B4.1 Definitionen und Eigenschaften Marcel Lüthi and Gabriele Röger Universität

Mehr

9. Natürliche Suchbäume

9. Natürliche Suchbäume Bäume Bäume sind. Natürliche Suchbäume [Ottman/Widmayer, Kap..1, Cormen et al, Kap. 12.1-12.] Verallgemeinerte Listen: Knoten können mehrere Nachfolger haben Spezielle Graphen: Graphen bestehen aus Knoten

Mehr

Einführung in die Informatik 2

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

Mehr

(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss.

(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss. (a, b)-bäume / 1. Szenario: Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss. Konsequenz: Kommunikation zwischen Hauptspeicher und Festplatte - geschieht nicht Byte für Byte,

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Elementare Datenstrukturen Array Linked List Stack Queue Tree (Feld) (Verkettete Liste) (Stapel) (Warteschlange) (Baum) 1 Sortierbaum

Mehr

15. Elementare Graphalgorithmen

15. Elementare Graphalgorithmen Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen

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

Dynamische Mengen. Realisierungen durch Bäume

Dynamische Mengen. Realisierungen durch Bäume Dynamische Mengen Eine dynamische Menge ist eine Datenstruktur, die eine Menge von Objekten verwaltet. Jedes Objekt x trägt einen eindeutigen Schlüssel key[x]. Die Datenstruktur soll mindestens die folgenden

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

Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur vom Seite 1. Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15.

Kurs 1663 Datenstrukturen Musterlösungen zur Klausur vom Seite 1. Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15. Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur vom 15.08.98 Seite 1 Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15. August 1998 Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur

Mehr

ADS: Algorithmen und Datenstrukturen

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

Mehr

Dynamische Datenstrukturen

Dynamische Datenstrukturen Dynamische Datenstrukturen B-Bäume größere Datenmengen verwalten Extern speichern Art der Speicherung berücksichtigen sonst kein optimaler Datenzugriff möglich Art der Speicherung großer Datenmengen Magnetplatten

Mehr

Algorithmen und Datenstrukturen SS09. Foliensatz 16. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik

Algorithmen und Datenstrukturen SS09. Foliensatz 16. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik Foliensatz 16 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 45 Graphen TU Ilmenau Seite 2 / 45 Graphen 1 2 3 4 5 6 7 8

Mehr

Clausthal C G C C G C. Informatik II Bäume. G. Zachmann Clausthal University, Germany Beispiele. Stammbaum.

Clausthal C G C C G C. Informatik II Bäume. G. Zachmann Clausthal University, Germany Beispiele. Stammbaum. lausthal Informatik II Bäume. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Beispiele Stammbaum. Zachmann Informatik - SS 0 Bäume Stammbaum Parse tree, Rekursionsbaum Unix file hierarchy

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

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

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

Algorithmen und Datenstrukturen. Kapitel 4: Suchverfahren. Skript zur Vorlesung. Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen. Kapitel 4: Suchverfahren. Skript zur Vorlesung. Algorithmen und Datenstrukturen LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Algorithmen und Datenstrukturen Kapitel 4: Suchverfahren Skript zur Vorlesung Algorithmen und Datenstrukturen Sommersemester

Mehr

Binäre Suchbäume. Organisatorisches. VL-10: Binäre Suchbäume. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger.

Binäre Suchbäume. Organisatorisches. VL-10: Binäre Suchbäume. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger. Organisatorisches VL-10: inäre Suchbäume (Datenstrukturen und lgorithmen, SS 17) Gerhard Woeginger Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Sprechstunde: Mittwoch 11: 12:00 Übungen: Tim Hartmann,

Mehr

11.1 Grundlagen - Denitionen

11.1 Grundlagen - Denitionen 11 Binärbäume 11.1 Grundlagen - Denitionen Denition: Ein Baum ist eine Menge, die durch eine sog. Nachfolgerrelation strukturiert ist. In einem Baum gilt: (I) (II) 1 Knoten w ohne VATER(w), das ist die

Mehr

elementare Datenstrukturen

elementare Datenstrukturen elementare Datenstrukturen Wie die Daten das Laufen lernten Andreas Ferber af@myipv6.de elementare Datenstrukturen p./40 KISS elementare Datenstrukturen p./40 KISS (Keep It Simple, Stupid) Immer die einfachste

Mehr

Suchbäume mit inneren Knoten verschiedener Knotengrade.

Suchbäume mit inneren Knoten verschiedener Knotengrade. Was bisher geschah rekursive Datenstrukturen: lineare Datenstrukturen: Liste, Stack, Queue hierarchische Datenstrukturen: Bäume allgemeine Bäume Binäre Bäume Unäre Bäume = Listen Tiefe eines Knotens in

Mehr