Mobile Objekte Indexstrukturen

Größe: px
Ab Seite anzeigen:

Download "Mobile Objekte Indexstrukturen"

Transkript

1 Verteilung und Integration von Informationen im Verkehrsbereich Mobile Objekte Indexstrukturen Ingo Beutler

2 Anfragen: z.b. Welche Transporter befinden sich in der Nähe des HSaF? Wie können räumliche Daten effizient gespeichert werden? HSaF?

3 Klassischer Ansatz B-Baum +Indexstruktur zu Speicherung von großen Datenmengen Insert, Delete, Search vollständig ausgeglichen Knotengröße = Pagegröße Mindest-Füllgrad der Knoten -Index eindimensional Keine effiziente räumliche Suche möglich

4 Beispiel-B-Baum Beispiel: Index = x-achse HSaF Anfrage x

5 Indexstrukturen B-Baum keine effizienten räumlichen Suchanfragen möglich R-Baum Erweiterung des B-Baum (mehrdimensionale Indexierung) R*-Baum Performance-optimierter R-Baum TPR-Baum Anpassung des R*-Baum für sich stetig fortbewegende Objekte

6 R-Baum Antonin Guttman, 1984 B + -Baum für räumliche Daten Koordinaten als Indizes

7 Minimum Bounding Rectangle (MBR) kleinstmögliches Rechteck umschließt Objekt / enthaltene Rechtecke parallel zu Koordinatenachsen Objekt MBR

8 Ordnung Nach welchem Kriterien sollen die Knoten geordnet werden? Minimiere Fläche zwischen einem MBR und den darin enthaltenen Rechtecken.

9 Beispiel-R-Baum T1 T2 T3 Annahme: 3 Elemente/Knoten T12 T13

10 Beispiel-R-Baum T1 T2 T3 0 T12 T13

11 Beispiel-R-Baum T1 T2 T3 R3 R4 T12 T13 T1 T2 T3 T12 T13 1

12 Beispiel-R-Baum T1 T2 T3 R3 R4 T12 T13 R3 R4 T1 T2 T12 T13 T3 2

13 Insert T1 T2 T3 Wo soll der neue Transporter eingefügt werden? R3 R4 T12 T13 R3 R4 T1 T2 T12 T13 T3 3

14 Insert T1 T2 T3 R4 R3 T12 T13 Wo soll der neue Transporter eingefügt werden? ChooseLeaf R3 R4 T1 T2 T12T13 T3 4

15 Insert - ChooseLeaf T1 T2 T3 Kleinste Flächenvergrößerung? R3 R4 T12 T13 R3 R4 T1 T2 T12T13 T3 5

16 Insert - ChooseLeaf T1 T2 T3 benötigt keine! R3 R4 T12 T13 R3 R4 T1 T2 T12T13 T3 6

17 Insert - ChooseLeaf T1 T2 T3 Kleinste Flächenvergrößerung? R3 R4 T12 T13 R3 R4 T1 T2 T12T13 T3 7

18 Insert - ChooseLeaf T1 T2 T3! R3 R4 T12 T13 R3 R4 T1 T2 T12T13 T3 8

19 Insert - ChooseLeaf T1 T2 T3 Knoten gefunden! R3 R4 T12 T13 R3 R4 T1 T2 T12T13 T3 9

20 Insert T1 T2 T3 Knoten voll!!! => NodeSplit R3 R4 T12 T13 R3 R4 T1 T2 T12T13 T3 0

21 Insert - NodeSplit T1 T2 T3 Exhausive Quadratic Cost Linear Cost R3 R4 T12 T13 R3 R4 T1 T2 T12T13 T3 1

22 Insert - NodeSplit T3 Exhausive Quadratic Cost Linear Cost R4 Alle Möglichkeiten durchprobieren. Beste wählen. R4 2 T3

23 Insert - NodeSplit T3 Exhausive Quadratic Cost Linear Cost R4 Paarweise Fläche berechnen. Paar mit größter Fläche wählen. R4 3 T3

24 Insert - NodeSplit T3 Exhausive Quadratic Cost Linear Cost R4 Für alle übrigen Einträge: -berechne Flächen mit gewählten Einträgen -wähle Eintrag mit gr. Differenz der Flächen R4 4 T3

25 Insert - NodeSplit T3 Exhausive Quadratic Cost Linear Cost R4 Für alle übrigen Einträge: -berechne Flächen mit gewählten Einträgen -wähle Eintrag mit gr. Differenz der Flächen -füge ihn zu Rechteck, das am wenigsten vergrößert werden muss R4 5 T3

26 Insert - NodeSplit T3 Exhausive Quadratic Cost Linear Cost R4 T 8 Für alle übrigen Einträge: -berechne Flächen mit gewählten Einträgen -wähle Eintrag mit gr. Differenz der Flächen -füge ihn zu Rechteck, das am wenigsten vergrößert werden muss R4 6 T3

27 Insert - NodeSplit T3 Exhausive Quadratic Cost Linear Cost R4 Wie Quadratic Cost. Unterschied: Nachdem 2 Starteinträge gefunden wurden, wird der Rest zufällig eingefügt R4 7 T3

28 Insert - NodeSplit T3 Exhausive Quadratic Cost Linear Cost R4 Wie Quadratic Cost. Unterschied: Nachdem 2 Starteinträge gefunden wurden, wird der Rest zufällig eingefügt R4 8 T3

29 Insert AdjustTree T1 T2 T3 R4 Steige auf solange es sich etwas ändert und passe den Knoten an. R3 T12 T13 R8 R3 R4R8 T1 T2 T12T13 T3 9

30 Insert T1 T2 T3 Fertig!!! R4 R3 T12 T13 R8 R3 R4R8 T1 T2 T12T13 T3 0

31 Delete T1 T2 T3 T1 fährt weg. R4 R3 T12 T13 R8 R3 R4R8 T1 T2 T12T13 T3 1

32 Delete T2 T3 Knotenunterlauf! R4 R3 T12 T13 R8 R3 R4R8 T2 T12T13 T3 2

33 Delete T2 T3 Knotenunterlauf! R4 => Knoten anpassen R3 T12 T13 R8 R3 R4R8 T2 T12T13 T3 3

