Kap. 6: Geometrische Algorithmen 6.1 Mehrdimensionale Suchstrukturen
|
|
- Tristan Fertig
- vor 5 Jahren
- Abrufe
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 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
MehrKap. 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
MehrInformatik 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
Mehr4. 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
MehrInformatik 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
MehrDatenbankanwendung. 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
MehrInformatik 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:
MehrWINTERSEMESTER 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
MehrInformatik 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
MehrBereichsabfragen. 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
MehrInformatik 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:
MehrB6.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
MehrMotivation Binäre Suchbäume
Kap..: Binäre Suchbäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund Zusätzliche Lernraumbetreuung Morteza Monemizadeh: Jeden Montag von :00 Uhr-:00 Uhr in
MehrKap. 4.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,
MehrKap. 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.
MehrAlgorithmische 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
MehrAnwendungsbeispiel 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
MehrProgramm 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
MehrMehrwegbäume Motivation
Mehrwegbäume Motivation Wir haben gute Strukturen (AVL-Bäume) kennen gelernt, die die Anzahl der Operationen begrenzen Was ist, wenn der Baum zu groß für den Hauptspeicher ist? Externe Datenspeicherung
MehrInformatik 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
MehrKap. 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
MehrMi, 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
MehrAlgorithmen 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
MehrSuchbä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
MehrEntwurf 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
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2016/17 13. Vorlesung Binäre Suchbäume Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Dynamische Menge verwaltet Elemente einer sich ändernden Menge
MehrAlgorithmen 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
MehrBereichsabfragen 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
MehrBereichsabfragen 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
MehrAlgorithmen 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.
MehrIndexstrukturen 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
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Sortierte Folgen Maike Buchin 30.5., 1.6., 13.6.2017 Sortierte Folgen Häufiges Szenario: in einer Menge von Objekten mit Schlüsseln (aus geordnetem Universum) sollen Elemente
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 Bäume: Grundlagen und natürliche Suchbäume) Prof. Dr. Susanne Albers Bäume (1) Bäume sind verallgemeinerte Listen (jedes Knoten-Element kann mehr
MehrSuchstrukturen. Übersicht. 8 Suchstrukturen. Allgemeines. H. Täubig (TUM) GAD SS
Übersicht 8 Suchstrukturen Allgemeines Binäre Suchbäume AVL-Bäume H. Täubig (TUM) GAD SS 14 309 Allgemeines Übersicht 8 Suchstrukturen Allgemeines Binäre Suchbäume AVL-Bäume H. Täubig (TUM) GAD SS 14 310
Mehr{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,
MehrInformatik 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
MehrKap. 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
MehrWünschenswerte Eigenschaft von Suchbäumen mit n Knoten: Suchen, Einfügen, Löschen auch im schlechtesten Fall O(log n)
.6 Ausgeglichene Mehrweg-Suchbäume Wünschenswerte Eigenschaft von Suchbäumen mit n Knoten: Suchen, Einfügen, Löschen auch im schlechtesten Fall O(log n) Methoden: lokale Transformationen (AVL-Baum) Stochastische
MehrAlgorithmen 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
MehrKap. 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.
Mehr18. 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
MehrAlgorithmen 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.
MehrTeil 1: Suchen. Ausgeglichene Bäume B-Bäume Digitale Suchbäume. M.O.Franz, Oktober 2007 Algorithmen und Datenstrukturen - Binärbäume 1-1
Teil : Suchen Problemstellung Elementare Suchverfahren Hashverfahren Binäre Suchbäume (Wiederholung aus Prog 2) Bäume: Begriffe, Eigenschaften und Traversierung Binäre Suchbäume Gefädelte Suchbäume Ausgeglichene
MehrBinäre Suchbäume. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps
Binäre Suchbäume Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps Mengen n Ziel: Aufrechterhalten einer Menge (hier: ganzer Zahlen) unter folgenden Operationen: Mengen n Ziel: Aufrechterhalten einer
MehrHallo 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
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Binärbaum Suchbaum Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 356 Datenstruktur Binärbaum Strukturrepräsentation des mathematischen Konzepts Binärbaum
MehrTrees. 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
MehrBereichsabfragen 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:
Mehr9. 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
MehrNatü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
MehrTrees. 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
MehrDatenstrukturen & 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
MehrAlgorithmen und Datenstrukturen Suchbaum
Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen
MehrRotation. y T 3. Abbildung 3.10: Rotation nach rechts (analog links) Doppelrotation y
Die AVL-Eigenschaft soll bei Einfügungen und Streichungen erhalten bleiben. Dafür gibt es zwei mögliche Operationen: -1-2 Rotation Abbildung 3.1: Rotation nach rechts (analog links) -2 +1 z ±1 T 4 Doppelrotation
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen
MehrKap. 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
Mehr13. Binäre Suchbäume
1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),
MehrKap. 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
MehrKD-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
MehrAlgorithmen und Datenstrukturen 2. Dynamische Datenstrukturen
Algorithmen und Datenstrukturen 2 Dynamische Datenstrukturen Algorithmen für dynamische Datenstrukturen Zugriff auf Variable und Felder durch einen Ausdruck: Namen durch feste Adressen referenziert Anzahl
MehrCopyright, 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
MehrAlgorithmen 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
MehrChristian 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
MehrAufgaben, 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
MehrDatenstrukturen 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
MehrAlgorithmische 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
MehrPunktlokalisierung. 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
MehrKap. 4.2: Binäre Suchbäume
Kap. 4.2: Binäre Suchbäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 11. VO DAP2 SS 2009 26. Mai 2009 1 Zusätzliche Lernraumbetreuung Morteza Monemizadeh:
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 Bruder-Bäume, B-Bäume) Prof. Dr. Susanne Albers Balancierte Bäume Eine Klasse von binären Suchbäumen ist balanciert, wenn jede der drei Wörterbuchoperationen
MehrBinäre Suchbäume. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps
Binäre Suchbäume Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps Mengen n Ziel: Aufrechterhalten einer Menge (hier: ganzer Zahlen) unter folgenden Operationen: Mengen n Ziel: Aufrechterhalten einer
Mehr11. 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
MehrPat 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
MehrInformatik II Vorlesung am D-BAUG der ETH Zürich
Informatik II Vorlesung am D-BAUG der ETH Zürich Vorlesung 9, 2.5.2016 [Nachtrag zu Vorlesung : Numerische Integration, Zusammenfassung Objektorientierte Programmierung] Dynamische Datenstrukturen II:
MehrWiederholung. 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:
MehrDatenstrukturen und Algorithmen
Datenstrukturen und Algorithmen VO INF.02031UF (2-4)-Bäume robert.legenstein@igi.tugraz.at 1 7. Bäume Bäume als Datenstruktur Binärbäume Balancierte Bäume (2-4)-Bäume Anwendung: Mischbare Warteschlangen
MehrAlgorithmen 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
MehrBalancierte Bäume. Minimale Knotenanzahl von AVL-Bäumen. AVL-Bäume. Definition für "balanciert":
Balancierte Bäume Aufwand, ein Element zu finden, entspricht der Tiefe des gefundenen Knotens im worst case = Tiefe des Baumes liegt zwischen log N und N Definition für "balanciert": es gibt verschiedene
MehrVorlesung 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,
MehrKapitel 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
MehrAlgorithmen 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
MehrKlasse 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
MehrKapitel 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
MehrContainerDatenstrukturen. 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
MehrAbgabe: (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
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
MehrDies 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
MehrVoronoi-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 :
MehrSplay-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
MehrInformatik 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
MehrGeometrische 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
MehrAlgorithmen 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)
MehrMengen. 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
MehrEINI 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
MehrAlgorithmen 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
Mehrelementare 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