Kürzeste Wege in einfachen Polygonen. Sofiya Scheuermann 28. Januar 2008

Größe: px
Ab Seite anzeigen:

Download "Kürzeste Wege in einfachen Polygonen. Sofiya Scheuermann 28. Januar 2008"

Transkript

1 Kürzeste Wege in einfachen Polygonen Sofiya Scheuermann 28. Januar

2 Inhaltsverzeichnis 1 Motivation 3 2 Grundlagen 3 3 Algorithmus Zerlegung Zusammensetzung Zusammenfassung 9 Literaturverzeichnis9 A Abbildungen 11 2

3 1 Motivation Diese Arbeit beschäftigt sich mit dem Problem des Finden eines kürzesten Weges in einem Polygon und basiert auf dem englischsprachigen Artikel Optimal Shortest Path Queries in a Simple Polygon von Leonidas J. Guibss. und John Hershberger. Die Fragestellung gehört zu der alltäglichen Problemen Wie findet man einen kürzesten Weg, um ein Objekt von einer Stelle zur anderen zu bewegen? Eine Lösung des Problem ist der kürzeste Weg, der die beides Orten miteinander verbindet und eine Menge von Hindernisse vermeidet. Das Algorithmus, das später beschrieben wird ermöglicht den kürzesten Pfad in der Zeit O(log n) zu berechnen. 2 Grundlagen In diesem Abschnitt sollen die benötigten Begriffe genau definiert werden. Definition 2.1. Ein Polygon P ist eine Folge P = (v 1, v 2...) von Punkten, so dass keine drei aufeinander folgenden Punkte kollinear sind. Die v i sind die Ecken des Polygons. Hier wird es mit etwas vereinfachtem Modell, das nicht weniger für die Anwendungen relevant ist, gearbeitet, mit einfachen Polygonen. Definition 2.2. Ein Polygon P ist ein einfaches Polygon, wenn der Rand von P zusammenhängend ist und keine Selbstschnitte aufweist. Insbesondere hat ein einfaches Polygon im Innern keine Löcher Nun werden die Pfade beschrieben. Definition 2.3. Einen Weg W = w 1, w 2,..., w n bezeichnet man als Pfad, falls alle Knoten in der Folge W voneinander verschieden sind, das heißt, falls für alle i, j {1...n} gilt, dass w i w j, falls i j. Man geht nun davon aus, dass der Pfad komplett in Polygon liegt, also kein Punkt der Pfades gehört nicht zur Polygon. Definition 2.4. Untere einem Kürzestem Pfad zwischen zwei Punkten p und q versteht man einen Pfad π(p, q), so dass es keinen von ersten unterschiedlichen Pfad π (p, q) gibt, der kürzer ist. 3 Algorithmus Der Lösungsansatz besteht darin, das gegebene Problem auf diskretes Problem abzubilden. Durch das Abbildung wird der Rechenaufwand gespart, indem größte Teile des Polygons, die den Pfad nicht enthalten, in späteren Berechnungen nicht betrachtet werden. In einer Vorverarbeitung wird das Polygon in Teile zerteilt. Zu der Zerteilung wird ein dualer Graph erstellt, der Information über Erreichbarkeit der einzelnen Teilen darstellt. Mit der Hilfe des Erreichbarkeitsgraphen wird die Frage nach möglichem Pfadverlauf beantwortet. Somit ist die Suche nach dem Pfad auf kleinerem Unterpolygon reduziert. 3

4 3.1 Zerlegung Die Zerlegung muss einige Kriterien erfüllen: effizient berechenbar Pfadanfragen unterstützen Als atomare Teile der Zerlegung kommen die Dreiecke in Frage. Definition 3.1. Zu einem einfachem Polygon P ist die Triangulation T eine maximale Menge von kreuzungsfreien Liniensegmenten im Inneren von P, deren Endpunkte auf den Ecken von P liegen Eine beliebige Zerlegung T und dazugehörige duale Graph T würden die Pfadanfragen nicht effizient beantworten können. Eine Abhilfe an dieser Stelle schafft eine hierarchisch aufgebaute Zerlegung. Man macht sich zu Nutze, dass jeder Polygon von einer Diagonale in ungefähr gleiche Teile geteilt wird. Oder Formal auch: Satz 3.1 (Cutting-Theorem). Sei T eine Triangulation eines einfaches Polygons P, dann existiert eine Diagonale d T, so dass auf jeder Seite von d mindestens n 3 1 Dreiecke liegen. Der Polygon R wird durch eine Diagonale d in zwei ungefähr gleich große Polygone R 1 und R 2 zerteilt, es wird weiter auf R 1 und R 2 rekursiv geteilt. P 3.4 N 4.6 Q G O R 5.5 S U T V 4.7 I L M H 4.4 K 3.2 J 5.3 E 4.2 F 3.1 C 4.1 D 5.2 A 5.1 B Diese Zerlegung lässt sich als ein binärer Baum ˆT zusammenfassen. Die innere Knoten sind die Polygone R(d), repräsentiert durch die Diagonale d, die 4