34 Delete T2 T3 Knotenunterlauf! R4 => Knoten löschen R3 T12 T13 R8 R3 R4R8 T2 T12T13 T3 4

35 Delete T2 T3 Knotenunterlauf! R3 R4 => Knoten neu einfügen (Insert) T2 T12 T13 R8 R3 R4R8 T12T13 T3 5

36 Delete T2 T3 Fertig! R4 R3 T12 T13 R8 R3 R4R8 T2 T12T13 T3 6

37 Anfrage T1 T2 T3 Welcher Transporter befindet sich in der Nähe des HSaF? R3 HSaF T12 T13 R4 R3 R4 T1 T2 T12T13 T3 7

38 Anfrage T1 T2 T3 Welcher Transporter befindet sich in der Nähe des HSaF? Überschneidung? R3 HSaF T12 T13 R4 R3 R4 T1 T2 T12T13 T3 8

39 Anfrage T1 T2 T3 Welcher Transporter befindet sich in der Nähe des HSaF? Überschneidung? R3 HSaF T12 T13 R4 R3 R4 JA! T1 T2 T12T13 T3 9

40 Anfrage T1 T2 T3 Welcher Transporter befindet sich in der Nähe des HSaF? R3 HSaF T12 T13 R4 Überschneidung? R3 R4 T1 T2 T12T13 T3 0

41 Anfrage T1 T2 T3 Welcher Transporter befindet sich in der Nähe des HSaF? R3 HSaF T12 T13 R4 Überschneidung? JA! R3 R4 T1 T2 T12T13 T3 1

42 Anfrage T1 T2 T3 Welcher Transporter befindet sich in der Nähe des HSaF? R3 HSaF T12 T13 R4 R3 R4 T1 T2 T12T13 T3 2

43 Anfrage T1 T2 T3 Welcher Transporter befindet sich in der Nähe des HSaF? T13 R3 HSaF T12 T13 R4 R3 R4 T1 T2 T12T13 T3 3

44 4 Indexstrukturen B-Baum keine effizienten räumlichen Suchanfragen möglich R-Baum Erweiterung des B-Baum (mehrdimensionale Indexierung) R*-Baum Performance-optimierter R-Baum TPR-Baum Anpassung des R*-Baum für sich stetig fortbewegende Objekte

45 5 R*-Baum Verbesserung des R-Baum Unterschiede: Ordnung Insert ChooseSubtree = ChooseLeaf Reinsert NodeSplit

46 6 Ordnung Vom R-Baum Minimiere Fläche zwischen einem MBR und den darin enthaltenen Rechtecken Zusätzlich bei R*-Baum Minimiere die Überlappungen von Rechtecken Minimiere den Rand der Rechtecke Optimiere die Speichernutzung

47 Beispiel Überlappung T1 T2 R3 R4 T3 nach mehrfachem Einfügen und Löschen T12 T13 7

48 8 ChooseLeaf Insert: ChooseLeaf; if (Überlauf) Reinsert; if (Überlauf) SplitNode; 1. Setze N gleich der Wurzel 2. If (N ist ein Blatt) return N else if (die Zeiger in N zeigen auf Blätter) wähle den Eintrag in N, dessen Rechteck die wenigste Überlappungsvergrößerung benötigt, um das neue Datenrechteck aufzunehmen. else if (die Zeiger in N zeigen nicht auf Blätter) wähle den Eintrag in N, dessen Rechteck die wenigste Flächenvergrößerung benötigt, um das neue Datenrechteck aufzunehmen. 3. Setze N auf den Zeiger des gewählten Eintrags zeigt und gehe zu 2.

49 9 Reinsert Insert: ChooseLeaf; if (Überlauf) Reinsert; if (Überlauf) NodeSplit; T1 T2 T3 R3 R4 T12 T13

50 Reinsert Insert: ChooseLeaf; if (Überlauf) Reinsert; if (Überlauf) NodeSplit; T1 T2 T3 R3 R4 T12 T13 0 Entfernung berechnen.

51 Reinsert Insert: ChooseLeaf; if (Überlauf) Reinsert; if (Überlauf) NodeSplit; T1 T2 T3 R3 R4 T12 T13 1 Löschen.

52 Reinsert Insert: ChooseLeaf; if (Überlauf) Reinsert; if (Überlauf) NodeSplit; T1 T2 T3 R3 R4 T12 T13 2 Wiedereinfügen.

53 Reinsert Insert: ChooseLeaf; if (Überlauf) Reinsert; if (Überlauf) NodeSplit; T1 T2 T3 R3 R4 T12 T13 3 Überlauf!!!

54 4 NodeSplit Insert: ChooseLeaf; if (Überlauf) Reinsert; if (Überlauf) NodeSplit; T1 T2 T3 R3 R4 T12 T13

55 NodeSplit NodeSplit: ChooseAxis; ChooseSplitIndex; Teile auf; T1 T2 T3 y 5 R3 T12 T13 Sortierung entlang der y-achse (untere Werte).

56 NodeSplit NodeSplit: ChooseAxis; ChooseSplitIndex; Teile auf; T1 T2 T3 y R3 T12 T13 6 Verteilungen für Sortierung untere Werte: Es gibt nur eine!

57 NodeSplit NodeSplit: ChooseAxis; ChooseSplitIndex; Teile auf; T1 T2 T3 y 7 R3 T12 T13 Sortierung entlang der y-achse (obere Werte).

58 NodeSplit NodeSplit: ChooseAxis; ChooseSplitIndex; Teile auf; T1 T2 T3 y 8 T12 R3 T13 Verteilungen für Sortierung oberer Werte: Es gibt nur eine!

59 NodeSplit NodeSplit: ChooseAxis; ChooseSplitIndex; Teile auf; T1 T2 T3 y R3 Annahme: 1 Füllgrad 3 T12 T13 9

60 NodeSplit NodeSplit: ChooseAxis; ChooseSplitIndex; Teile auf; T1 T2 T3 y R3 Annahme: 1 Füllgrad 3 T12 T13 0

