Kap. 6: Geometrische Algorithmen 6.1 Mehrdimensionale Suchstrukturen

Größe: px
Ab Seite anzeigen:

Download "Kap. 6: Geometrische Algorithmen 6.1 Mehrdimensionale Suchstrukturen"

Transkript

1 Kap. 6: Geometrische Algorithmen 6.1 Mehrdimensionale Suchstrukturen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 23./24. VO A&D WS 08/09 20./22. Januar

2 Literatur M. de Berg, O. Cheong, M. van Krefeld, und M. Overmars: Computational Geometry, Springer 2008, Kap. 5: Orthogonal Range Searching, Kap. 14: Quadtrees F. P. Preparata und M. I. Shamos: Computational geometry: an introduction, 1985, Springer, Kap. 2.3 Range-Searching Problems R.A. Finkel und J.L. Bentley: Quad trees: A data stucture for retrieval on composite keys, Acta Informatica 4, 1974, S. 1-9 J. L. Bentley: Multidimensional binary search trees used for associative searching, Communications of the ACM, vol. 18, no. 9, 1975, S

3 Überblick: 6.1 Mehrdimensionale Suchstrukturen Einführung in mehrdimensionale Suchstrukturen Point-region quad trees Point quad trees K-d trees Range trees 3

4 6.1.1 Einführung in mehrdimensionale Suchstrukturen Gegeben: Menge S von N Punkten in R k Familie U von Untermengen von R k (Ranges) δ U Gesucht: Vorverarbeitung von S, so dass Abfragen der Art: ``Berichte alle Punkte in S δ effizient berichtet werden können. Beispiel: Datenbankabfragen 4

5 Anwendungsbereiche Datenbanken Computergraphik / Computer Vision Computer-Aided Design Geographische Informationssysteme Bildverarbeitung Mustererkennung Document-Retrieval Data Mining... 5

6 Charakterisierung (1) Welche Datentypen werden gespeichert? S ist ungeordnete Menge (z.b. Index) S ist kartes. Produkt S 1 S 2... S k geordn. Mengen Dimension: k ist kleiner gleich 10 Operationen: Find, Insert, Delete, (Pred., Succ., Min, Max) Welche Speichermedien? intern vs. extern 6

7 Charakterisierung (2) Welche Objekttypen werden gespeichert? Punkte, Container (z.b. Quader in 3D), komplexere Lage fixiert oder beweglich? Welche Abfragen und wie oft? Ist Punkt enthalten? Aufzählung aller Punkte, die in gewünschtem k-dim. Bereich liegen Welche Punkte liegen in der Nähe eines Punktes? Finde die n nächsten Nachbarn eines Punktes Exakte vs. partielle Abfragen Einmalige vs. viele Abfragen 7

8 Wir betrachten folgende Abfragen: Punkt-Abfrage (Point Query): Ist ein gegebener Datenpunkt in S R k enthalten, und falls ja, dann finde diesen. Bereichsabfrage (Range Query): Berichte alle Punkte aus S, deren k Schlüssel in den gewünschten Bereichen liegen. 8

9 Einfache Datenstrukturen Name X-key Y-key Sequentielle Liste Aufwand: O(N k) D 5 45 C O M Invertierte Liste (Knuth 1973) Sortierte Liste pro Schlüssel Durchschnittlicher Aufwand: O(N 1-1/k ) Aufwand: O(N k) X-key D O C M Y-key M O C D 9

10 ``Fixed Grid Methode Suchraum wird in gleiche Teile (Buckets) der Größe r aufgeteilt, wobei r der Suchradius ist Realisiert als k-dim. Array mit einem Eintrag per Bucket; jeder Bucket enthält Punkte in Form einer einfachen Liste Durchschnittlicher Suchaufwand für Bereichssuche (Bentley 1977): O(F 2 k ), wobei F die Anzahl der berichteten Punkte ist Effizient, wenn fixer Radius und Datenpunkte gleichmäßig im Raum verteilt sind (Kartographie) Teilt den Raum auf 10

11 Trie Region Quadtrees Repräsentation eines 2-dim. Binärbildes (Region Data) Rekursive Teilung eines 0/1-Bereiches in vier gleich große Quadranten, STOP falls Block nur 0 oder nur 1 enthält Suchbaum mit Grad 4 (s. Beispiel) Jedes Kind eines Knotens repräsentiert Quadranten (NW,NE,SW,SE) Blätter Aufteilung nicht weiter notwendig Blätter sind entweder ``weiß oder ``schwarz, innere Knoten sind ``grau 11

12 6.1.2 Point-Region Quadtrees Repräsentation von eines Punkten 2-dim. in einem Binärbildes k-dim. Bereich (Region Data) Rekursive Teilung eines quadratischen 0/1- Bereiches in vier gleich große Quadranten, STOP falls Block nur 0 oder nur 1 Punkt enthält Jedem Feld wird ein Knoten in einem Suchbaum mit Maximal- Grad 4 zugeordnet Jedes Kind eines Knotens repräsentiert Quadranten (NW,NE,SW,SE) Blätter Aufteilung nicht weiter notwendig Blätter sind entweder ``weiß (falls kein Punkt enthalten ist) oder ``schwarz (sonst), innere Knoten sind ``grau 12