5 R(d) in zwei Unterpolygone R 1 und R 2 teilt. Die Blätter können nicht weiter geteilt werden und entsprechen den Dreiecken der Triangulierung. Siehe die Abbildung A im Anhang. Der Fakt, dass die Zerlegung balanciert ist, garantiert dass der Baum ˆT logarithmisch in Anzahl der Polygonseiten hoch ist. Um die Pfadanfragen effizient zu beantworten wird nun der Faktorgraph G (Abbildung 6) gestützt auf ˆT konstruiert. Der Grundgerüst von G wird durch ˆT gebildet. Jeder Polygon R(d) in ˆT wird durch eine Kante mit jeder höher liegenden Diagonale f, die ihn berandet, verbunden. Nun wird gezeigt, dass die oben beschriebene Zerlegung, sowie die Hilfsstrukturen, wie Graphen ˆT und G die geforderte Kriterien erfüllen. Berechnen Lemma 3.1. Es kann gezeigt werden, dass man Polygon P in der Zeit hierarchisch zerlegen kann, die für die Konstruktion der Triangulation benötigt wird. Beweis. Man benutze das Algorithmus von Tarjan und Van Wyk um Polygon in der Zeit O(n log log n) zu triangulieren. Anschließend wird darauf in der Zeit O(n) eine balancierte Zerlegung mit dazugehörigen Bäumen ˆT und G aufgebaut. Lemma 3.2. Der Faktorgraph G ist O(n) groß. Beweis. Im Graphen G begrenzt jede Diagonale genau zwei Teilpolygone. Also führen von jedem Knoten maximal zwei Kanten zur tiefer liegenden Schicht, wobei die Anzahl der Schichten ist gleich der Anzahl der Schichten in ˆT. Ein Teilbaum d in ˆT der Höhe h(d) enthält, wegen der Balancierung, mindestens ( 3 h(d) 2) Blätter. Da die Teilbäume disjunkt sind kann es höchstens ( ) h(d) n 2 ( 3 h(d) = n 3 2) Knoten der Höhe h(d) geben. Daraus folgt: G d G2h(d) 2 log 3/2 n h=1 h ( ) h 2 n O(n) 3 Pfadanfragen Lemma 3.3. Auf jedem Pfad liegen nur logarithmisch viele Diagonale, also es werden logarithmisch viele Dreiecke besucht. 5

6 Beweis. Sei π = d 1, d 2... d m ein beliebiger Pfad im dualen Graphen T. Nun betrachte Diagonale d i, die der Pfad π im Baum ˆT überquert. Sei ˆd die Diagonale auf dem Pfad π mit geringster Tiefe im Baum ˆT. Man geht den Unterpfad π 1 = d 1, d 2... ˆd entlang und verwirft alle Diagonale, die tiefer liegen, als bisherige. Also es bleiben nur die Diagonale mit abnehmender Tiefe auf dem Pfad π 1. Analog mit π 2 = d m, d m 1... ˆd. Daraus ergibt sich der Pfad π = π 1 π 2 Die Tatsache, dass auf dem Weg zur Diagonale ˆd nur die Diagonalen mit abnehmender Tiefe auftreten garantiert, dass nur logarithmisch viele Diagonale besucht werden, folgt aus der logarithmischer Höhe des Baumes ˆT Lemma 3.4. Die Besuchte Diagonale lassen sich in der Zeit O(log n) in Graphen G bestimmen Beweis. Sei π = d 1, d 2... ˆd...d m 1, d m der Pfad in T und ˆd hat die geringste Tiefe in ˆT. ˆd lässt sich in O(log n) Zeit bestimme, da ˆT balanciert ist. Laufe im Baum ˆT von der Diagonale d 1 zu ˆd aufwärts und prüfe für jeden Knoten d i, ob d i in der Triangulation T auf dem Weg von d 1 zu ˆd liegt. Falls ja, wird die Kante zu d i im Graphen G in den Weg aufgenommen. Analog wird auch auf dem Weg d m... ˆd vorgegangen. Der Schwerpunkt in dieser Vorgehensweise ist der Test, ob eine Diagonal d i auf dem Weg liegt. Nun wird gezeigt, dass es in einer konstanten Zeit durchgeführt werden kann. Betrachte den Graphen T, ein der Knoten w T wird als Wurzel ausgezeichnet. So liegt d i genau dann auf dem Weg zwischen d 1 und ˆd, wenn d i ein Vorgänger einer der beiden Knoten ist. Ausgehend von der Wurzelknoten w besuche alle Knoten n T in Preorder und Postorder und beschrifte jeden entsprechend mit seinen Werten pre(n) und post(n). Nun gilt für jeden Knoten a, b T : a ist Vorgänger von b genau dann, wenn gilt pre(a) < pre(b) post(a) > post(b) 3.2 Zusammensetzung Nachdem überflüssige Teile des Polygons aus weiterer Betrachtung ausgeschlossen sind, wird der Zusammensetzung und weiterberechnung des Pfades beschrieben. Aus der vorangegangenen Abschnitt ist es bekannt, dass der Pfad sich durch logarithmisch viele Dreiecken durchläuft. Somit reduziert sich das Problem auf einen Unterpolygon, der aus einer Kette der Dreiecke mit jeweils einer gemeinsamen Kante. Um den Pfadverlauf schneller und effizienter zu bestimmen, werden bestimmte Informationen vorab berechnet und gespeichert. An dieser stelle wird eine Hilfsdatenstruktur, so genannte Sanduhr, eingeführt. Eine Sanduhr repräsentiert alle kürzeste Pfade zwischen zwei Diagonalen. Jeder Kante in G wird eine Sanduhr zugeordnet. Durch eine Konkatenation der Sanduhren an gemeinsamen Kanten entlang des berechneten Weges erhält man eine Beschreibung aller kürzesten Wegen zwischen zwei gewünschten Diagonalen. 6