61 NodeSplit NodeSplit: ChooseAxis; ChooseSplitIndex; Teile auf; T1 T2 T3 y R3 Annahme: 1 Füllgrad 3 T12 T13 1

62 NodeSplit 2 NodeSplit: ChooseAxis; ChooseSplitIndex; Teile auf; T1 T2 T3 T12 R3 T13 x Sortierung entlang der x-achse.

63 NodeSplit 3 NodeSplit: ChooseAxis; ChooseSplitIndex; Teile auf; T1 T2 T3 T12 R3 T13 x Sortierung entlang der x-achse (obere Werte).

64 NodeSplit 4 NodeSplit: ChooseAxis; ChooseSplitIndex; Teile auf; T1 T12 T2 R3 T13 T3 x Sortierung entlang der x-achse (obere Werte).

65 NodeSplit 5 NodeSplit: ChooseAxis; ChooseSplitIndex; Teile auf; T1 T2 T3 T12 R3 T13 x Sortierung entlang der x-achse (untere

66 NodeSplit 6 NodeSplit: ChooseAxis; ChooseSplitIndex; Teile auf; T1 T12 T2 R3 T13 T3 x Sortierung entlang der x-achse (untere Werte).

67 NodeSplit 7 NodeSplit: ChooseAxis; ChooseSplitIndex; Teile auf; T1 T12 T2 R3 T13 T3 Wähle Achse mit minimaler Summe der Umfangswerte.

68 NodeSplit NodeSplit: ChooseAxis; ChooseSplitIndex; Teile auf; T1 T2 T3 R3 8 T12 T13 Wähle Achse mit minimaler Summe der Umfangswerte: y-achse!

69 NodeSplit NodeSplit: ChooseAxis; ChooseSplitIndex; Teile auf; T1 T2 T3 R3 T12 T13 9 Wähle Verteilung mit minimalem Überlappungswert.

70 NodeSplit NodeSplit: ChooseAxis; ChooseSplitIndex; Teile auf; T1 T2 R4 T3 R3 R8 T12 T13 Fertig. 0

71 1 Indexstrukturen B-Baum keine effizienten räumlichen Suchanfragen möglich R-Baum Erweiterung des B-Baum (mehrdimensionale Indexierung) R*-Baum Performance-optimierter R-Baum TPR-Baum Anpassung des R*-Baum für sich stetig fortbewegende Objekte

72 2 Mobile Objekte? Bisherige Annahme Daten bleiben unverändert, bis sie explizit geändert werden Problem: sich gleichmäßig fortbewegende Objekte sehr viele Änderungen veraltete, falsche Daten

73 Mobile Objekte? Welcher Lieferwagen befindet sich innerhalb der nächsten 5 min in der Nähe (Umkreis von 2 km) vom Informatikgebäude am Fasanengarten? Welchen anderen Lieferwagenfahrer werde ich in den nächsten 30 min treffen (um gemeinsam Pause zu machen)? 3 Anfragen, die sich auf die Zukunft beziehen, können mit bisherigen Strukturen nicht beantwortet werden!

74 4 Stehende Transporter T1 T2 T3 T12 T13

75 5 Fahrende Transporter T1 T2 T3 T12 T13

76 Fahrende Transporter im Time Parameterized R-Baum (TPR-Baum) T1 T2 R4 T3 R8 Zeit t=0 R3 6 T12 T13

77 Fahrende Transporter im TPR-Baum T1 T2 T3 R4 Zeit t=1 R8 R3 MBRs 7 T13 T12 BRs

78 TPR-Baum Objekte werden als Funktionen gespeichert: x(t)=x(t 0 )+v(t-t 0 ) mit t jetzt BRs werden als Funktionen gespeichert: für jede Seite eine Funktion r i (t): 8 r 4 (t) r 3 (t) r 1 (t) r 2 (t) Seite lässt BR wachsen : Position = äußerste Position eines Elements im BR Geschwindigkeit = größte Geschw. eines Element im BR Seite lässt BR schrumpfen : Position = äußerste Position eines Element im BR Geschwindigkeit = kleinste Geschw. eines Element im BR

79 TPR-Baum Erweiterung des R*-Baums Algorithmen vom R*-Baum werden übernommen, wobei die Funktionen über die Eigenschaften von BRs durch ihre Integrale über die Zeit ersetzt werden 9

80 0 NodeSplit zusätzlich: Sortierung der Geschwindigkeitsvektoren geringere Geschwindigkeitsunterschiede geringeres Wachstum des BR

81 TPR-Baum BRs schrumpfen nie x gelegentliche Anpassungen BR alt o1 o2 o3 o4 BR neu 1 t' t up BR alt t

82 Fahrende Transporter im TPR-Baum T1 T2 T3 R4 Zeit t=1 R8 R3 T13 T12 2

83 Fahrende Transporter im TPR-Baum T1 T2 T3 R4 Zeit t=1 R8 T13 R3 T12 3

84 Anfragen Welcher Transporter befindet sich in der Nähe des HSaF? Wird wie im R- Baum bearbeitet. Unterschied: Die Rechtecke müssen für den Anfragezeitpunkt berechnet werden. T1 T12 T2 T13 HSaF R3 R8 R4 T3 R 7 4

85 Anfragen 1. Welcher Lieferwagen befindet sich innerhalb der nächsten 5 min in der Nähe (Umkreis von 2 km) vom Informatikgebäude am Fasanengarten? Anfragefenster Q wird zu einem sich bewegenden Fenster. Es bewegt sich entlang der Zeitachse. y 5 x Q t t2 t1

86 Anfragen 6 Anfrage 1 Welcher Lieferwagen befindet sich innerhalb der nächsten 5 min in der Nähe (Umkreis von 2 km) vom Informatikgebäude am Fasanengarten? Zeit: t (in Minuten) x 2 km T1 2 km HSaF T2 R4 T3 t y

87 Anfragen Anfrage 1 Welcher Lieferwagen befindet sich innerhalb der nächsten 5 min in der Nähe (Umkreis von 2 km) vom Informatikgebäude am Fasanengarten? HSaF T1 T2 T3 R4 y 7 Zeit: t+5 (in Minuten) x t

88 Anfragen Anfrage 1 Welcher Lieferwagen befindet sich innerhalb der nächsten 5 min in der Nähe (Umkreis von 2 km) vom Informatikgebäude am Fasanengarten? T1 T2 Q T3 t y 8 x

89 9 Anfragen 2. Welchen anderen Lieferwagenfahrer werde ich in den nächsten 30 Minuten treffen (um gemeinsam Pause zu machen)?

90 Anfragen Anfrage 2 Welchen anderen Lieferwagenfahrer werde ich in den nächsten 30 min treffen (um gemeinsam Pause zu machen)? T1 T2 R4 T3 Ich y 0 x t

91 Anfragen Anfrage 2 Welchen anderen Lieferwagenfahrer werde ich in den nächsten 30 min treffen (um gemeinsam Pause zu machen)? T1 T2 30 min R4 T3 Ich y 1 x t

92 Anfragen Anfrage 2 Welchen anderen Lieferwagenfahrer werde ich in den nächsten 30 min treffen (um gemeinsam Pause zu machen)? Schnittpunkte Ich y t 2 x

93 Anfragen Anfrage 3 Welche Lieferwagen sind unbeladen bis sie den Fasanengarten ereichen? T1 T2 HSaF y beladen unbeladen t 3 x

94 Anfragen Anfrage 3 Welche Lieferwagen sind unbeladen bis sie den Fasanengarten ereichen? T1 T2 HSaF y beladen unbeladen t 4 x

95 Anfragen Anfrage 3 Welche Lieferwagen sind unbeladen bis sie den Fasanengarten ereichen? T1 T2 y HSaF beladen unbeladen t 5 x

96 6 Anfragen Je weiter die Anfrage in die Zukunft reicht, desto schlechter wird die Qualität der Antwort Unsicherheit

97 Indexstrukturen B-Baum keine effizienten räumlichen Suchanfragen möglich R-Baum Erweiterung des B-Baum (mehrdimensionale Indexierung) R*-Baum Performance-optimierter R-Baum TPR-Baum Anpassung des R*-Baum für sich stetig fortbewegende Objekte 7

98 Ausschlußregionen Idee: 8 Es gibt Orte, an denen sich Objekte normalerweise nicht befinden, z.b. bei Transportern: Seen (ohne Fähre usw.).

99 Ausschlußregionen Idee: 1 Anfrage 99 Anfragen müssen nicht den kompletten Bereich absuchen.

100 Ausschlußregionen Idee: 9 Anfragen 100 Anfragen können in kleinere aufgeteilt werden.

101 Zusammenfassung B-Baum keine effizienten räumlichen Suchanfragen möglich R-Baum Erweiterung des B-Baum (mehrdimensionale Indexierung) R*-Baum Performance-optimierter R-Baum TPR-Baum Anpassung des R*-Baum für sich stetig fortbewegende Objekte 101

102 Ende Danke für die Aufmerksamkeit! Fragen? 102

103 Anhang

104 04 R-Baum ChooseLeaf 1)Steige im Baum bis zu einem Blatt ab. 2)Wähle den Nachfolger zu dem Verzeichnisrechteck, welches die kleinste Vergrösserung benötigt, um den neuen Eintrag E zu überdecken. 3)Wenn das nicht eindeutig ist, wähle das Rechteck mit der kleinsten Fläche.