13 Point-Region Quadtrees: k=2 Beispiel N=10 Punkte (0,100) (100,100) y (0,0) x (100,0)

14 PR Quadtree für Beispiel (50,50) (75,75) (25,25) (75,25) 14

15 k=2: Aufbau eines PR Quadtrees Top-Down Aufbau: Starte mit Feld B, das alle Knoten enthält Sei v B der zugehörige Knoten im Suchbaum Falls B mehr als einen Knoten enthält, dann erzeuge 4 Kinder von v B im Suchbaum weise jedem Kind-Feld B i alle Knoten aus B zu, welche in B i enthalten sind entferne leere Kind-Felder v B i im Baum Alternativ: Insert-Aufbau: Starte mit leerem Feld B und füge iterativ die Knoten ein Einfügen geht ähnlich wie bei binären Suchbäumen: suche das richtige Feld, Suche endet an Blatt, füge ein.

16 Z-Order, DFS-Order Morton Order [Morton 1966] space filling curve: bildet einen k-dimensionalen Bereich auf eine Dimension ab Abb. aus Wikipedia

17 Laufzeit? Baum hat Tiefe N Laufzeiten beider Aufbau-Algorithmen: O(N 2 ) (0,100) (100,100) 1 1 y (0,0) x (100,0) 4 5

18 6.1.3 Point Quad Trees Eingeführt von Finkel & Bentley 1974 Multidimensionale Verallgemeinerung von binären Suchbäumen Verheiratung von ``Fixed Grid mit binären Suchbäumen Rekursive Teilung an Datenpunkten in jeweils vier Teile: NW,NE,SW, SE Hier Annahme: k=2, Verallg. einfach Jeder Punkt wird nur einmal besetzt 18

19 Beispiel: K L J D B H E C F G I A M N

20 Point Quadtree zu Beispiel A J F M N K L H G B I D C E

21 Point Quad Trees: Operation Insert Jeder innere Knoten enthält Zeiger zu Kindern NW,NE,SW,SE CHILD(P,I): gibt Kind im Quadranten I von Knoten P an XCOORD, YCOORD: Koordinaten von Punkt NAME: Information über Punkt (z.b. Name) Ähnlich wie für binäre Suchbäume: Suche den Punkt (nach x und y-key) Wenn Blatt erreicht ist, dann bestimme Position, an die eingefügt werden muss. 21

22 Beispiel: Insert Z K L J D B H E C F Z G I A M N 22

23 Point Quadtree zu Beispiel: Insert Z A J F M N K L H G B I D C E Z

24 Point Quadtrees: Analyse Aufbau Aufbau eines Point Quadtrees: Aufwand ist äquivalent zur Gesamtpfadlänge = Kosten, um nach allen Elementen einmal zu suchen Gesamtpfadlänge: Hängt von Reihenfolge der Einfügungen der Punkte ab Empirisch: N log 4 N (Finkel & Bentley) Worst Case: θ(n 2 ) Aufwand für Insert und Search Empirisch: O(log 4 N) Worst Case: O(N) Re-Balancing Methoden sind möglich 26

25 Point Quadtrees: Deletion Problem: Geht nicht so leicht wie bei binären Suchbäumen Beispiel: Entfernung von A 27

26 Delete A: Beispiel: Deletion K L J D B H E C F G I A M N

27 Delete A: Beispiel: Deletion K L J D B H E C F G I A M N

28 Point Quadtrees: Deletion Problem: Unterbäume des gelöschten Knotens müssen eventuell neu eingefügt werden, denn sie sind nicht mehr im richtigen Quadranten bzgl. der neuen Wurzel Original-Vorschlag war daher: alle diese Unterbäume neu einfügen Besser: Vorschlag von Samet: 30

29 Point Quadtrees: Deletion Problem: Unterbäume des entfernten Knotens müssen neu eingefügt werden Alle Knoten mit deren Unterbäumen, die in der Zwischenregion liegen, müssen neu eingefügt werden. Idee: Wähle in jedem Unterquadranten des zu entfernenden Knotens einen Kandidaten aus, der am nächsten bei x oder y-koordinate ist. Wähle aus diesen vier Kandidaten dann den besten aus. 31

30 Wunsch: Finde einen Punkt Z, so dass die Zwischen-Region Beispiel: def. durch Z und A leer ist K L J D B H E C F G I A M N Problem: Z muss Petra Mutzel nicht Alg. existieren! & Dat. WS 08/09 32

31 Deletion: FIND_CANDIDATE(P,Q) Pointer node procedure FIND_CANDIDATE(P,Q) // P pointer to the son in quadrant Q of the node to be deleted. // // OPQUAD(Q) gives quadrant 180 degrees apart from Q // 1. begin 2. if not(null(p)) 3. while not(null(child(p,opquad(q)))) do 4. P CHILD(P,OPQUAD(Q)); 5. return(p); 6. end; 33

32 Kriterium 1: Wähle denjenigen, der am nächsten Beispiel: bei A liegt Kandidaten bzgl. x und y nach FIND_CAND Punkt mit Kriterium 1 muss nicht existieren: Bsp K L J D B H E C F G I A M Kriterium 1 garantiert, dass Zwischenregion leer ist N