7 Definition 3.2. Seien ABCD die Eckpunkte von Polygon P. Eine Sanduhr S(d 1, d 2 ) zwischen zwei Diagonalen d 1 = AB und d 2 = CD wird von Diagonalen d 1 und d 2 berandet, sowie von kürzesten Pfaden π(a, C) und π(b, D). Eine Sanduhr wird geschlossen genannt, falls die Pfade π(a, C) und π(b, D) gemeinsame Segmente haben, ansonsten ist die Sanduhr offen. A C p q B D Abbildung 1: offene Sanduhr A C p q B D Abbildung 2: geschlossene Sanduhr Bei der Konkatenation der Sanduhren kann es zu drei verschiedenen Ergebnissen kommen. Beide Sanduhren sind geschlossen So ist auch Produktsanduhr ist geschlossen Eine der Sanduhren ist geschlossen Auch in dem Falle kommt zu einer geschlossener Sanduhr als Ergebnis. Beide Sanduhren sind offen Der Resultat der Konkatenation kann sowohl offen, als auch geschlossen sein. Bei der Suche nach dem kürzestem Pfad zwischen zwei gegebenen Punkten p d 1 und q d 2 müssen folgende Fallunterscheidung gemacht werden. Sanduhr S(d 1, d 2 ) ist geschlossen. So wird die Suche auf das Finden von der kürzesten Wegen π(p, e) und π(f, q), der restliche Weg besteht aus der gemeinsame Polygonkette π(e, f) Sanduhr S(d 1, d 2 ) ist offen 7

8 Betrachte dazu die Menge der gegenseitig sichtbaren Punkte F = { rs r d 1, s d 2 } Falls ein l F existiert, sodass p und q auf gleicher Seite von l liegen, etwa auf der Seite b und d, dann besteht der kürzeste Weg aus der Tangenten von p zu π(b, d) und q zu π(b, d), sowie dem Rest des Weges π(b, d), der die beide Tangentenpunkte verbindet. Falls eine solche l F nicht existiert, dann setzt sich der Weg π(p, q) aus folgenden Stücken zusammen: Tangenten von p zu π(a, c), q zu π(b, d), Tangente von π(a, c) zu π(b, d), sowie den Stücken aus den Wegen π(a, c) und π(b, d), die Tangentenpunkte verbinden. Also reduziert sich die Suche nach dem kürzestem Weg in einer Sanduhr auf die Suche nach einer Tangente, was mit Hilfe der binäre Suche effektive bewerkstelligt werden kann. Die Konkatenation ist eine fundamentale Operation auf Sanduhren. Seien S(d 1, d 2 ) und S(d 2, d 3 ) zwei Sanduhren mit einer gemeinsamer Kante d 2. Also reduziert sich die Konkatenation, ähnlich wie bei der Suche nach dem kürzesten Weg, auf das Finden von zwei Tangenten für zwei Paare von Polygonketten. A C E F B D Abbildung 3: Konkatenation der Sanduhren Durch geschickte Verwaltung von Polygonketten in Bäumen können einzelne Geraden aus der Polygonketten in einer konstanter Zeit pro Gerade abgefragt werden. Somit geschieht die Konkatenation zwei Sanduhren, sowie das Suchen nach dem Weg effizient in O(log n) Zeit. Zur Konstruktion und der Verwaltung der Ketten siehe [GH87, ff ]. Bei der Suche nach dem Pfad müssen O(log n) Sanduhren in jeweils der Zeit O(log n), also Kostet die Konstruktion der Sanduhr S(d p, d q ) die O(log 2 n) Zeit. Man kann diesen Faktor auf nur O(log n) ausbessern. Es wird ausgenutzt, dass der Baum ˆT balanciert ist, also gibt es O(n/ log n) Knoten mit mindestens α log 2 n Nachvolgern. Der Parameter α dient dazu, den Ausgleich zu herstellen, zwischen der Zeit zur Vorberechnung und der Zeit, die später bei der Suche nach Pfaden erspart wird. Sei U die Menge der oberen Knoten in ˆT. Modifiziere G durch einfügen von Kanten für alle Knoten aus U zu deren Nachfolger in U. Jeder Knoten in U kann von seinem Vorgänger durch O(log n) Kanten erreicht werden. Also es werden O(n/ log n) Zusätzliche Kanten in G eingefügt, jede zusätzliche Kante wird mit einer Sanduhr versehen, das kostet O(log n) je die Kante. 8