105 05 Reinsert Insert: ChooseLeaf; if (Überlauf) Reinsert; if (Überlauf) NodeSplit; Für alle Einträge eines Knotens: Berechne die Entfernung zwischen den Zentren der Rechtecke und dem Zentrum des MBRs des Knotens. Lösche die Einträge mit der größten Entfernung. Füge die gelöschten Einträge beginnend mit dem entferntesten wieder ein (Insert).

106 06 NodeSplit Insert: ChooseLeaf; if (Überlauf) Reinsert; if (Überlauf) NodeSplit; 1)ChooseSplitAxis: bestimme Achse, an welcher der Split ausgeführt wird 2)ChooseSplitIndex: teile Einträge in zwei Gruppen entlang der Achse ein 3)Verteile der Einträge auf zwei Gruppen

107 R*-Baum ChooseSplitAxis NodeSplit: ChooseAxis; ChooseSplitIndex; Teile auf; Für jede Achse: Sortiere die Einträge zunächst nach dem unteren, dann nach dem oberen Wert ihrer Rechtecke und bestimme alle Verteilungen. Berechne die Summe aller Umfangswerte pro Verteilungen. Wähle die Achse mit dem minimalen Wert als Splitachse 07

108 R*-Baum ChooseSplitIndex NodeSplit: ChooseAxis; ChooseSplitIndex; Teile auf; Entlang der gewählten Achse, wähle die Verteilung mit dem minimalen Überlappungswert. Falls es mehrere Möglichkeiten gibt, wähle die Verteilung mit minimalem Flächenwert. 08

109 TPR-Baum Erweiterung des R*-Baums Algorithmen vom R*-Baum werden übernommen, wobei die Funktionen über die Eigenschaften von BRs durch ihre Integrale ersetzt werden 09 t ' H A x dx, mit z.b. A(x) ist die Fläche t ' t' Zeitpunkt der letzten Änderung H Horizont: Haltbarkeit des Index + max. mögliche Anfragezeit

R-Baum und seine Spezialisierungen: R*- und R+-Baum. Joana Bendoraityte

R-Baum und seine Spezialisierungen: R*- und R+-Baum. Joana Bendoraityte R-Baum und seine Spezialisierungen: R*- und R+-Baum Joana Bendoraityte mai00jgx@studserv.uni-leipzig.de 19. März 2004 Zusammenfassung Die Arbeit ist im Rahmen der Vorlesung Geoinformationssysteme 2 im

Mehr

R-Baum eine dynamische Index-Strukur für räumliche Suche

R-Baum eine dynamische Index-Strukur für räumliche Suche Gabriele Wilke-Müller Klufternerstraße 73 88048 Friedrichshafen wilke-mueller@t-online.de Matrikel-Nr. 01/482681 Support for Non-Standard Data Types in DBMSs WS 2003/2004 bei Prof. Dr. Marc H. Scholl Thema:

Mehr

Lösungen zu Aufgabenblatt 9