33 Kriterium 1: Wähle denjenigen, der am nächsten bei A liegt bzgl. x und Beispiel: y Kandidaten nach Kriterium 2 (NEU): Punkt mit Kriterium FIND_CAND Wähle denjenigen Punkt i mit kleinstem Abstand zu einer Koordinatenachse: 1 muss nicht min existieren: ( x Bsp i -x, y i -y ) K M L J y A Kriterium 1 garantiert, dass Zwischenregion leer ist Kriterium 2 garantiert, dass höchstens ein anderer Kandidat innerhalb der Zwischenregion liegt D B H E C F N G I Denn: Punkt im Quadranten gegenüber liegt sicher nicht in Zwischenregion und mind. ein anderer Punkt ist auch außerhalb. x

34 Point Quadtrees: Deletion - Vorgehen Sei P der zu entfernende Punkt, R ist Wurzel Falls P kein oder nur ein Kind hat: einfach Sonst: Bestimme die vier Kandidaten pro Quadrant Bestimme den besten Kandidaten nach Kriterien 1,2 Sei J bester Kandidat, J liegt in Quadrant Q bzgl. P: Kopiere xcoord, ycoord, name Rekursiver Umbau des nächsten Quadranten im Uhrzeigersinn CQUAD(Q) mit Hilfe von ADJQUAD() Rekursiver Umbau des nächsten Quadranten im Gegenuhrzeigersinn CCQUAD(Q) mit Hilfe von ADJQUAD() Rekursiver Umbau des Quadranten Q mit Hilfe von NEWROOT()

35 Delete Punkt A Beispiel: K L J D B H E C F G I A M N

36 Beispiel nach Deletion von A K D H F G L J B E C I M N

37 Quadtree zu Beispiel nach Deletion von A B J F M N K D H G C L E I 42

38 Point Quadtree vor Delete A A J F M N K L H G B I D C E

39 Point Quadtrees: Analyse Theoretisch (Bentley 1988): Deletion Aufwand bei gleichmäßig verteilten Daten für die Anzahl der Neueinfügungen geht um 83% zurück gegenüber der Neueinfügung aller Teilbäume. Empirisch (Bentley 1988): Empirisch: N log 4 N vs. deutlich größer in Original Gesamtpfadlänge verringert sich leicht vs. deutlich Verlängerung in Original Worst Case: O(N 2 ) Deletion sehr komplex! Alternative: Pseudo Quadtrees 50

40 Pseudo Quadtrees Overmars und van Leeuwen 1982 Idee: Rekursive Aufteilung des Raumes an Punkten, die nicht Datenpunkte sind, in Quadranten, Unterquadranten, etc., bis jeder Unterquadrant höchstens einen Datenpunkt enthält. 51

41 Pseudo Quadtrees: Beispiel (0,100) (100,100) (60,75) TORONTO 70,70 y (5,45) DENVER (25,35) OMAHA (40,50) (35,40) CHICAGO (26,37) (65,12) (80,65) BUFFALO (85,15) ATLANTA (50,10) (90,5) Mobile MIAMI (0,0) x (100,0)

42 Pseudo Quadtree für Beispiel (40,50) (70,70) (26,37) (65,12) TORONTO BUFFALO DENVER OMAHA CHICAGO ATLANTA MIAMI MOBILE 53

43 Pseudo Quadtrees: Aufbau: Für je N Datenpunkte im k-dim. Raum existiert ein Partitionierungspunkt, so dass jeder Quadrant höchstens N/(k+1) Datenpunkte enthält. Analyse: Dann besitzt der Pseudo Quadtree eine Tiefe von höchstens log k+1 N und kann in Zeit O(N log k+1 N) gebaut werden. 54

44 Point Quadtrees: Diskussion Nachteile bei höheren Dimensionen: An jedem Knoten des Baumes sind k Vergleiche notwendig (um den Quadranten zu bestimmen) Hoher Speicherplatzverbrauch: Jedes Blatt benötigt k viele NULL Pointer, auch jeder innere Knoten besitzt immer wieder NULL Pointer Speicherplatzverbrauch pro Knoten: k+2 k +1 Wörter für Koordinaten, Kinder und Info 55

45 Jon Louis Bentley K-D Trees: Idee: Binärer Suchbaum mit der Eigenschaft, dass in jeder Tiefe nach einer anderen Dimension orthogonal aufgeteilt wird. Z.B. k=2: nach x-koordinaten auf den Schichten mit gerader Nummer (Beginn bei Schicht 0), nach y- Koordinaten auf den ungeraden Schichten. Aufteilung basiert auf den Datenpunkten BSP Trees (Fuchs, Kedem, Naylor 1980): K-D Trees, bei denen nicht orthogonal aufgeteilt wird (beliebige Hyperebenen) 56

46 K-D Tree: Beispiel (0,100) (100,100) (60,75) TORONTO (80,65) BUFFALO y (5,45) DENVER (25,35) OMAHA (35,40) CHICAGO (85,15) ATLANTA (50,10) Mobile (90,5) MIAMI (0,0) x (100,0)