9 Die Zusätzliche Kanten stellen die benötige Abkürzung bei der Berechnung, so dass es möglich wird einen der logarithmischen Faktoren zu ersparen. Seien p und q Anfragepunkte. In logarithmischer Zeit mit der Hilfe von ˆT und G werden die Diagonalen auf dem Weg von p zu q gefunden. Sei ˆd die höchste (in ˆT) Diagonale auf dem Weg. Hier kommt eine Fallunterscheidung ˆd / U : Das bedeutet, dass Unterpolygon P, der den Weg π(p, q) enthält, enthält O(log 2 n) Kanten. Es müssen, dem entsprechend nur O(log(log 2 n)) = O(log log n) Sanduhren berechnet werden, was insgesamt die Zeit O((log log n) 2 ) kostet. Vorherige Schritte verbrauchen mehr Zeit und deswegen ist dieser Schritt nicht ausschlaggebend. ˆd U : Betrachte die Diagonale auf dem Pfad π(p, q) π (p, q) = d 1, d 2,...d... ˆd...d +... d m 1, d m Seien d und d + die tiefsten Diagonalen, die noch in U sind. Da d,d + Nachfolger von ˆd sind, sind die Sanduhren S(d, ˆd) und S( ˆd, d + ) bereits vorberechnet. Die Konkatenation wird O(log n) kosten. Die restliche Pfaden, analog zu dem Fall ˆd / U, sind nicht allzu lang und kosten O((log log n) 2 ). Also kostet der gesamte Berechnung O(log n) 4 Zusammenfassung In dieser Ausarbeitung wurde gezeigt, dass effektives Suchen nach kürzesten Wegen in einfachen Polygonen möglich ist. Hier ein Überblick über gesamten Algorithmus Vorverarbeitung 1. Berechne Triangulation T, duale Graph T, hierarchische Zerlegung ˆT, Faktorgraph G 2. Beschrifte den Graph T mit Pre- und Postorderwerten 3. Berechne für jede Kante (d 1, d 2 ) G eine Sanduhr S(d 1, d 2 ) Gesamtkosten der Vorbereitungphase O(n) sowie lineare Platz wird benötigt Anfrage für Punkte p und q 1. Bestimme der Dreiecke die Punkte p und q enthalten 2. Bestimme mit Hilfe des Graphen G die Diagonalen auf dem Pfad von p nach q 3. Konstruiere durch Konkatenation der Sanduhren längst des Pfades die Sanduhr S(d p, d q ) 4. Bestimme den kürzesten Weg von p nach q mit Hilfe der Sanduhr S(d p, d q ) Gesamtkosten der Berechnung O(log 2 n) durch zusätzliche Vorberechnung kann auf O(log n) gedruckt werden. 9

10 Literatur [GH87] J. Guibas and J. Hershberger. Optimal shortest path queries in a simple polygon [KT05] Langetepe E. Kamphans T., Klein R. Script zur Vorlesung,,Bewegungsplanung für Roboter,

11 A Abbildungen P 3.4 N 4.6 Q G O U R 5.5 S T V 4.7 I L M H 4.4 K 3.2 J 5.3 E 4.2 F 3.1 C D A 5.1 B Abbildung 4: Der Beispielpolygon 11

12 P E F G 5.3 K 5.4 N O Q 5.5 T 5.7 A B C D 6.1 J L M R S U V H I Abbildung 5: Der Baum ˆT 12

13 P E F G 5.3 K 5.4 N O Q 5.5 T 5.6 A B C D 6.1 J L M R S U V H I Abbildung 6: Der Faktorgraph G 13

2.4. Triangulierung von Polygonen

2.4. Triangulierung von Polygonen Als drittes Problem haben wir in Kapitel 1 die Triangulierung von Polygonen identifiziert, die etwa bei der Überwachung eines Museums durch Kameras auftritt. F70 F71 Definition und Theorie: Definition

Mehr

Ausleuchtung/Überwachung von polygonalen Flächen

Ausleuchtung/Überwachung von polygonalen Flächen 1 Ausleuchtung/Überwachung von polygonalen Flächen 2 1. Beschreibung der Aufgabenstellung 3 Gegeben ist der Grundriss eines Raumes. 4 In den Ecken des Raumes sollen Geräte platziert werden, die zusammen

Mehr

Es sei P ein einfaches Polygon in der Ebene; P habe n Ecken. Hilfssatz: Zu jedem einfachen Polygon mit mehr als 3 Ecken existiert eine Diagonale.

Es sei P ein einfaches Polygon in der Ebene; P habe n Ecken. Hilfssatz: Zu jedem einfachen Polygon mit mehr als 3 Ecken existiert eine Diagonale. 6. Polygontriangulierung: Wie bewacht man eine Kunstgalerie? 6.1. Grundlegendes zu Polygonen Es sei P ein einfaches Polygon in der Ebene; P habe n Ecken. Definition: Hilfssatz: Zu jedem einfachen Polygon

Mehr

Vorlesung Geometrische Algorithmen Generierung von Nicht-uniformen Netzen Sven Schuierer

Vorlesung Geometrische Algorithmen Generierung von Nicht-uniformen Netzen Sven Schuierer Vorlesung Geometrische Algorithmen Generierung von Nicht-uniformen Netzen Sven Schuierer Uberblick 1. Anwendung 2. Anforderungen an Netze 3. Quadrantenbaume Quadrantenbaume fur Punktemengen Bestimmung

Mehr

Durchschnitte und Sichtbarkeit

Durchschnitte und Sichtbarkeit Durchschnitte und Sichtbarkeit Elmar Langetepe University of Bonn Algorithmische Geometrie Durchschnitte 11.05.15 c Elmar Langetepe SS 15 1 Durchschnitt von Halbgeraden/Konvexe Hülle Algorithmische Geometrie