Lösungen zu Aufgabenblatt 9 Fachbereich Informatik Prof. Dr. Peter Becker Objektrelationale Datenbanksysteme Wintersemester 2011/ 14. Januar 2013 Lösungen zu Aufgabenblatt 9 Aufgabe 1 (Einfügen in B-Bäume) In einen leeren B-Baum

Mehr

Indizierung von Geodaten - Raumbezogene Indexstrukturen. Seminar mobile Geoinformationssystem Vortrag von Markus Steger

Indizierung von Geodaten - Raumbezogene Indexstrukturen. Seminar mobile Geoinformationssystem Vortrag von Markus Steger Indizierung von Geodaten - Raumbezogene Indexstrukturen Seminar mobile Geoinformationssystem Vortrag von Markus Steger Index wozu ist er gut? Index allgemein Effizienter Zugriff auf Daten, i.d.r. mit B-Baum

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

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

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

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

4.4 Quadtrees. Literatur

4.4 Quadtrees. Literatur 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

Informationssysteme SS 2013 Lösungsvorschläge zu Übungsblatt 2. Übungsblatt 2. Für die Übungen in der Woche vom 29. April bis 03.

Informationssysteme SS 2013 Lösungsvorschläge zu Übungsblatt 2. Übungsblatt 2. Für die Übungen in der Woche vom 29. April bis 03. Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Fachbereich Informatik Technische Universität Kaiserslautern Übungsblatt 2 Für die Übungen in der Woche vom 29. April bis 03. Mai 2013 Aufgabe

Mehr

B / B* - Bäume. Guido Hildebrandt Seminar Datenbanksysteme

B / B* - Bäume. Guido Hildebrandt Seminar Datenbanksysteme B / B* - Bäume Guido Hildebrandt Seminar Datenbanksysteme 25.11.2010 Gliederung Einleitung Binärbaum B - Baum B* - Baum Varianten Zusammenfassung Quellen Gliederung Einleitung Binärbaum B - Baum B* - Baum

Mehr

13. Hashing. AVL-Bäume: Frage: Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n)

13. Hashing. AVL-Bäume: Frage: Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n) AVL-Bäume: Ausgabe aller Elemente in O(n) Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n) Frage: Kann man Einfügen, Löschen und Suchen in O(1) Zeit? 1 Hashing einfache Methode

Mehr

R-Bäume. als Indexstruktur zur Anfrageoptimierung. in Data Warehouses

R-Bäume. als Indexstruktur zur Anfrageoptimierung. in Data Warehouses Seminar Data Warehousing im Sommersemester 2005 R-Bäume als Indexstruktur zur Anfrageoptimierung in Data Warehouses Dirk Pogode MatrNr. 63639 Juni 2005 Friedrich-Schiller-Universität Jena Institut für

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

3.2.2 Anfragen an die Vergangenheit. Idee:

3.2.2 Anfragen an die Vergangenheit. Idee: Verwaltung der Vergangenheit Idee: Erweiterung des R-Baums um eine weitere Dimension, die Zeit t Die Trajektorie eines Objektes kann als Sequenz von (d+1)-dimensionalen Liniensegmenten repräsentiert werden

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

Algorithmen und Datenstrukturen 1

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen 1 6. Vorlesung Martin Middendorf / Universität Leipzig Institut für Informatik middendorf@informatik.uni-leipzig.de studla@bioinf.uni-leipzig.de Merge-Sort Anwendbar für

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

B+-Baum mit Z-Ordnung. B+-Baum mit Z-Ordnung. Anforderungen. 7.3 Räumliche Zugriffsstrukturen

B+-Baum mit Z-Ordnung. B+-Baum mit Z-Ordnung. Anforderungen. 7.3 Räumliche Zugriffsstrukturen B+-Baum mit Z-Ordnung Window Query: 1. Ansatz Benutze den gewöhnlichen Algorithmus für Bereichsanfragen im B + -Baum: Suche mit dem kleinsten Z-Wert des Suchrechtecks (entspricht dem linken unteren Eckpunkt)

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

INTERVALLBÄUME. Tanja Lehenauer, Besart Sylejmani

INTERVALLBÄUME. Tanja Lehenauer, Besart Sylejmani INTERVALLBÄUME Tanja Lehenauer, Besart Sylejmani Datenstrukturen in der Informatik Baumstrukturen Warum Intervallbäume? Centered Interval Tree Konstruktion Suchen eines Punktes Suchen eines Intervalls

Mehr

Datenbanken: Indexe. Motivation und Konzepte

Datenbanken: Indexe. Motivation und Konzepte Datenbanken: Indexe Motivation und Konzepte Motivation Warum sind Indexstrukturen überhaupt wünschenswert? Bei Anfrageverarbeitung werden Tupel aller beteiligter Relationen nacheinander in den Hauptspeicher

Mehr

Algorithmische Geometrie 3. Schnitte von Liniensegmenten

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

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

<is web> Grundidee hierarchischer Indexierungsverfahren: Ausgangspunkt: punktförmige hochdimensionale Feature-Objekte

<is web> Grundidee hierarchischer Indexierungsverfahren: Ausgangspunkt: punktförmige hochdimensionale Feature-Objekte Baumverfahren Baumverfahren (2) Ausgangspunkt: punktförmige hochdimensionale Feature-Objekte B-Baum eindimensional Abbildung eines mehrdimensionalen Raums auf eine Dimension im Allgemeinen nicht distanzerhaltend

Mehr

6 Vertiefende Themen aus des Mechanik

6 Vertiefende Themen aus des Mechanik 6 Vertiefende Themen aus des Mechanik 6.1 Diagramme 6.1.1 Steigung einer Gerade; Änderungsrate Im ersten Kapitel haben wir gelernt, was uns die Steigung (oft mit k bezeichnet) in einem s-t Diagramm ( k=

Mehr

5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS)

5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS) 5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS) Sommersemester 2009 Dr. Carsten Sinz, Universität Karlsruhe Datenstruktur BDD 2 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer:

Mehr

t-äre Bäume können - wie Binärbäume - degenerieren, d.h. durch ungünstige Einfügereihenfolge kann ein unausgewogener Baum mit großer Höhe entstehen.