47 Datenstruktur: K-D Trees: LEFT, RIGHT: linkes und rechtes Kind (referenziert als CHILD(P,I) bzw. LOCHILD(P) und HICHILD(P)) XCOORD, YCOORD,... NAME DISC: Diskriminator bzgl. k-tem Schlüssel Abmachung für Diskriminatoren: gleiche Schlüsselwerte befinden sich im rechten Teilbaum 58

48 K-D Tree: Einfügen (0,100) (100,100) y (5,45) DENVER (60,75) TORONTO Z (80,65) BUFFALO (25,35) OMAHA (35,40) CHICAGO (85,15) ATLANTA (50,10) Mobile (90,5) MIAMI (0,0) x (100,0)

49 K-D Trees: INSERT Analog zu binären Suchbäumen: Wir suchen den Punkt abwechselnd basierend auf den k Schlüsseln Wenn das Blatt erreicht ist, haben wir die Einfüge- Position gefunden Analyse: Form des Baumes hängt von Einfügereihenfolge ab Durchschnittliche Tiefe: O(log 2 N) Worst Case Tiefe: O(N), Aufbau: O(N 2 ) Optimierung ähnlich wie bei Quad Trees Alternative: Adaptive K-D Tree 60

50 Idee: Adaptive K-D Trees Wie K-D Trees, ausser, dass die Aufteilung zwischen (statt an) den Datenpunkten gemacht wird Datenpunkte werden nur in den Blättern gespeichert Jeder innere Knoten enthält den Median der Menge der noch übrigen, in diesem Teil befindlichen Knoten (bzgl. einem Schlüssel) Aufteilung nicht mehr abwechselnd nach Schlüsseln, sondern nach dem Schlüssel, der noch die größte Differenz zwischen min und max besitzt. 61

51 Adaptiver K-D Tree: Beispiel (0,100) (100,100) (60,75) TORONTO (80,65) BUFFALO y (5,45) DENVER (35,40) CHICAGO (25,35) OMAHA (85,15) ATLANTA (50,10) Mobile (90,5) MIAMI (0,0) x Petra Mutzel (100,0) Alg. & Dat. WS 08/09 62

52 Diskussion: Adaptive K-D Trees Ist nicht notwendigerweise balanciert Statische Datenstruktur (alle Punkte müssen vorher bekannt sein, sonst nicht sinnvoll) Deletion ist sehr komplex Suchen: ähnlich wie bei K-D Trees 63

53 Diskussion (k=2): K-D Trees: Deletion Deletion ist nicht so leicht wie bei binären Suchbäumen Problem: nach Entfernung von Knoten aus Baum stimmen die Diskriminatoren nicht mehr (z.b. 2 Mal x- Koordinaten hintereinander) Idee: Rekursiv: DELETION(a,b) Finde Ersatzknoten (c,d) in einem Unterbaum Überschreibe (a,b) mit (c,d) DELETION(c,d) 64

54 K-D Trees: Deletion Kandidaten für Ersatzknoten: Sei (a,b) x-diskriminator, dann: (1) Entweder Knoten im linken Teilbaum mit größter x- Koordinate (2) Oder Knoten im rechten Teilbaum mit kleinster x- Koordinate (1) scheidet aus wegen Abmachung bzgl. gleicher Schlüsselwerte, denn Annahme: sei (c,d) aus linkem Teilbaum, dann könnte ein anderer Knoten (c,z) in linkem Teilbaum existieren 65

55 K-D Trees: Deletion Kandidaten für Ersatzknoten: Sei (a,b) x-diskriminator, dann ist Kandidat: Knoten im rechten Teilbaum von a mit kleinster x- Koordinate Problem: rechter Teilbaum von a ist leer Lösung: Finde Knoten (c,d) mit kleinster x-koordinate in linkem Teilbaum von a Hänge den linken Teilbaum von (a,b) an den rechten Teilbaum von (c,d) Rekursiver Aufruf von DELETION(c,d) Beispiel: 66

56 K-D Trees: Beispiel Deletion (0,60) (60,60) C(25,50) E(30,45) G(55,40) H(45,35) y B(10,30) F(30,35) I(50,30) A(20,20) D(35,25) (0,0) x (60,0)

57 K-D Trees: Deletion Problem reduziert auf: Bestimme den Knoten mit kleinsten x- bzw. y-koordinate in Teilbaum von (a,b): Muss im linken Teilbaum eines x-diskrimina-tors sein Kann im linken oder rechten Teilbaum eines y- Diskriminators sein Analyse: Dieser Aufwand ist O(N 1-1/k ) 68

58 K-D Trees: Bereichssuche Ausgabe aller Knoten (x,y), die sich innerhalb des Gebietes mit Radius d (euklidisch) um (a,b) befinden,d.h. (a-x) 2 +(b-y) 2 d 2 72

59 K-D Trees: Bereichssuche (0,100) (100,100) (60,75) TORONTO (80,65) BUFFALO y (5,45) DENVER (25,35) OMAHA (35,40) CHICAGO (85,15) ATLANTA (50,10) Mobile (90,5) MIAMI (0,0) x (100,0) (88,6), d=3

60 K-D Trees: Bereichssuche Analyse: Worst Case für vollständigen K-D Tree: O(k N 1-1/k ) 74