Mehr

Algorithmische Geometrie: Delaunay Triangulierung (Teil 2)

Algorithmische Geometrie: Delaunay Triangulierung (Teil 2) Algorithmische Geometrie: Delaunay Triangulierung (Teil 2) Nico Düvelmeyer WS 2009/2010, 2.2.2010 Überblick 1 Delaunay Triangulierungen 2 Berechnung der Delaunay Triangulierung Randomisiert inkrementeller

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

Polygontriangulierung

Polygontriangulierung Vorlesung Algorithmische Geometrie Polygone triangulieren LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 26.04.2011 Das Kunstgalerie-Problem

Mehr

6. Triangulation von Polygonen

6. Triangulation von Polygonen 1 6. Triangulation von Polygonen 2 Problemstellung 3 Problemstellung 4 Problemstellung 5 Problemstellung 6 Jedes Polygon lässt sich triangulieren. Wir führen einen Induktionsbeweis nach der Anzahl der

Mehr

Übersicht. Begriffserklärung Motivation / Anwendungen Drei Algorithmen Zusammenfassung Fragen Quellen. Triangulierung von Steffen Ernst 2

Übersicht. Begriffserklärung Motivation / Anwendungen Drei Algorithmen Zusammenfassung Fragen Quellen. Triangulierung von Steffen Ernst 2 Triangulierung Übersicht Begriffserklärung Motivation / Anwendungen Drei Algorithmen Zusammenfassung Fragen Quellen Triangulierung von Steffen Ernst 2 Begriffserklärung Ein Graph ist trianguliert, wenn

Mehr

Geometrie 2. Julian Fischer Julian Fischer Geometrie / 30