t-äre Bäume können - wie Binärbäume - degenerieren, d.h. durch ungünstige Einfügereihenfolge kann ein unausgewogener Baum mit großer Höhe entstehen. .3 B-Bäume t-äre Bäume können - wie Binärbäume - degenerieren, d.h. durch ungünstige Einfügereihenfolge kann ein unausgewogener Baum mit großer Höhe entstehen. Wird der t-äre Baum zur Verwaltung von Daten

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

7. Sortieren Lernziele. 7. Sortieren

7. Sortieren Lernziele. 7. Sortieren 7. Sortieren Lernziele 7. Sortieren Lernziele: Die wichtigsten Sortierverfahren kennen und einsetzen können, Aufwand und weitere Eigenschaften der Sortierverfahren kennen, das Problemlösungsparadigma Teile-und-herrsche

Mehr

Ausgangspunkt: punktförmige hochdimensionale Feature-Objekte

Ausgangspunkt: punktförmige hochdimensionale Feature-Objekte Baumverfahren Ausgangspunkt: punktförmige hochdimensionale Feature-Objekte B-Baum eindimensional Abbildung eines mehrdimensionalen Raums auf eine Dimension im Allgemeinen nicht distanzerhaltend möglich

Mehr

Teil VII. Hashverfahren

Teil VII. Hashverfahren Teil VII Hashverfahren Überblick 1 Hashverfahren: Prinzip 2 Hashfunktionen 3 Kollisionsstrategien 4 Aufwand 5 Hashen in Java Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 7 1 Hashverfahren:

Mehr

Randomisierte Algorithmen 2. Erste Beispiele

Randomisierte Algorithmen 2. Erste Beispiele Randomisierte Algorithmen Randomisierte Algorithmen 2. Erste Beispiele Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 35 Randomisierter Identitätstest

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

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

Mergeable Heaps. C. Komusiewicz 7.1 Fibonacci-Heaps: Überblick 117

Mergeable Heaps. C. Komusiewicz 7.1 Fibonacci-Heaps: Überblick 117 C. Komusiewicz 7.1 Fibonacci-Heaps: Überblick 117 Mergeable Heaps Erweiterung von Standardheaps, die die folgenden fünf Operationen unterstützen. Make-Heappq liefert neuen, leeren Heap. InsertpH, xq fügt

Mehr

13. Bäume: effektives Suchen und Sortieren

13. Bäume: effektives Suchen und Sortieren Schwerpunkte Aufgabe und Vorteile von Bäumen 13. Bäume: effektives Suchen und Sortieren Java-Beispiele: Baum.java Traverse.java TraverseTest.java Sortieren mit Bäumen Ausgabealgorithmen: - Preorder - Postorder

Mehr

Datenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen

Datenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen Bäume sind verallgemeinerte Listen Datenstrukturen Teil 2 Bäume Jeder Knoten kann mehrere Nachfolger haben Sie sind weiter spezielle Graphen Graphen bestehen aus Knoten und Kanten Kanten können gerichtet

Mehr

Algorithmen und Datenstrukturen Balancierte Suchbäume

Algorithmen und Datenstrukturen Balancierte Suchbäume Algorithmen und Datenstrukturen Balancierte Suchbäume Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Einführung Einfügen und Löschen Einfügen

Mehr

Programmiertechnik II

Programmiertechnik II Sortieren: Einfache Algorithmen Sortieren Abstrakte Operation geg: Menge von items (Elemente) jedes Element besitzt Sortierschlüssel Schlüssel unterliegen einer Ordnung eventuell sind doppelte Schlüssel

Mehr

4.1 Bäume, Datenstrukturen und Algorithmen. Zunächst führen wir Graphen ein. Die einfachste Vorstellung ist, dass ein Graph gegeben ist als

4.1 Bäume, Datenstrukturen und Algorithmen. Zunächst führen wir Graphen ein. Die einfachste Vorstellung ist, dass ein Graph gegeben ist als Kapitel 4 Bäume 4.1 Bäume, Datenstrukturen und Algorithmen Zunächst führen wir Graphen ein. Die einfachste Vorstellung ist, dass ein Graph gegeben ist als eine Menge von Knoten und eine Menge von zugehörigen

Mehr

Geometrische Algorithmen Segmentschnitt

Geometrische Algorithmen Segmentschnitt Folie 1 von 36 Geometrische Algorithmen Segmentschnitt Folie 2 von 36 Segmentschnitt Übersicht Zwei Segmente Lage zweier Segmente Prüfung auf Schnittfreiheit Formeln zum Geradenschnitt Feststellen des

Mehr

Geometrische Algorithmen Segmentschnitt

Geometrische Algorithmen Segmentschnitt Folie 1 von 36 Geometrische Algorithmen Segmentschnitt Folie 2 von 36 Segmentschnitt Übersicht Zwei Segmente! Lage zweier Segmente! Prüfung auf Schnittfreiheit! Formeln zum Geradenschnitt! Feststellen

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

Übung zur Vorlesung Algorithmische Geometrie

Übung zur Vorlesung Algorithmische Geometrie Übung zur Vorlesung Algorithmische Geometrie Dipl.-Math. Bastian Rieck Arbeitsgruppe Computergraphik und Visualisierung Interdisziplinäres Zentrum für Wissenschaftliches Rechnen 8. Mai 2012 B. Rieck (CoVis)

Mehr

Seminar Datenbanken Martin Gerstmann

Seminar Datenbanken Martin Gerstmann Seminar Datenbanken Martin Gerstmann Gliederung 1. Ziele 2. Arten 2.1. erweiterbares Hashing 2.2. lineares Hashing 2.3. virtuelles Hashing 3. Bewertung 1. Ziele wachsende/schrumpfende Datenmengen verwalten

Mehr

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone Was bisher geschah Motivation, Beispiele geometrische Objekte im R 2 : Punkt, Gerade, Halbebene, Strecke, Polygon, ebene Zerlegung in Regionen (planare Graphen) maschinelle Repräsentation geometrischer

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

Randomisierte Datenstrukturen