61 Diskussion K-D Trees An jedem Knoten muss nur jeweils ein Schlüsselvergleich durchgeführt werden. Speicherplatz: Blätter: es gibt nur maximal zwei NULL-Pointer Benötigter Speicherplatz pro innerer Knoten: k für LEFT, RIGHT, NAME, DISC + k Wörter für k Schlüssel Adaptive K-D Trees: Innere Knoten benötigen nur 5 Wörter Nachteil gegenüber Quadtree: Quadtree ist eine parallele Datenstruktur (k Schlüsselvergleiche), K-D Trees nicht 75

Exkurs: Datenstruktur Quad Tree

Exkurs: Datenstruktur Quad Tree Exkurs: Datenstruktur Quad Tree Prof. Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering LS11 Universität Dortmund 27. VO WS07/08 04. Februar 2008 1 Mehrdimensionale Suchstrukturen Gegeben: Menge S von

Mehr

Kap. 6: Geometrische Algorithmen 6.1 Mehrdimensionale Suchstrukturen

Kap. 6: Geometrische Algorithmen 6.1 Mehrdimensionale Suchstrukturen Kap. 6: Geometrische Algorithmen 6.1 Mehrdimensionale Suchstrukturen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 23.-26. VO A&D WS 08/09 20./22./27./29.01.2009

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

4. Tries und kd-bäume

4. Tries und kd-bäume 4. Tries und kd-bäume Digitale Suchbäume (Tries) kd-bäume Prof. Dr. O. Bittel, HTWG Konstanz Algorithmen und Datenstrukuren Tries und kd-bäume SS 2019 4-1 Tries (1) Problem mit den bisherigen Suchbäumen

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

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15.

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Wiederholung: Min-Hashing ˆ Gegeben zwei Mengen A und B von Objekten. ˆ Ein oft benutztes

Mehr

Informatik II, SS 2014

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

Mehr

WINTERSEMESTER 2006/2007. Mehrdimensionale Bäume

WINTERSEMESTER 2006/2007. Mehrdimensionale Bäume ALGORITHMISCHE ANWENDUNGEN WINTERSEMESTER 2006/2007 Team: B_blau_Ala0607 Wilhelm Faber 11032935 Ioannis Chouklis 11042438 1 Inhaltsverzeichnis Inhaltsverzeichnis...2 1. Der k-d Baum...3 1.1. Inhomogene

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

Bereichsabfragen. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Bereichsabfragen. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.05.2011 Geometrie in Datenbanken In einer Personaldatenbank

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

B6.1 Introduction. Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B6.1 Introduction. B6.3 Analyse. B6.4 Ordnungsbasierte Methoden

B6.1 Introduction. Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B6.1 Introduction. B6.3 Analyse. B6.4 Ordnungsbasierte Methoden Algorithmen und Datenstrukturen 11. April 2018 B6. Binäre Suchbäume a Algorithmen und Datenstrukturen B6. Binäre Suchbäume 1 Marcel Lüthi and Gabriele Röger Universität Basel 11. April 2018 a Folien basieren

Mehr

Motivation Binäre Suchbäume

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

Mehr

Kap. 4.7 Skiplisten. 14./15. VO DAP2 SS /16. Juni 2009

Kap. 4.7 Skiplisten. 14./15. VO DAP2 SS /16. Juni 2009 Kap. 4.7 Skiplisten Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 14./15. VO DAP2 SS 2008 9./16. Juni 2009 1 2. Übungstest Termin: Di 16. Juni 2009 im AudiMax,

Mehr

Kap. 4.7 Skiplisten. 15./16. VO DAP2 SS /10. Juni 2008

Kap. 4.7 Skiplisten. 15./16. VO DAP2 SS /10. Juni 2008 Kap. 4.7 Skiplisten Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 15./16. VO DAP2 SS 2008 5./10. Juni 2008 1 Proseminare WS 2008/09 Anmeldefrist: Montag 16.06.

Mehr

Algorithmische Geometrie 7. Punktsuche

Algorithmische Geometrie 7. Punktsuche Algorithmische Geometrie 7. Punktsuche JProf. Dr. Heike Leitte Computergraphik und Visualisierung Inhaltsverzeichnis 1. Einführung 2. Konvexe Hülle 3. Schnitte von Liniensegmenten 4. Schnitte planarer

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

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

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

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 10 (28.5.2018) Binäre Suchbäume II Algorithmen und Komplexität Binäre Suchbäume Binäre Suchbäume müssen nicht immer so schön symmetrisch

Mehr

Kap. 3: Sortieren (3)

Kap. 3: Sortieren (3) Kap. 3: Sortieren (3) Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund 6. VO DAP2 SS 2009 30. April 2009 Überblick Quick-Sort Analyse von Quick-Sort Quick-Sort

Mehr

Mi, 21. Mai, ab 12:30 Uhr, in E23 (OH14) Dann ab 14:30 Uhr: Motivation: Gegeben: hier: später: Aufgabe:

Mi, 21. Mai, ab 12:30 Uhr, in E23 (OH14) Dann ab 14:30 Uhr: Motivation: Gegeben: hier: später: Aufgabe: Kap. 4: Suchen in Datenmengen Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund 0. VO DAP2 SS 2008 5. Mai 2008 Ankündigung Mentoring Mi, 2. Mai, ab 2:30 Uhr, in

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen B7. Balancierte Bäume 1 Marcel Lüthi and Gabriele Röger Universität Basel 13. April 2018 1 Folien basieren auf Vorlesungsfolien von Sedgewick & Wayne https://algs4.cs.princeton.edu/lectures/33balancedsearchtrees-2x2.pdf

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

Entwurf und Analyse von Datenstrukturen

Entwurf und Analyse von Datenstrukturen Entwurf und Analyse von Datenstrukturen Sommersemester 2013 1. Termin: 17. April 2013 Jan-Henrik Haunert ehem. Mathebau, Raum E27 jan.haunert@uni-wuerzburg.de Alexander Wolff ehem. Mathebau, Raum E29 alexander.wolff@uni-wuerzburg.de

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

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

Bereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Bereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.07.2012 Objekttypen in Bereichsabfragen y0 y0 y x x0 Bisher

Mehr

Bereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Bereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.07.2012 Objekttypen in Bereichsabfragen y0 y x x0 Bisher

Mehr

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / Vorlesung 10, Donnerstag 9.

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / Vorlesung 10, Donnerstag 9. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 10, Donnerstag 9. Januar 2014 (Verkettete Listen, Binäre Suchbäume) Junior-Prof. Dr.

Mehr

Indexstrukturen in Datenbanken

Indexstrukturen in Datenbanken für Zeichendaten und Texte sowie mehrdimensionale Dateiorganisation und Zugriffspfade 3. Juli 2014 Inhaltsverzeichnis 1 Einleitung 2 Präfix B+-Baum 3 Tries 4 k-dimensionale Bäume 5 Grid-File 6 mehrdimensionales

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Sortierte Folgen Maike Buchin 30.5., 1.6., 13.6.2017 Sortierte Folgen Häufiges Szenario: in einer Menge von Objekten mit Schlüsseln (aus geordnetem Universum) sollen Elemente

Mehr

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

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

{0,1} rekursive Aufteilung des Datenraums in die Quadranten NW, NE, SW und SE feste Auflösung des Datenraums in 2 p 2 p Gitterzellen

{0,1} rekursive Aufteilung des Datenraums in die Quadranten NW, NE, SW und SE feste Auflösung des Datenraums in 2 p 2 p Gitterzellen 4.4 MX-Quadtrees (I) MatriX Quadtree Verwaltung 2-dimensionaler Punkte Punkte als 1-Elemente in einer quadratischen Matrix mit Wertebereich {0,1} rekursive Aufteilung des Datenraums in die Quadranten NW,

Mehr

Informatik II: Algorithmen und Datenstrukturen SS 2015

Informatik II: Algorithmen und Datenstrukturen SS 2015 Informatik II: Algorithmen und Datenstrukturen SS 2015 Vorlesung 8b, Mittwoch, 17. Juni 2015 (Balancierte Suchbäume) Prof. Dr. Hannah Bast Lehrstuhl für Algorithmen und Datenstrukturen Institut für Informatik

Mehr

Kap. 4.2 Binäre Suchbäume ff Kap. 4.3: AVL-Bäume

Kap. 4.2 Binäre Suchbäume ff Kap. 4.3: AVL-Bäume Kap. 4.2 Binäre Suchbäume ff Kap. 4.3: AVL-Bäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 12./13. VO DAP2 SS 2009 28.5./2.6.2009 1 Motivation Warum soll

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

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2018 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Organisatorisches: Keine Vorlesung nächste Woche wegen

Mehr

Kap. 3 Sortieren. 7. VO DAP2 SS Mai Vorlesung am Do 7.5. entfällt wegen FVV um 14 Uhr HeapSort ff 3.1.

Kap. 3 Sortieren. 7. VO DAP2 SS Mai Vorlesung am Do 7.5. entfällt wegen FVV um 14 Uhr HeapSort ff 3.1. Kap. 3 Sortieren 3.1.5 HeapSort ff 3.1.6 Priority Queues Vorlesung am Do 7.5. entfällt wegen FVV um 14 Uhr Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 7.

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

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / Vorlesung 10, Donnerstag 8.

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / Vorlesung 10, Donnerstag 8. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 10, Donnerstag 8. Januar 2015 (Verkettete Listen, Binäre Suchbäume) Junior-Prof. Dr.

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

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

Hallo Welt für Fortgeschrittene

Hallo Welt für Fortgeschrittene Hallo Welt für Fortgeschrittene Geometrie II Benjamin Zenke Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Inhalt Closest Pair Divide & Conquer Bereichssuche Gitterverfahren k-d-tree Sweep-Line-Algorithmen

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

Trees. November 14, Algorithms & Datastructures 2 Exercises WT 2017

Trees. November 14, Algorithms & Datastructures 2 Exercises WT 2017 Trees November 14, 2017 Algorithms & Datastructures 2 Exercises WT 2017 Dipl.-Ing. University Linz, Institute for Pervasive Computing Altenberger Straße 69, A-4040 Linz anzengruber@pervasive.jku.at Binärbaum

Mehr

Bereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Bereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 20.05.2014 Objekttypen in Bereichsabfragen y0 y0 y x x0 Bisher betrachteter Fall Eingabe:

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

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