Geometrie 2. Julian Fischer Julian Fischer Geometrie / 30 Geometrie 2 Julian Fischer 6.7.2009 Julian Fischer Geometrie 2 6.7.2009 1 / 30 Themen 1 Bereichssuche und kd-bäume 1 Bereichssuche 2 kd-bäume 2 Divide and Conquer 1 Closest pair 2 Beispiel: Points (IOI

Mehr

Algorithmische Geometrie 5. Triangulierung von Polygonen

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

Mehr

Algorithmische Geometrie, SoSe 2005 Skriptmitschrift vom 29. April 2005

Algorithmische Geometrie, SoSe 2005 Skriptmitschrift vom 29. April 2005 Algorithmische Geometrie, SoSe 2005 Skriptmitschrift vom 29. April 2005 Antonia Wittmers Igor Savchenko Konvexe Hüllen Inkrementeller Algorithmus für die konvexe Hülle Dabei heißt inkrementeller Algorithmus,

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

Algorithmen zur Visualisierung von Graphen

Algorithmen zur Visualisierung von Graphen Algorithmen zur Visualisierung von Graphen Teile & Herrsche-Algorithmen: Bäume und serien-parallele Graphen Vorlesung im Wintersemester 20/202..202 Algorithmen zum Zeichnen von Bäumen Anwendbarkeit Gut

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 4 FS 15

Datenstrukturen & Algorithmen Lösungen zu Blatt 4 FS 15 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 18. März

Mehr

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

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

Mehr

Klausur. 18. Juli 2008, 10:15-12:15 Uhr. Name:... Matrikelnummer:... Anzahl beschriebener Blätter (ohne Aufgabenblatt):... D(p) : Y = p x X + p y

Klausur. 18. Juli 2008, 10:15-12:15 Uhr. Name:... Matrikelnummer:... Anzahl beschriebener Blätter (ohne Aufgabenblatt):... D(p) : Y = p x X + p y GRUNDZÜGE DER ALGORITHMISCHEN GEOMETRIE Klausur 18. Juli 2008, 10:15-12:15 Uhr Name:................................... Matrikelnummer:................................... Anzahl beschriebener Blätter (ohne

Mehr

Proportional Symbol Maps

Proportional Symbol Maps Proportional Symbol Maps Florian Simon 8. Dezember, 2009 Proportional Symbol Maps Gegeben: Punkte p 1,..., p n R 2 mit zugeordneten Werten w 1,..., w n R Proportional Symbol Maps Gegeben: Punkte p 1,...,

Mehr

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

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

Mehr

Zusammenfassung Voronoi Diagramme

Zusammenfassung Voronoi Diagramme Zusammenfassung Voronoi Diagramme Elmar Langetepe University of Bonn Algorithmische Geometrie Voronoi Diagramme 03.06.11 c Elmar Langetepe SS 15 1 Kap. 5: Voronoi Diagramme Zerlegung der Ebene in Zellen

Mehr

elementare Datenstrukturen

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

Mehr

Very simple methods for all pairs network flow analysis

Very simple methods for all pairs network flow analysis Very simple methods for all pairs network flow analysis obias Ludes 0.0.0. Einführung Um den maximalen Flusswert zwischen allen Knoten eines ungerichteten Graphen zu berechnen sind nach Gomory und Hu nur

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

2.2. Schnitte von Liniensegmenten

2.2. Schnitte von Liniensegmenten Wir wenden uns nun dem Problem (2) aus 1 zu. F15 Aus zwei Mengen S1, S2 von Liniensegmenten möchten wir alle Schnittpunkte der Segmente aus S1 mit denen aus S2 ermitteln. Wir legen fest, dass sich zwei

Mehr

Quadtrees und Meshing

Quadtrees und Meshing Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 19.06.2012 Motivation: Meshing von Platinenlayouts Zur Simulation der Hitzeentwicklung

Mehr

Quadtrees und Meshing

Quadtrees und Meshing Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 19.06.2012 Motivation: Meshing von Platinenlayouts Zur Simulation der Hitzeentwicklung

Mehr

Quadtrees und Meshing

Quadtrees und Meshing Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 21.06.2011 Motivation: Meshing von Platinenlayouts Zur Simulation

Mehr

Polygontriangulierung

Polygontriangulierung Vorlesung Algorithmische Geometrie Polygone triangulieren INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.05.2012 Das Kunstgalerie-Problem Aufgabe: Installiere ein Kamerasystem

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

Algorithmische Geometrie: Voronoi Diagramme (Teil 2)

Algorithmische Geometrie: Voronoi Diagramme (Teil 2) Algorithmische Geometrie: Voronoi Diagramme (Teil 2) Nico Düvelmeyer WS 2009/2010, 12.1.2010 Überblick 1 Definition und grundlegende Eigenschaften (Wied.) 2 Bestimmung des Voronoi Diagramms Gleitebenenverfahren

Mehr

Algorithmische Techniken für Geometrische Probleme

Algorithmische Techniken für Geometrische Probleme Algorithmische Techniken für Geometrische Probleme Berthold Vöcking 14. Juni 2007 Inhaltsverzeichnis 1 Die Sweepline-Technik 2 1.1 Schnitte orthogonaler Liniensegmente............... 2 1.2 Schnitte beliebiger

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 03.12.2013 Algorithmische Geometrie: Schnitte von Strecken Sweep-Line INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg

Mehr

Planare Graphen und Färbungen. Kapitel 7. Peter Becker (H-BRS) Graphentheorie Wintersemester 2018/ / 296

Planare Graphen und Färbungen. Kapitel 7. Peter Becker (H-BRS) Graphentheorie Wintersemester 2018/ / 296 Kapitel 7 Peter Becker (H-BRS) Graphentheorie Wintersemester 2018/19 256 / 296 Inhalt Inhalt 7 Färbungen Peter Becker (H-BRS) Graphentheorie Wintersemester 2018/19 257 / 296 Jordankurve Zentrale Frage

Mehr

Triangulierung von einfachen Polygonen

Triangulierung von einfachen Polygonen Triangulierung von einfachen Polygonen - Seminarvortrag von Tobias Kyrion - Inhalt: 1.1 Die Problemstellung Quellenangabe 1.1 Die Problemstellung Definition Polygon: endlich viele paarweise verschiedene

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

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

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

Mehr

WS 2013/14. Diskrete Strukturen

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

Mehr

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

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

Mehr

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

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

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

Mehr

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

F R A N Z I S K A K U H L S 3 0. N O V E M B E R.

F R A N Z I S K A K U H L S 3 0. N O V E M B E R. Die Museumswächter F R A N Z I S K A K U H L S 3 0. N O V E M B E R. 2 0 1 7 Gliederung 2 Einleitung Grundlagen Anwendung Geschichtliches Beispiele Der Beweis Triangulation 3-Färbbarkeit Schlussfolgerung

Mehr

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

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

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14

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

Mehr

2.1. Konvexe Hülle in 2D

2.1. Konvexe Hülle in 2D Wir wollen die konvexe Hülle einer Menge von Punkten P = {p 1,..., p n } in der Ebene R 2 bestimmen. y y x x Def. 21: Eine Teilmenge S der Ebene ist konvex gdw für jedes Paar das Liniensegment pq in S

Mehr

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

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

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

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

Mehr

Seminar: Algorithmisches in der Geometrie Ausarbeitung zu Vortrag 9. Triangulierungen im Cayley-Graph und Enden von kontextfreien Gruppen

Seminar: Algorithmisches in der Geometrie Ausarbeitung zu Vortrag 9. Triangulierungen im Cayley-Graph und Enden von kontextfreien Gruppen Seminar: Algorithmisches in der Geometrie Ausarbeitung zu Vortrag 9 Triangulierungen im Cayley-Graph und Enden von kontextfreien Gruppen Stefanie Schindler 25. Juni 2010 Zusammenfassung Zunächst machen

Mehr

Algorithmische Geometrie: Abfragen Orthogonaler Bereiche

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

Mehr

Triangulierung von einfachen Polygonen

Triangulierung von einfachen Polygonen Triangulierung von einfachen Polygonen Tobias Kyrion Inhaltsverzeichnis 1.1 Die Problemstellung....................... 1 2.1 Ein naiver Algorithmus...................... 2 3.1 Zerlegung in monotone Teilpolygone..............

Mehr

Abschnitt 18: Effizientes Suchen in Mengen

Abschnitt 18: Effizientes Suchen in Mengen Abschnitt 18: Effizientes Suchen in Mengen 18. Effizientes Suchen in Mengen 18.1 Vollständig ausgeglichene binäre Suchbäume 18.2 AVL-Bäume 18.3 Operationen auf AVL-Bäumen 18.4 Zusammenfassung 18 Effizientes

Mehr

Quadtrees und Meshing

Quadtrees und Meshing Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 24.06.2014 Motivation: Meshing von Platinenlayouts Zur Simulation der Hitzeentwicklung

Mehr

Polygontriangulierung

Polygontriangulierung Übung Algorithmische Geometrie Polygontriangulierung LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann 07.05.204 Ablauf Vergabe der Projekte Übungsblatt

Mehr

Geometrische Algorithmen Voronoi-Diagramme. Lernmodul 7: Geo-Algorithmen und -Datenstrukturen - Voronoi-Diagramme

Geometrische Algorithmen Voronoi-Diagramme. Lernmodul 7: Geo-Algorithmen und -Datenstrukturen - Voronoi-Diagramme Folie 1 von 32 Geometrische Algorithmen Voronoi-Diagramme Folie 2 von 32 Voronoi-Diagramme Übersicht Problemstellung Animation zur Konstruktion eines Voronoi-Diagramms Definition, Eigenschaften eines Voronoi-Diagramms

Mehr

KARL-FRANZENS-UNIVERSITÄT GRAZ. Seminar aus Reiner Mathematik. Die Museumswächter. Krupic Mustafa Wintersemester 2013/14

KARL-FRANZENS-UNIVERSITÄT GRAZ. Seminar aus Reiner Mathematik. Die Museumswächter. Krupic Mustafa Wintersemester 2013/14 KARL-FRANZENS-UNIVERSITÄT GRAZ Seminar aus Reiner Mathematik Die Museumswächter Krupic Mustafa Wintersemester 2013/14 Inhaltsverzeichnis 2 Inhaltsverzeichnis 1 Einleitung 3 2 Museumswächter-Satz 6 2.1

Mehr

Algorithmen und Datenstrukturen 13

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

Mehr

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

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

Mehr

Algorithmische Geometrie: Delaunay Triangulierung (Teil 1)

Algorithmische Geometrie: Delaunay Triangulierung (Teil 1) Algorithmische Geometrie: Delaunay Triangulierung (Teil 1) Nico Düvelmeyer WS 2009/2010, 26.1.2010 Überblick 1 Motivation Interpolation von Höhendaten 2 Triangulierungen von ebenen Punktmengen 3 Delaunay

Mehr

Übungsaufgaben Graphentheorie, Wintersemester 2011/12

Übungsaufgaben Graphentheorie, Wintersemester 2011/12 Übungsaufgaben Graphentheorie, Wintersemester 2011/12 Frank Göring 25. Januar 2012 Zusammenfassung Übungsaufgaben zur Graphentheorievorlesung. 1 Bis 19.10.2011 1. Wir hatten einen Graphen G als zusammenhängend

Mehr

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza)

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza) WS 2013/14 Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza) Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2013ws/ds/uebung/ 22. Januar 2014 ZÜ DS ZÜ XIII