Randomisierte Datenstrukturen Seminar über Algorithmen DozentInnen: Helmut Alt, Claudia Klost Randomisierte Datenstrukturen Ralph Schäfermeier 13. 2. 2007 Das Verwalten von Mengen, so dass ein schneller Zugriff auf deren Elemente gewährleistet

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

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

Hallo Welt für Fortgeschrittene

Hallo Welt für Fortgeschrittene Hallo Welt für Fortgeschrittene Geometrie II Tiago Joao Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Inhalt Koordinatenkompression Beispiel: SafeJourney Typische compress-funktion Bereichssuche

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

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

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

Mehr

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

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

Punktlokalisation 1. Trapez-Zerlegungen. 2. Eine Suchstruktur. 3. Randomisierter, inkrementeller Algorithmus zur Konstruktion der Trapez-Zerlegung

Punktlokalisation 1. Trapez-Zerlegungen. 2. Eine Suchstruktur. 3. Randomisierter, inkrementeller Algorithmus zur Konstruktion der Trapez-Zerlegung Punktlokalisation 1. Trapez-Zerlegungen 2. Eine Suchstruktur 3. Randomisierter, inkrementeller Algorithmus zur Konstruktion der Trapez-Zerlegung 4. Analyse Punktlokalisation Einteilung in Streifen Anfragezeit:

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

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Aufgabe 1. / 16 P Instruktionen: 1) In dieser Aufgabe sollen Sie nur die Ergebnisse angeben. Diese können Sie direkt bei den Aufgaben notieren. 2) Sofern

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

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Sortieralgorithmen Einleitung Heapsort Quicksort 2 Motivation Sortieren ist Voraussetzung für viele Anwendungen Nach

Mehr

1. Aufgabe (6 Punkte): Java-Programmierung (Arrays)

1. Aufgabe (6 Punkte): Java-Programmierung (Arrays) Der folgende Mitschrieb wurde von Prof. Alexa am 16.07.2008 als Probeklausur in der MPGI2 Vorlesung gezeigt und wurde auf http://www.basicinside.de/2008/node/94 veröffentlicht. Die Abschrift ist unter

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Prioritätswarteschlangen Maike Buchin 18. und 23.5.2017 Prioritätswarteschlange Häufiges Szenario: dynamische Menge von Objekten mit Prioritäten, z.b. Aufgaben, Prozesse, in der

Mehr

14. Rot-Schwarz-Bäume

14. Rot-Schwarz-Bäume Bislang: Wörterbuchoperationen bei binären Suchbäume effizient durchführbar, falls Höhe des Baums klein. Rot-Schwarz-Bäume spezielle Suchbäume. Rot-Schwarz-Baum mit n Knoten hat Höhe höchstens 2 log(n+1).

Mehr

3. Binäre Suchbäume. 3.1 Natürliche binäre Suchbäume. EADS 3.1 Natürliche binäre Suchbäume 78/598 ľernst W. Mayr