Trees. November 13, Algorithms & Datastructures 2 Exercises WT 2017

Trees. November 13, Algorithms & Datastructures 2 Exercises WT 2017 Trees November 13, 2018 Algorithms & Datastructures 2 Exercises WT 2017 Dipl.-Ing. University Linz, Institute for Pervasive Computing Altenberger Straße 69, A-4040 Linz anzengruber@pervasive.jku.at Binärbaum

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 2. April

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

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

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

Kap. 3: Sortieren. Überblick. Unser Sortierproblem. Motivation. Laufzeitmessung. Warum soll ich hier bleiben? Sortierverfahren sind WICHTIG!!!

Kap. 3: Sortieren. Überblick. Unser Sortierproblem. Motivation. Laufzeitmessung. Warum soll ich hier bleiben? Sortierverfahren sind WICHTIG!!! Kap. 3: Sortieren Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund Überblick Einführung in das Sortierproblem Insertion-Sort Selection-Sort Merge-Sort 4. VO

Mehr

13. Binäre Suchbäume

13. Binäre Suchbäume 1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),

Mehr

Kap. 3: Sortieren. 4. VO DAP2 SS April 2009

Kap. 3: Sortieren. 4. VO DAP2 SS April 2009 Kap. 3: Sortieren Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 4. VO DAP2 SS 2009 23. April 2009 1 Überblick Einführung in das Sortierproblem Insertion-Sort

Mehr

KD-Bäume. ein Vortrag von Jan Schaefer

KD-Bäume. ein Vortrag von Jan Schaefer ein Vortrag von Jan Schaefer Überblick - Kurzer Rückblick: Quad Trees - KD-Baum bauen - Effizienz des Konstruktionsalgorithmus - Regionen - Bereichssuche - Effizienz des Suchalgorithmus - Anwendungsgebiete

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

Copyright, Page 1 of 7 Heapsort

Copyright, Page 1 of 7 Heapsort www.mathematik-netz.de Copyright, Page 1 of 7 Heapsort Alle grundlegenden, allgemeinen Sortierverfahren benötigen O(n 2 ) Zeit für das Sortieren von n Schlüsseln. Die kritischen Operationen, d.h. die Auswahl

Mehr

Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B6.1 Einführung. B6.2 Symboltabellen. B6.3 Einfache Implementationen

Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B6.1 Einführung. B6.2 Symboltabellen. B6.3 Einfache Implementationen Algorithmen und Datenstrukturen 03. April 2019 B6. Symboltabellen a Algorithmen und Datenstrukturen B6. Symboltabellen 1 Marcel Lüthi and Gabriele Röger Universität Basel 03. April 2019 a Folien basieren

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

Aufgaben, Hilfestellungen und Musterlösungen zum Modul 5 Druckversion

Aufgaben, Hilfestellungen und Musterlösungen zum Modul 5 Druckversion Abschnitt 1 Aufgaben, Hilfestellungen und Musterlösungen zum Modul 5 Druckversion Aufgabe 1: Binäre Suchbäume: Iteratives Suchen/Einfügen/Löschen Das Material dieser Übung enthält in der Klasse Tree0 die

Mehr

Datenstrukturen und Algorithmen. 7. Suchen in linearen Feldern

Datenstrukturen und Algorithmen. 7. Suchen in linearen Feldern Datenstrukturen und Algorithmen 7. Suchen in linearen Feldern VO 708.031 Suchen in linearen Feldern robert.legenstein@igi.tugraz.at 1 Inhalt der Vorlesung 1. Motivation, Einführung, Grundlagen 2. Algorithmische

Mehr

Algorithmische Geometrie: Abfragen Orthogonaler Bereiche

Algorithmische Geometrie: Abfragen Orthogonaler Bereiche Algorithmische Geometrie: Abfragen Orthogonaler Bereiche Nico Düvelmeyer WS 2009/2010, 8.12.2009 Überblick 1 1-dimensionale Bereichsabfragen 2 Kd-Baum Struktur Aufbau Abfrage mit dem Kd-Baum 3 Range-Baum

Mehr

Punktlokalisierung. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Punktlokalisierung. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 22.05.2012 Nachtrag: Dynamische Bereichsabfragen Letzte Woche: kd-trees und Range-Trees

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

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

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

11. Elementare Datenstrukturen

11. Elementare Datenstrukturen 11. Elementare Datenstrukturen Definition 11.1: Eine dynamische Menge ist gegeben durch eine oder mehrer Mengen von Objekten sowie Operationen auf diesen Mengen und den Objekten der Mengen. Dynamische

Mehr

Pat Trees und Pat Arrays Datenstrukturen zur effizienten Suche in Texten

Pat Trees und Pat Arrays Datenstrukturen zur effizienten Suche in Texten Pat Trees und Pat Arrays Datenstrukturen zur effizienten Suche in Texten Ruprecht-Karls-Universität Heidelberg HS Information Retrieval Dozentin: Dr. Karin Haenelt Referenten: Doina Gliga und Katja Niemann

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

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

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

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 Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 22.04.2014 Überlagern von Kartenebenen Beispiel: Gegeben zwei verschiedene Kartenebenen,