Mehr

Theorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21.

Theorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21. Theorie der Informatik 19. Mai 2014 21. einige NP-vollständige Probleme Theorie der Informatik 21. einige NP-vollständige Probleme 21.1 Übersicht 21.2 Malte Helmert Gabriele Röger 21.3 Graphenprobleme

Mehr

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

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

Mehr

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

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

Mehr

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

Heute. Algorithmen für Ad-hoc- und Sensornetze. Erinnerung: MAC-Layer. Erinnerung: Färbungen. Definition

Heute. Algorithmen für Ad-hoc- und Sensornetze. Erinnerung: MAC-Layer. Erinnerung: Färbungen. Definition Heute Algorithmen für Ad-hoc- und Sensornetze VL 0 Eine kurze Geschichte vom Färben (Teil ) Medium Access Control / Färbungen, Teil kurze Wiederholung Schöner verteilter Färbungsalgorithmus Markus Völker

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

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

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

Mehr

Parallele Algorithmen in der Bildverarbeitung

Parallele Algorithmen in der Bildverarbeitung Seminar über Algorithmen - SoSe 2009 Parallele Algorithmen in der Bildverarbeitung von Christopher Keiner 1 Allgemeines 1.1 Einleitung Parallele Algorithmen gewinnen immer stärker an Bedeutung. Es existieren

Mehr

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

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

Mehr

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

Distanzprobleme in der Ebene

Distanzprobleme in der Ebene Distanzprobleme in der Ebene (Literatur: deberg et al., Kapitel 7,9) Christian Knauer 1 Motivation: Alle nächsten Nachbarn Gegeben: Eine Menge von Punkten P in der Ebene Berechne: Zu jedem Punkt aus P

Mehr

Übungsblatt 7 - Voronoi Diagramme

Übungsblatt 7 - Voronoi Diagramme Karlsruher Institut für Technologie Algorithmische Geometrie Fakultät für Informatik Sommersemester 2012 ITI Wagner Martin Nöllenburg/Andreas Gemsa Übungsblatt 7 - Voronoi Diagramme 1 Voronoi-Zellen Sei

Mehr

4.3 R-Bäume (I) Idee. basiert auf der Technik überlappender Seitenregionen verallgemeinert die Idee des B + -Baums auf den 2-dimensionalen Raum