3. Binäre Suchbäume. 3.1 Natürliche binäre Suchbäume. EADS 3.1 Natürliche binäre Suchbäume 78/598 ľernst W. Mayr 3. Binäre Suchbäume 3.1 Natürliche binäre Suchbäume Definition 18 Ein natürlicher binärer Suchbaum über einem durch total geordneten Universum U ist ein als interner Suchbaum organisierter Binärbaum (also:

Mehr

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

Geometrische Algorithmen Segmentschnitt. Lernmodul 7: Geo-Algorithmen und -Datenstrukturen - Segmentschnitt

Geometrische Algorithmen Segmentschnitt. Lernmodul 7: Geo-Algorithmen und -Datenstrukturen - Segmentschnitt Folie 1 von 37 Geometrische Algorithmen Segmentschnitt Folie 2 von 37 Segmentschnitt Übersicht Zwei Segmente Lage zweier Segmente Prüfung auf Schnittfreiheit Formeln zum Geradenschnitt Feststellen des

Mehr

Counting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit

Counting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit Counting-Sort Counting - Sort ( A,B,k ). for i to k. do C[ i]. for j to length[ A]. do C[ A[ j ] C[ A[ j ] +. > C[ i] enthält Anzahl der Elemente in 6. for i to k. do C[ i] C[ i] + C[ i ]. > C[ i] enthält

Mehr

Datenbanken II Ausarbeitung: Räumliche Indexstrukturen

Datenbanken II Ausarbeitung: Räumliche Indexstrukturen Datenbanken II Ausarbeitung: Räumliche Indexstrukturen Rico Tilgner Matrikelnummer: 39212 10.06.2008 Inhaltsverzeichnis 1 Einleitung 3 1.1 Geoinformationssysteme............................ 3 2 Indexstrukturen

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

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

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete.

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Worst-case Zeit für Search: Θ(n). In der Praxis jedoch sehr gut. Unter gewissen

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

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

Grundzüge DS & Alg (WS14/15) Lösungsvorschlag zu Aufgabenblatt 3. Aufgabe 1. (a) nicht-heap (b) Heap 25. (c) Beinahe-Heap 9.

Grundzüge DS & Alg (WS14/15) Lösungsvorschlag zu Aufgabenblatt 3. Aufgabe 1. (a) nicht-heap (b) Heap 25. (c) Beinahe-Heap 9. Lösungsvorschlag zu Aufgabenblatt Aufgabe 1 (a) nicht-heap 1 1 5 5 1 1 (b) Heap 5 1 1 14 5 10 4 (c) Beinahe-Heap 1 1 4 1 10 Heapify 1. Iteration. Iteration. Iteration 1 1 1 1 1 1 10 4 1 10 4 1 10 4 1 1

Mehr

Algorithmik II. a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge 20, 28, 35, 31, 9, 4, 13, 17, 37, 25 ein.

Algorithmik II. a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge 20, 28, 35, 31, 9, 4, 13, 17, 37, 25 ein. Aufgabe 10 Binäre Bäume a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge, 28, 35, 31, 9, 4,, 17, 37, 25 ein. 1. Einfügen von : 3. Einfugen von 35: 2. Einfügen von 28: 28 28 10. Einfügen

Mehr

Dateiorganisation und Zugriffsstrukturen. Prof. Dr. T. Kudraß 1

Dateiorganisation und Zugriffsstrukturen. Prof. Dr. T. Kudraß 1 Dateiorganisation und Zugriffsstrukturen Prof. Dr. T. Kudraß 1 Mögliche Dateiorganisationen Viele Alternativen existieren, jede geeignet für bestimmte Situation (oder auch nicht) Heap-Dateien: Geeignet

Mehr

Algorithmische Bioinformatik 1

Algorithmische Bioinformatik 1 Algorithmische Bioinformatik 1 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Algorithmen

Mehr

Softwareprojektpraktikum Maschinelle Übersetzung

Softwareprojektpraktikum Maschinelle Übersetzung Softwareprojektpraktikum Maschinelle Übersetzung Jan-Thorsten Peter, Andreas Guta, Jan Rosendahl max.bleu@i6.informatik.rwth-aachen.de Vorbesprechung 5. Aufgabe 22. Juni 2017 Human Language Technology

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

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

Informatik Abitur Bayern 2017 / II - Lösung

Informatik Abitur Bayern 2017 / II - Lösung Informatik Abitur Bayern 2017 / II - Lösung Autoren: Wolf (1) Wagner (2) Scharnagl (3-5) 1a 5 1b Diese Methode vergleicht den Namen des Interpreten eines jeden Elements der Liste mit dem gegebenen Namen.

Mehr

Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz

Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz Datenstruktur BDD 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer: Booleschen Funktionen)

Mehr

Programmiertechnik II

Programmiertechnik II 2007 Martin v. Löwis Priority Queues and Heapsort 2007 Martin v. Löwis 2 Priority Queue Abstrakter Datentyp Inhalt: Elemente mit Priorität Operationen: Einfügen: Angabe des Elements und seiner Priorität

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

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. Mariano Zelke. Sommersemester 2012

Datenstrukturen. Mariano Zelke. Sommersemester 2012 Datenstrukturen Mariano Zelke Sommersemester 2012 Tiefensuche: Die globale Struktur Der gerichtete oder ungerichtete Graph G werde durch seine Adjazenzliste A repräsentiert. Im Array besucht wird vermerkt,

Mehr

Stream Processing II

Stream Processing II Stream Processing II K-Buckets Histogram Histogramme sind graphische Darstellungen der Verteilung von numerischen Werten Werden durch Intervalle, die sich nicht überlappen, dargestellt Ein Intervall wird

Mehr

Wintersemester 2007/2008 Helmut Seidl Institut für Informatik TU München

Wintersemester 2007/2008 Helmut Seidl Institut für Informatik TU München Informatik 1 Wintersemester 2007/2008 Helmut Seidl Institut für Informatik TU München 1 Anwendung: Schreibtisch Operation: insert(task) 2 Anwendung: Schreibtisch An uns wird Arbeit delegiert... Operation:

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

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

Musteraufgaben Fachoberschule 2017 Mathematik

Musteraufgaben Fachoberschule 2017 Mathematik Musteraufgaben Fachoberschule 07 Funktionsuntersuchung /8 Gegeben ist die Funktion f mit der Funktionsgleichung f(x) = 0,05x 0,75x +,x +,8 und dem Definitionsbereich x [0;0]. Der Graph G f der Funktion

Mehr

Algorithmen und Datenstrukturen, FS17 Prof Dr Christian Tschudin

Algorithmen und Datenstrukturen, FS17 Prof Dr Christian Tschudin Departement Mathematik und Informatik Algorithmen und Datenstrukturen, FS17 Prof Dr Christian Tschudin 5. April 2017 Suchbäume I Andrew D. Booth Algorithmen und Datenstrukturen, FS17 5. April 2017 2 /

Mehr

Informatik B Sommersemester Musterlösung zur Klausur vom

Informatik B Sommersemester Musterlösung zur Klausur vom Informatik B Sommersemester 007 Musterlösung zur Klausur vom 0.07.007 Aufgabe : Graphen und Graphalgorithmen + + + () Punkte Für eine beliebige positive, ganze Zahl n definieren wir einen Graphen G n =

Mehr

Organisationsformen der Speicherstrukturen

Organisationsformen der Speicherstrukturen Organisationsformen der Speicherstrukturen Bäume und Hashing 1 Motivation Ablage von Daten soll einfachen, schnellen und inhaltsbezogenen Zugriff ermöglichen (z.b. Zeige alle Schüler des Lehrers X am heutigen

Mehr

Informatik II Prüfungsvorbereitungskurs

Informatik II Prüfungsvorbereitungskurs Informatik II Prüfungsvorbereitungskurs Tag 4, 23.6.2016 Giuseppe Accaputo g@accaputo.ch 1 Programm für heute Repetition Datenstrukturen Unter anderem Fragen von gestern Point-in-Polygon Algorithmus Shortest

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (22 - AVL-Bäume: Entfernen) Prof. Dr. Susanne Albers Definition von AVL-Bäumen Definition: Ein binärer Suchbaum heißt AVL-Baum oder höhenbalanziert,

Mehr

Inverted Files for Text Search Engines

Inverted Files for Text Search Engines Inverted Files for Text Search Engines Justin Zobel, Alistair Moffat PG 520 Intelligence Service Emel Günal 1 Inhalt Einführung Index - Inverted Files - Indexkonstruktion - Indexverwaltung Optimierung

Mehr

Humboldt-Universität zu Berlin Berlin, den Institut für Informatik

Humboldt-Universität zu Berlin Berlin, den Institut für Informatik Humboldt-Universität zu Berlin Berlin, den 15.06.2015 Institut für Informatik Prof. Dr. Ulf Leser Übungen zur Vorlesung M. Bux, B. Grußien, J. Sürmeli, S. Wandelt Algorithmen und Datenstrukturen Übungsblatt

Mehr

Algorithmische Geometrie: Schnittpunkte von Strecken

Algorithmische Geometrie: Schnittpunkte von Strecken Algorithmische Geometrie: Schnittpunkte von Strecken Nico Düvelmeyer WS 2009/2010, 3.11.2009 3 Phasen im Algorithmenentwurf 1. Konzentration auf das Hauptproblem 2. Verallgemeinerung auf entartete Eingaben

Mehr