Mehr

Kapitel 9 Suchalgorithmen

Kapitel 9 Suchalgorithmen Kapitel 9 Suchalgorithmen Suchverfahren: Verfahren, das in einem Suchraum nach Mustern oder Objekten mit bestimmten Eigenschaften sucht. Vielfältige Anwendungsbereiche für Suchverfahren: u.a. Suchen in

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen B3. Verkettete Listen und Bäume Marcel Lüthi and Gabriele Röger Universität Basel 22. März 2018 Einführung Abstrakter Datentyp / Datenstruktur Abstrakter Datentyp Eine Menge

Mehr

Klasse räumlicher Indexstrukturen, die den Datenraum rekursiv in 4 gleich große Zellen unterteilen (Quadranten NW, NE, SW, SE)

Klasse räumlicher Indexstrukturen, die den Datenraum rekursiv in 4 gleich große Zellen unterteilen (Quadranten NW, NE, SW, SE) 4.4 Quadtrees Überblick Klasse räumlicher Indexstrukturen, die den Datenraum rekursiv in 4 gleich große Zellen unterteilen (Quadranten NW, NE, SW, SE) Verwaltung von Punkten, Kurven, Flächen usw., häufig

Mehr

Kapitel 2. Weitere Beispiele Effizienter Algorithmen

Kapitel 2. Weitere Beispiele Effizienter Algorithmen Kapitel 2 Weitere Beispiele Effizienter Algorithmen Sequentielle Suche Gegeben: Array a[1..n] Suche in a nach Element x Ohne weitere Zusatzinformationen: Sequentielle Suche a[1] a[2] a[3] Laufzeit: n Schritte

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

Abgabe: (vor der Vorlesung) Aufgabe 7.1 (P) Binomial Heap

Abgabe: (vor der Vorlesung) Aufgabe 7.1 (P) Binomial Heap TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 7 Prof. Dr. Helmut Seidl, S. Pott,

Mehr

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Heaps. Vorlesung 8: Heapsort (K6) Joost-Pieter Katoen. 7. Mai 2015

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Heaps. Vorlesung 8: Heapsort (K6) Joost-Pieter Katoen. 7. Mai 2015 Datenstrukturen und Algorithmen Vorlesung 8: (K6) 1 Joost-Pieter Katoen Lehrstuhl für Informatik Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-15/dsal/ 7. Mai 015 3 Joost-Pieter

Mehr

Dies ist gerade der konstruktive Schritt beim Aufbau von Binomialbäumen.

Dies ist gerade der konstruktive Schritt beim Aufbau von Binomialbäumen. Linken von Bäumen: Zwei Bäume desselben Wurzel-Rangs werden unter Einhaltung der Heap-Bedingung verbunden. Sind k 1 und k 2 die Wurzeln der zwei zu linkenden Bäume, so wird ein neuer Baum aufgebaut, dessen

Mehr

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 29.05.2011 Das Postamt-Problem b(p, q) = {x R 2 : xp = xq } p q h(p, q) h(q, p) = {x :

Mehr

Splay-Bäume. Joseph Schröer. Seminar über Algorithmen SoSe 2011, Prof. Dr. Helmut Alt

Splay-Bäume. Joseph Schröer. Seminar über Algorithmen SoSe 2011, Prof. Dr. Helmut Alt Splay-Bäume Joseph Schröer Seminar über Algorithmen SoSe 2011 Prof. Dr. Helmut Alt Einordnung Splay-Baum (engl. Splay Tree) Selbstanpassender binärer Suchbaum Engl. (to) splay spreizen wegstrecken weiten

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

Geometrische Algorithmen

Geometrische Algorithmen Geometrische Algorithmen Bin Hu Algorithmen und Datenstrukturen 2 Arbeitsbereich für Algorithmen und Datenstrukturen Institut für Computergraphik und Algorithmen Technische Universität Wien Einführung

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II und Red-Black-Trees Dr. Georg Sauthoff 1 AG Praktische Informatik July 1, SoSe 2011 1 gsauthof@techfak.uni-bielefeld.de Suchbäume (Indexdatenstrukturen) Zugriff in O(logn)

Mehr

Mengen. Binäre Suchbäume. Mengen: Anwendungen (II) Mengen: Lösung mit Listen 12/3/12. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps

Mengen. Binäre Suchbäume. Mengen: Anwendungen (II) Mengen: Lösung mit Listen 12/3/12. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps // Mengen Binäre Suchbäume Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps n Ziel: ufrechterhalten einer Menge (hier: ganzer Zahlen) unter folgenden Operationen: n eines Elements n eines Elements

Mehr

EINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12

EINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12 EINI LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 11/12 Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@udo.edu http://ls1-www.cs.uni-dortmund.de

Mehr

Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B3.1 Einführung. B3.2 Verkettete Liste. B3.3 Bäume

Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B3.1 Einführung. B3.2 Verkettete Liste. B3.3 Bäume Algorithmen und Datenstrukturen 22. März 2018 B3. Verkettete Listen und Bäume Algorithmen und Datenstrukturen B3. Verkettete Listen und Bäume B3.1 Einführung Marcel Lüthi and Gabriele Röger B3.2 Verkettete

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