4.3 R-Bäume (I) Idee. basiert auf der Technik überlappender Seitenregionen verallgemeinert die Idee des B + -Baums auf den 2-dimensionalen Raum 4.3 R-Bäume (I) Idee basiert auf der Technik überlappender Seitenregionen verallgemeinert die Idee des B + -Baums auf den 2-dimensionalen Raum Geo-Informationssysteme 98 4.3 R-Bäume (I) Definition Ein

Mehr

Effiziente Algorithmen I

Effiziente Algorithmen I 9. Präsenzaufgabenblatt, WiSe 2013/14 Übungstunden am 13.01. & 15.01.2014 Aufgabe Q Gegeben sei ein Fluss-Netzwerk mit Digraph D = (V, A), Knotenkapazitäten c(u, v) 0, Quelle s und Senke t. Kann sich der

Mehr

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

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

Mehr

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

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

Mehr

Punktlokalisierung. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Punktlokalisierung. 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 24.05.2011 Motivation Gegeben eine Position p = (p x, p y )

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

Isomorphie von Bäumen

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

Mehr

Graphen. Definitionen

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

Mehr

1. Einleitung wichtige Begriffe

1. Einleitung wichtige Begriffe 1. Einleitung wichtige Begriffe Da sich meine besondere Lernleistung mit dem graziösen Färben (bzw. Nummerieren) von Graphen (speziell von Bäumen), einem Teilgebiet der Graphentheorie, beschäftigt, und

Mehr

Heute. Medium Access Control / Färbungen, Teil 2. Kapazität & Scheduling. kurze Wiederholung Schöner verteilter Färbungsalgorithmus

Heute. Medium Access Control / Färbungen, Teil 2. Kapazität & Scheduling. kurze Wiederholung Schöner verteilter Färbungsalgorithmus Heute Medium Access Control / Färbungen, Teil kurze Wiederholung Schöner verteilter Färbungsalgorithmus Kapazität & Scheduling Interferenz etwas realistischer neue Probleme und Herangehensweisen VL 0 Eine

Mehr

Triangulierungen von Punktmengen und Polyedern

Triangulierungen von Punktmengen und Polyedern Triangulierungen von Punktmengen und Polyedern Vorlesung im Sommersemester 2 Technische Universität Berlin Jörg Rambau 2.4.2 Motivation und Beispiele Wir wollen hier den Begriff der Triangulierungen von

Mehr

Übung zur Vorlesung Diskrete Strukturen I

Übung zur Vorlesung Diskrete Strukturen I Technische Universität München WS 00/0 Institut für Informatik Aufgabenblatt Prof. Dr. J. Csirik. November 00 Brandt & Stein Übung zur Vorlesung Diskrete Strukturen I Abgabetermin: Tutorübungen am. und.

Mehr

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

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

Mehr

Ü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

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 13: Flüsse und Zuordnungen Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 9. Juni 2017 DURCHSATZ D(e) ist die maximale Flussmenge,

Mehr

3 Codierung diskreter Quellen. Quelle Quellcodierer Kanalcodierer reduziert die benötigte Datenmenge. fügt Daten zur Fehlerkorrektur ein.

3 Codierung diskreter Quellen. Quelle Quellcodierer Kanalcodierer reduziert die benötigte Datenmenge. fügt Daten zur Fehlerkorrektur ein. 3 Codierung diskreter Quellen 3 Einführung 32 Ungleichmäßige Codierung 33 Präfix-Codes 34 Grenzen der Code-Effizienz 35 Optimal-Codierung 3 Zusammenfassung < 24 / 228 > 3 Codierung diskreter Quellen Quelle

Mehr

Relationen und DAGs, starker Zusammenhang

Relationen und DAGs, starker Zusammenhang Relationen und DAGs, starker Zusammenhang Anmerkung: Sei D = (V, E). Dann ist A V V eine Relation auf V. Sei andererseits R S S eine Relation auf S. Dann definiert D = (S, R) einen DAG. D.h. DAGs sind

Mehr

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

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

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/3, Folie 1 2010 Prof. Steffen Lange - HDa/FbI

Mehr

1 AVL-Bäume. 1.1 Aufgabentyp. 1.2 Überblick. 1.3 Grundidee

1 AVL-Bäume. 1.1 Aufgabentyp. 1.2 Überblick. 1.3 Grundidee AVL-Bäume. Aufgabentyp Fügen Sie in einen anfangs leeren AVL Baum die folgenden Schlüssel ein:... Wenden Sie hierbei konsequent den Einfüge /Balancierungsalgorithmus an und dokumentieren Sie die ausgeführten

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

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

Mehr

Datenstrukturen und Algorithmen SS07

Datenstrukturen und Algorithmen SS07 Datenstrukturen und Algorithmen SS0 Datum:.6.200 Michael Belfrage mbe@student.ethz.ch belfrage.net/eth Programm von Heute Minimaler Spannbaum (MST) Challenge der Woche Fibonacci Heap Minimaler Spannbaum

Mehr

3.3 Optimale binäre Suchbäume

3.3 Optimale binäre Suchbäume 3.3 Optimale binäre Suchbäume Problem 3.3.1. Sei S eine Menge von Schlüsseln aus einem endlichen, linear geordneten Universum U, S = {a 1,,...,a n } U und S = n N. Wir wollen S in einem binären Suchbaum

Mehr