Algorithmische Techniken für Geometrische Probleme
|
|
- Sarah Hochberg
- vor 6 Jahren
- Abrufe
Transkript
1 Algorithmische Techniken für Geometrische Probleme Berthold Vöcking 14. Juni 2007 Inhaltsverzeichnis 1 Die Sweepline-Technik Schnitte orthogonaler Liniensegmente Schnitte beliebiger Liniensegmente Überdeckte Fläche von achsenparallelen Rechtecken Divide-and-conquer Algorithmen Nächste Nachbarn Konvexe Hülle
2 1 Die Sweepline-Technik In diesem Abschnitt werden wir drei geometrische Probleme in der Ebene betrachten, für die wir mit Hilfe der sogenannten Sweepline-Technik Algorithmen konstruieren werden. Allgemein stellt man sich unter einer Sweepline eine vertikale Linie vor, die von links nach rechts kontinuierlich über die Ebene streicht, also vom negativen Unendlichen ins positive Unendliche wandert, und dabei jedes gegebene Objekt des betrachteten Problems irgendwann überstreicht. Das kontinuierliche Überstreichen aller Objekte ist natürlich nur eine anschauliche Darstellung für das was eigentlich auf dem Rechner durchgeführt wird. Tatsächlich berechnet der Algorithmus diskrete Ereignispunkte bezüglich einer virtuellen Sweepline, z.b. die Ereignispunkte zu denen die Sweepline einzelne Objekte erreicht bzw. diese wieder verläßt. Diese Ereignispunkte werden vom Algorithmus in der Reihenfolge abgearbeitet, in der die virtuelle Sweepline sie erreicht. 1.1 Schnitte orthogonaler Liniensegmente gegeben: n horizontale Liniensegmente und n vertikale Liniensegmente in der Ebene die sich jeweils untereinander nicht schneiden gesucht: alle Segmentpaare, die sich schneiden Die Segmente werden beschrieben durch ihre Anfangs- und Endpunkte in Form von (x, y)-koordinaten, wobei x die horizontale und y die vertikale Position bezeichnet. Wir stellen uns vor, dass die Sweepline kontinuierlich über die Ebene wandert und machen dabei die folgenden Beobachtungen. 1. Zu jedem Zeitpunkt gibt es eine (evtl. leere) Menge M von horizontalen Segmenten, die die Sweepline schneiden. M ändert sich genau dann, wenn ein Anfangs- oder Endpunkt eines horizontalen Segments erreicht wird. 2. Wir betrachten ein vertikales Segment s dessen Endpunkte die vertikalen Koordinaten y 1 und y 2 haben. Wenn die Sweepline s schneidet, haben alle horizontalen Segmente aus M, deren y-koordinate im Intervall [y 1, y 2 ] liegt, einen Schnittpunkt mit s. Nach dieser Erkenntnis wählen wir die x-koordinaten der Anfangs- und Endpunkte der horizontalen Segmente und die x-koordinaten der vertikalen Segmente als Ereignispunkte für den Algorithmus. 2
3 Algorithmus 1 1. Sortiere die x-koordinaten der Segmente. Bei Gleichheit stehen linke Endpunkte von horizontalen Segmenten vor vertikalen Segmenten und vertikale Segmente vor rechten Endpunkten von horizontalen Segmenten. 2. Initialisiere einen leeren 2-3-Baum. Dieser 2-3-Baum soll immer die oben erwähnte Menge M von horizontalen Segmenten enthalten, die gerade durch die Sweepline überschritten werden. Die Segmente werden in dem 2-3- Baum nach ihren y-koordinaten sortiert und sind zusätzlich durch eine doppelt verkettete Liste verknüpft. 3. Durchlaufe die in 1. gebildete Folge. Falls das linke Ende eines horizontalen Segments erreicht wird, füge dieses Segment in den 2-3-Baum ein. Falls das rechte Ende eines horizontalen Segments erreicht wird, entferne dieses Segment aus dem 2-3-Baum. Falls ein vertikales Segment s mit den y-koordinaten y 1 und y 2 erreicht wird, suche im 2-3-Baum das Segment, mit der kleinsten y- Koordinate die nicht kleiner als y 1 ist. Durchlaufe von dort aus die doppelt verkettete Liste, bis ein Segment erreicht ist, dessen y-koordinate größer als y 2 ist. Seien s 1... s k die in der Liste erreichten Segmente. Schreibe die Paare (s, s 1 ),..., (s, s k 1 ) in die Ausgabe. Laufzeit von Algorithmus 1 Beachte, dass die Ausgabe möglicherweise aus allen n 2 Segmentpaaren besteht. In diesem Fall ist die Laufzeit Ω(n 2 ). Dennoch möchten wir dem Algorithmus nicht grundsätzlich derartig viele Schritte erlauben, sondern nur dann falls die Ausgabelänge dieses wirklich erfordert. Ein derartiger Algorithmus wird ausgabesensitiv genannt. Bezeichne k die Anzahl der sich schneidenden Segmentpaare. Wir werden die Lauzeit in Abhängigkeit von der Eingabelänge n und der Ausgabelänge k beschreiben. Schritt 1: O(n log n). Schritt 2: O(1). Schritt 3: O(n log n + k). 3
4 Die Laufzeitschranke für Schritt 3 ergibt sich wie folgt. Da der 2-3-Baum nie mehr als n Objekte enthält, kosten die Operationen Einfügen, Entfernen und Suchen jeweils Zeit O(log n). Damit sind alle Kosten, bis auf die für das Entlangenlaufen der verketteten Blätter im 2-3-Baum verrrechnet. Die Kosten für diesen Vorgang sind O(k). Satz 1 Algorithmus 1 hat Laufzeit O(n log n + k). Diese Lauzeit ist fast optimal, denn Ω(n + k) ist eine offensichtliche Schranke für dieses Problem. 1.2 Schnitte beliebiger Liniensegmente gegeben: n Liniensegmente in der Ebene gesucht: alle Segmentpaare, die sich schneiden Wir nehmen an, dass kein Segment vertikal ist. Das erreichen wir, indem wir ggf. die Ebene um einen kleinen geeigneten Winkel drehen. Weiter nehmen wir zuerst an, dass sich maximal zwei Segmente in einem Punkt schneiden. Den allgemeinen Fall betrachten wir danach. Wir stellen uns wieder die Sweepline vor, die kontinuierlich über die Ebene wandert. Zu jedem Zeitpunkt x, wobei x die horizontale Position der Sweepline bezeichnet, gibt es eine Menge von Segmenten, die die Sweepline schneiden. Auf dieser Menge definieren wir die Ordnung > x. Es ist s 1 > x s 2, falls die Sweepline das Segment s 1 oberhalb vom Schnittpunkt mit dem Segment s 2 schneidet. Da diese Ordnung abhängig von x ist, kann sie sich mit der Zeit ändern. Sie ändert sich genau zu den folgenden Ereignispunkten. 1. Wenn der linke Endpunkt eines Segments erreicht wird, wird dieses Segment in die Ordnung eingefügt. 2. Wenn der rechte Endpunkt eines Segments erreicht wird, wird dieses Segment aus der Ordnung entfernt. 3. Wenn der Schnittpunkt zweier Segmente erreicht wird, vertauscht sich die Reihenfolge dieser Segmente bzgl. der Ordnung. 4
5 Es gibt einen Unterschied zu den Ereignispunkten aus Algorithmus 1. Die Ereignispunkte aus 3. sind nicht direkt aus der Eingabe ablesbar sondern müssen explizit vom Algorithmus berechnet werden. Zwei Segmente, die sich in einem Punkt p schneiden, sind spätestens dann benachbart, wenn der letzte Ereignispunkt vor p erreicht wird. Daher reicht es aus, an jedem Ereignispunkt x nur Schnittpunkte für diejenigen Segmente zu berechnen, die bzgl. > x neue Nachbarn geworden sind. Algorithmus 2 1. Sortiere die Endpunkte der Segmente bzgl. der x-koordinate und füge sie in einen 2-3-Baum E ein. (E verwaltet die Ereignispunkte.) 2. Initialisiere einen 2-3-Baum L als leer. (L stellt immer den Zustand der Segmente bzgl. der Ordnung > x dar.) 3. Führe die Schritte 4. bis 7. durch, bis E leer ist. 4. Berechne p, das Minimum in E, und entferne p aus E. 5. Falls p linker Endpunkt eines Segments s ist: Füge s bzgl. der x-koordinate von p in L ein. s V = Vorgänger von s in L. s N = Nachfolger von s in L. Falls s V und s sich schneiden und dieser Schnittpunkt noch nicht in E enthalten ist, füge ihn in E ein. Falls s und s N sich schneiden und dieser Schnittpunkt noch nicht in E enthalten ist, füge ihn in E ein. 6. Falls p rechter Endpunkt eines Segments s ist: s V = Vorgänger von s in L. s N = Nachfolger von s in L. Entferne s aus L. Falls s V und s N sich schneiden und dieser Schnittpunkt noch nicht in E enthalten ist, füge ihn in E ein. 7. Falls p Schnittpunkt der Segmente s 1 und s 2 ist: 5
6 O.B.d.A. verlaufe s 1 links von p oberhalb von s 2. s V = Vorgänger von s 1 in L. s N = Nachfolger von s 2 in L. Vertausche die Reihenfolge von s 1 und s 2 in L. Falls s 1 und s N sich schneiden und dieser Schnittpunkt noch nicht in E enthalten ist, füge ihn in E ein. Falls s 2 und s V sich schneiden und dieser Schnittpunkt noch nicht in E enthalten ist, füge ihn in E ein. Falls sich k > 2 Segmente in einem Punkt p schneiden, verwalten wir die Segmentpaare nach folgender Konvention. (s 1, s 2 ) steht vor (s 3, s 4 ), falls s 1 links von p oberhalb von s 3 verläuft oder s 1 = s 3 und s 2 links von p oberhalb von s 4 verläuft. Damit findet der Algorithmus alle ( k 2) Segmentpaare, die sich in p schneiden. Laufzeit von Algorithmus 2 Schritt 1: O(n log n). Schritt 2: O(1). Schritt 3 bis 7: O((n + k) log n). Die Laufzeit für die Schritte 3 bis 7 ergibt sich wie folgt. Es gibt 2n + k 2n + ( n 2) 2n 2 Ereignispunkte. Damit ist die Tiefe des 2-3-Baums E höchstens log 2 (2n 2 ) = 2 log 2 n + 1. Der 2-3-Baums L enthält höchstens n Elemente. Seine Tiefe ist somit höchstens log 2 n. Die Operationen Einfügen, Entfernen und Suchen in diese Datenstrukturen verursacht somit höchstens Kosten O(log n). Für jeden einzelnen der n + k Ereignispunkte sind damit die Laufzeitkosten durch O(log n) beschränkt. Satz 2 Algorithmus 2 hat Laufzeit O((n + k) log n). 1.3 Überdeckte Fläche von achsenparallelen Rechtecken gegeben: n achsenparallele Rechtecke in der Ebene gesucht: die Fläche, die von der Vereinigung der Rechtecke überdeckt wird 6
7 Wenn wir die Sweepline über die Ebene wandern lassen, haben wir zu jedem Zeitpunkt eine Menge von Rechtecken, die einen Schnitt der Länge l mit der Sweepline haben. l ändert sich, wenn ein Anfangs- oder Endpunkt eines Rechtecks erreicht wird. Daher wählen wir diese Punkte als Ereignispunkte. Seien das x 1,..., x 2n in sortierter Reihenfolge. Angenommen die Sweepline befindet sich im Intervall [x i 1, x i ]. Die überdeckte Fläche in diesem Intervall ist dann (x i x i 1 ) l. Wenn wir die in y-richtung überdeckten Intervalle der Rechtecke in einem Segmentbaum verwalten, haben wir l immer zur Verfügung. Algorithmus 3 1. Sortiere die Anfangs- und Endpunkte der Rechtecke nach ihren x-koordinaten zu x 1,..., x 2n. 2. x 0 := x 1, m := Initialisiere einen Segmentbaum für die y-koordinaten der Rechtecke. 4. Für i = 1,..., 2n: Berechne l, das Intervall an der Wurzel des Segmentbaums. m = m + l (x i x i 1 ). Falls x i Anfangspunkt des Rechtecks R ist, füge das in y-richtung überdeckte Intervall von R in den Segmentbaum ein. Falls x i Endpunkt des Rechtecks R ist, entferne das in y-richtung überdeckte Intervall von R aus dem Segmentbaum. Laufzeit von Algorithmus 3 Schritt 1 und 2: O(n log n). Schritt 3: Die Operationen auf dem Segmentbaum kosten Zeit O(log n). Insgesamt erhalten wir die Laufzeit O(n log n). Satz 3 Algorithmus 3 hat Laufzeit O(n log n). 7
8 2 Divide-and-conquer Algorithmen In diesem Abschnitt werden wir einen weiteren Standardansatz zur Lösung geometrischer Probleme in der Ebene kennen lernen. Divide-and-conquer Algorithmen zerlegen das Problem in Teilprobleme, die rekursiv berechnet werden. Aus den Lösungen der Teilprobleme wird dann die Lösung des gesamten Problems berechnet. 2.1 Nächste Nachbarn gegeben: n 2 Punkte in der Ebene gesucht: 2 Punkte mit minimalem Abstand Wir zerlegen die Menge der Punkte am Median M bzgl. der x-koordinaten der Punkte und berechnen die Punkte mit minimalem Abstand der Teilmengen rekursiv. Dadurch entstehen zwei Teilprobleme mit n bzw. n vielen Punkten. 2 2 Seien d 1 und d 2 die minimalen Abstände bzgl. der beiden Teilprobleme. Setze d = min{d 1, d 2 }. Beachte, möglicherweise gibt es noch Paare von Punkten die einen Abstand kleiner als d haben, nämlich solche Paare, die aus einem Punkt links und einem Punkt rechts vom Median bestehen. Allerdings kommen dazu nur Punkte in Frage, deren x-koordinaten im Intervall [M d, M + d] liegen. Sei p = (x, y) ein derartiger Punkt. Alle Punkte, deren Abstand zu p kleiner als d ist, müssen in dem Quadrat liegen, das durch die Punkte (M d, y d) und (M + d, y + d) aufgespannt wird. Wir konzentrieren uns auf die oberer Hälfte dieses Quadrates. Behauptung: Das Rechteck, das durch die Punkte (M d, y) und (M + d, y + d) aufgespannt wird, enthält neben p höchstens noch 7 weitere Punkte. Bevor wir die Behauptung beweisen, zeigen wir, wie wir sie zur Entwicklung eines effizienten Algorithmus verwenden können: Wir sortieren alle Punkte aus dem vertikalen Streifen [M d, M + d] bzgl. ihrer y-koordinaten. Dann berechnen wir für jeden Punkt aus diesem Streifen die Abstände zu seinen 7 Nachfolgern bzgl. dieser Sortierung und geben den kleinsten gefundenen Abstand aus. Aus der Behauptung folgt, dass wir auf diese Art und Weise das Paar mit dem minimalen Abstand im Streifen finden, falls es ein Paar mit Abstand kleiner als d im Streifen gibt, denn alle nicht betrachteten Punktepaare haben Abstand mindestens d. (Frage: Warum müssen wir, wenn wir den Punkt p behandeln, nicht auch explizit den Abstand dieses Punktes zu seinen Vorgängern berechnen?) 8
9 Nun kommen wir zum Beweis der Behauptung. Das betrachtete Rechteck hat Höhe d und Breite 2d. Wir teilen das Rechteck in acht disjunkte Quadrate mit Seitenlänge jeweils d/2 ein, vier Quadrate links und vier rechts des Medians. Der maximal mögliche Abstand zweier Punkte in einem derartigen Teilquadrat ist (d ) 2 ( ) 2 d + = d < d. Da nun aber die Teilquadrate jeweils vollständig links oder rechts des Medians liegen, können sie keine zwei Eingabepunkte enthalten, deren Abstand ja mindestens d ist. Die acht Teilquadrate können also jeweils höchstens einen der Eingabepunkte enthalten, woraus sich die Behauptung ergibt. Wir fassen den oben beschriebenen Algorithmus noch einmal zusammen. Algorithmus 4 1. Rekursionsende: Falls S 3, so berechne den minimalen Abstand und gebe das zugehörige Punktepaar aus. Stopp. 2. Divide: Sonst teile die Menge der Punkte bzgl. des Medians M in zwei Teilmengen S 1 und S 2 auf. Berechne rekursiv die Punkte mit minimalem Abstand aus S 1 und S 2. Sei d der kleinere der berechneten Abstände und (p, p ) das zugehörige Punktepaar. 3. Conquer: Sortiere alle Punkte aus dem vertikalen Streifen [M d, M + d] bzgl. ihrer y-koordinate. Bestimme den Abstand eines jeden Punktes in diesem Streifen zu seinen 7 Nachfolgern bzgl. der Sortierung. Falls der kleinste dieser Abstände kleiner als d ist, so gib das zugehörige Punktepaar aus, sonst gib das Paar (p, p ) aus. Laufzeit von Algorithmus 4 O.B.d.A. sei n eine Zweierpotenz. (Ansonsten runde zur nächsten Zweierpotenz auf.) Bei naiver Implementierung erhalten wir die Rekursionsgleichung ( n ) T (n) = 2 T + O(n log n). 2 Der additive Term O(n log n) entsteht dabei sowohl durch das Sortieren der Punkte bzgl. ihrer x-koordinate zur Bestimmung des Medians in Schritt 2 als auch 9
10 durch das Sortieren der Punkte im vertikalen Streifen um den Median bzgl. ihrer y-koordinate in Schritt 3. Die obige Rekursionsgleichung ergibt eine Laufzeit von O(n log 2 n). Wir zeigen nun, wie man durch eine geschickte Implementierung die Laufzeit O(n log n) erreichen kann. Dazu müssen wir nur zeigen, wie man die Schritte 1 und 3 so realisieren kann, dass jedem Teilproblem nur Laufzeitkosten O(n) statt O(n log n) zugerechnet werden müssen. Die Bestimmung des Medians in Schritt 2 sollte wie folgt realisiert werden. In einem Preprocessing sortieren wir alle n Punkte in Zeit O(n log n) bzgl. ihrer x- Koordinate und schreiben sie in ein Array. An den rekursiven Aufruf übergeben wir dann jeweils den ersten und letzten Index der zugehörigen Punkte in diesem Array. Die Kosten für das Sortieren fallen also nur einmal an. Der Median in einem vorsortierten Array kann in Zeit O(1) bestimmt werden. Wir zeigen nun noch wie die Sortierung der Punkte im Streifen um den Median in Zeit O(n) durchgeführt werden kann. Der Trick ist, dass wir nicht nur die Punkte im Streifen sortieren sondern alle Punkte des jeweiligen Teilproblems. Die sortierte Teilfolge der Punkte im Streifen kann dann aus der sortierten Folge aller Punkte in Zeit O(n) herausgefiltert werden. Die Sortierung aller Punkte erfolgt analog zum Mergesort-Verfahren: Wir stellen sicher, dass die rekursiven Aufrufe in Schritt 2 bereits zwei bzgl. der y-koordinate sortierte Teilfolgen zurückliefern. Diese Teilfolgen können dann in Zeit O(n) zu einer sortierten Gesamtfolge verschmolzen werden kann. Unter Vernachlässigung des Preprocessing ergibt sich nun die Rekursionsgleichung ( n ) T (n) = 2 T + O(n), 2 die sich zu T (n) = O(n log n) löst. Satz 4 Algorithmus 4 hat die Laufzeit O(n log n). 2.2 Konvexe Hülle Die konvexe Hülle einer Punktmenge P entspricht dem kleinsten Polygon, das alle Punkte aus P enthält. gegeben: n 1 Punkte in der Ebene gesucht: die Menge der Eckpunkte der konvexen Hülle 10
11 Algorithmus 5 1. Falls n = 1, so gib den einen Punkt zurück. Sonst zerlege die Menge der Punkte am Median M bzgl. der x-koordinaten der Punkte und berechne rekursiv die Lösung C l für das linke Teilproblem und die Lösung C r für das rechte Teilproblem. 2. Bestimme die obere gemeinsame Tangente beider Polygone. Die Tangente liegt in beiden Polygonen jeweils an einem Eckpunkt an. Den tangierten Eckpunkt in C l nennen wir o l und den tangierten Eckpunkt in C r nennen wir o r. Bestimme auch die untere gemeinsame Tangente beider Polygone. Die tangierten Eckpunkte nennen wir u l und u r. 3. Aus der Menge der Eckpunkte für C l entfernen wir alle Eckpunkte, die im Uhrzeigersinn zwischen o l und u l liegen. Aus der Menge der Eckpunkte für C r entfernen wir alle Eckpunkte, die im Uhrzeigersinn zwischen u r und o r liegen. Die verbleibenden Punkte (inklusive o l, o r, u r, u l ) werden ausgegeben. Die Berechnung der Tangenten in Schritt 2 ist zeitkritisch. Wir beschreiben diesen Vorgang für die obere Tangente. Die untere Tangente kann analog berechnet werden. Wie können die Punkte o l und o r effizient berechnet werden? - Initial setzen wir o l auf die obersten Eckpunkte von C l bzw. C r, d.h. die Eckpunkte mit größter y-koordinate. Dies sind jedoch möglicherweise nicht die Punkte an denen die Tangente anliegt. Zum Auffinden der wahren Tangentenpunkte wenden wir nun wiederholt die folgenden Regeln an, bis keine der Regeln mehr zutrifft. Ausw ärtsdrehung im rechten Polygon: Falls die Verlängerung der Linie von o l nach o r in C r hineinragt, so verschiebe o r im Urzeigersinn um einen Eckpunkt nach rechts. Ausw ärtsdrehung im linken Polygon: Falls die Verlängerung der Linie von o r nach o l in C l hineinragt, so verschiebe o l entgegengesetzt dem Uhrzeigersinn um einen Eckpunkt nach links. Einw ärtsdrehung im rechten Polygon: Falls die Linie von o l nach o r das Polygon C r schneidet, so setze o r entgegengesetzt dem Urzeigersinn um einen Eckpunkt nach links. 11
12 Einw ärtsdrehung im linken Polygon: Falls die Linie von o l nach o r das Polygon C l schneidet, so setze o l im Urzeigersinn um einen Eckpunkt nach rechts. Beachte, dieser Prozess terminiert, da sich der Schnittpunkt der Linie zwischen o r und o l mit der Mediansenkrechten von Iteration zu Iteration nach oben verschiebt. Laufzeit von Algorithmus 5 In einem Preprocessing werden die Punkte nach der x-koordinate sortiert. Das Preprocessing kann in Zeit O(n log n) durchgeführt werden. Danach kann Schritt 1 in Zeit O(1) durchgeführt werden. Schritt 3 kann offensichtlich in Zeit O(n) durchgeführt werden. Für den zeitkritischen Schritt 2 gilt ebenfalls eine oberer Schranke von O(n), da Auswärtsdrehungen (im Gegensatz zu Einwärtsdrehungen) niemals rückgängig gemacht werden, so dass höchstens O(n) Drehungen durchgeführt werden. (Beweis: Übungsaufgabe.) Unter Vernachlässigung des Preprocessings ergibt sich somit die folgende Rekursiongleichung ( n ) T (n) = 2 T + O(n). 2 Diese Gleichung löst sich zu T (n) = O(n log n). Satz 5 Algorithmus 5 hat die Laufzeit O(n log n). 12
Geometrische Algorithmen
Geometrische Algorithmen Thomas Röfer Motivation Scan-line-Prinzip Konvexe Hülle Distanzprobleme Voronoi-Diagramm Rückblick Manipulation von Mengen Vorrangwarteschlange Heap HeapSort swap(a, 0, 4) 1 5
MehrAlgorithmische 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.
MehrAlgorithmische 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
MehrWas 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
MehrStud.-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Übersicht über Informatik und Softwaresystemtechnik WS 99/00, Prof. Dr. Andreas Schwill
Konvexe Hülle Hierbei handelt es sich um ein klassisches Problem aus der Algorithmischen Geometrie, dem Teilgebiet der Informatik, in dem man für geometrische Probleme effiziente Algorithmen bestimmt.
MehrTriangulierung 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
MehrGeometrische 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
MehrGeometrische Algorithmen
Geometrische Algorithmen Bin Hu Algorithmen und Datenstrukturen 2 Arbeitsbereich für Algorithmen und Datenstrukturen Institut für Computergraphik und Algorithmen Technische Universität Wien Einführung
MehrParallele 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
MehrGeometrische 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
MehrGeometrische 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
MehrGeometrische Algorithmen Einige einfache Definitionen: Ist ein Punkt in einem Polygon? Punkt-in-Polygon-Problem. Das Punkt-in-Polygon-Problem
Geometrische Algorithmen Einige einfache Definitionen: Punkt: im n-dimensionalen Raum ist ein n-tupel (n Koordinaten) Gerade: definiert durch zwei beliebige Punkte auf ihr Strecke: definiert durch ihre
Mehr6. Algorithmen der Computer-Geometrie
6. Algorithmen der Computer-Geometrie 1. Einführung 2. Schnitt von zwei Strecken 3. Punkt-in-Polygon-Test 4. Schnitt orthogonaler Strecken 5. Punkteinschlussproblem Geo-Informationssysteme 146 6.1 Computer-Geometrie
MehrPunktlokalisation 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:
MehrGeometrische 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
MehrVoronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 29.05.2011 Das Postamt-Problem b(p, q) = {x R 2 : xp = xq } p q h(p, q) h(q, p) = {x :
MehrG. Zachmann Clausthal University, Germany Die wichtigsten Entwurfsverfahren für Algorithmen:
lausthal Informatik II Divide & onquer. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Algorithmen-Design-Techniken Die wichtigsten Entwurfsverfahren für Algorithmen: 1. Divide and onquer
MehrHallo 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Ü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)
MehrKapitel 9 Algorithm. Geometrie. Kürzeste Abstände Konvexe Hülle
Kapitel 9 Algorithm. Geometrie Kürzeste Abstände Konvexe Hülle Überblick Teilgebiet der Informatik, in dem es um die Entwicklung effizienter Algorithmen und die Bestimmung der algorithmischen Komplexität
MehrÜbung: Algorithmen und Datenstrukturen SS 2007
Übung: Algorithmen und Datenstrukturen SS 2007 Prof. Lengauer Sven Apel, Michael Claÿen, Christoph Zengler, Christof König Blatt 5 Votierung in der Woche vom 04.06.0708.06.07 Aufgabe 12 Manuelle Sortierung
MehrBereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie
Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.07.2012 Objekttypen in Bereichsabfragen y0 y0 y x x0 Bisher
MehrTheoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme
Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien
MehrKapitel 2. Weitere Beispiele Effizienter Algorithmen
Kapitel 2 Weitere Beispiele Effizienter Algorithmen Sequentielle Suche Gegeben: Array a[1..n] Suche in a nach Element x Ohne weitere Zusatzinformationen: Sequentielle Suche a[1] a[2] a[3] Laufzeit: n Schritte
MehrVorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 24.04.2011 Überlagern von Kartenebenen Beispiel: Gegeben zwei verschiedene Kartenebenen,
MehrVoronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.06.2014 1 Das Postamt-Problem b(p, q) = {x 2 R 2 : xp = xq } p q h(p, q) h(q, p) = {x
MehrBereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie
Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.07.2012 Objekttypen in Bereichsabfragen y0 y x x0 Bisher
MehrAbschnitt 19: Sortierverfahren
Abschnitt 19: Sortierverfahren 19. Sortierverfahren 19.1 Allgemeines 19.2 Einfache Sortierverfahren 19.3 Effizientes Sortieren: Quicksort 19.4 Zusammenfassung 19 Sortierverfahren Informatik 2 (SS 07) 758
MehrKurs 1663 Datenstrukturen" Musterlösungen zur Klausur vom Seite 1. Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15.
Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur vom 15.08.98 Seite 1 Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15. August 1998 Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur
MehrAlgorithmen 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
MehrAufgabensammlung zur algorithmischen Geometrie
1 Aufgabensammlung zur algorithmischen Geometrie 2012WS Andreas Kriegl 1. Konvexe Hülle als Durchschnitt. Zeige, daß der Durchschnitt konvexer Mengen wieder konvex ist und somit die konvexe Hülle einer
MehrDas Voronoi Diagramm. 1. Definition. 2. Eigenschaften. 3. Größe und Speicherung. 4. Konstruktion. 5. Verwendung
Das Voronoi Diagramm 1. Definition 2. Eigenschaften 3. Größe und Speicherung 4. Konstruktion 5. Verwendung Das Voronoi- Diagramm Voronoi Regionen Euklidische Distanz: d(p,q) = (px-qx)^2+(py-qy)^2 Das Voronoi-Diagramm
MehrAlgorithmen und Datenstrukturen Heapsort
Algorithmen und Datenstrukturen 2 5 Heapsort In diesem Kapitel wird Heapsort, ein weiterer Sortieralgorithmus, vorgestellt. Dieser besitzt wie MERGE-SORT eine Laufzeit von O(n log n), sortiert jedoch das
MehrPunkt-in-Polygon-Suche Übersicht
Folie 1 von 43 Punkt-in-Polygon-Suche Übersicht! Praxisbeispiel/Problemstellung! Zählen von Schnittpunkten " Schnitt einer Halbgerade mit der Masche " Aufwandsbetrachtung! Streifenkarte " Vorgehen und
MehrSortierverfahren für Felder (Listen)
Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es
MehrLiniensegmentschnitt. Doppelt verkettete Kantenliste. Überlagerung von 2 ebenen Graphen. Boolsche Operatoren für einfache Polygone (LEDA)
Liniensegmentschnitt Motivation, Überlagerung von Karten, Problemformulierung Ein einfaches Problem und dessen Lösung mit Hilfe des Sweep-Line Prinzips Output-sensitiver Liniensegmentschnittalgorithmus
MehrGeradenarrangements und Dualität von Punkten und Geraden
Vorlesung Algorithmische Geometrie von Punkten und Geraden INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 12.06.2012 Dualitätsabbildung Bisher haben wir Dualität für planare
Mehrlim log 2n n = > 0 Da es einen Limes gibt, gibt es auch einen Limes inferior, der gleich diesem Limes ist.
Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Jonathan Heinen, Thomas Ströder, Sabrina von Styp Aufgabe 1 (O-Notation): Beweisen oder widerlegen Sie die folgenden Aussagen: (3 + 3 + 4 = 10 Punkte)
Mehr2.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
MehrGeometrische Datenstrukturen
Geometrische Datenstrukturen 1. Rechteckschnitt 2. Segment Bäume 3. Intervall Bäume 4. Prioritätssuchbäume 1. Rechteckschnitt - Schwenke horizontale Scan-Line von oben nach unten. - Speichere die Schnitte
MehrBeispiellösung zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 5
Robert Elsässer Paderborn, den 15. Mai 2008 u.v.a. Beispiellösung zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 5 AUFGABE 1 (6 Punkte): Nehmen wir an, Anfang bezeichne in einer normalen
MehrGeradenarrangements und Dualität von Punkten und Geraden
Vorlesung Algorithmische Geometrie von Punkten und Geraden INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 12.06.2012 Dualitätsabbildung Bisher haben wir Dualität für planare
MehrGeometrische Algorithmen Punkt-in-Polygon-Suche. Lernmodul 7: Geo-Algorithmen und -Datenstrukturen - Punkt-in-Polygon-Suche
Folie 1 von 51 Geometrische Algorithmen Punkt-in-Polygon-Suche Folie 2 von 51 Punkt-in-Polygon-Suche Übersicht Praxisbeispiel/Problemstellung Zählen von Schnittpunkten Schnitt einer Halbgerade mit der
Mehr1 Kürzeste Pfade in Graphen
Praktikum Algorithmen-Entwurf (Teil 3) 03.11.2011 1 1 Kürzeste Pfade in Graphen Es sei ein gerichteter Graph G = (V, E) mit V = n Knoten, E = m Kanten und Kantengewichten c : E R gegeben. Ein Pfad in G
Mehr7. 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
MehrGrundlagen zur Delaunay-Triangulierung und zur konvexen Hülle. zum Begriff des Voronoi-Diagramms (vgl. auch Vorlesung "Algorithmische Geometrie"):
Grundlagen zur Delaunay-Triangulierung und zur konvexen Hülle zum Begriff des Voronoi-Diagramms (vgl. auch Vorlesung "Algorithmische Geometrie"): 1 Erzeugung des Voronoi-Diagramms (siehe Vorlesung "Algorithmische
Mehr9 Minimum Spanning Trees
Im Folgenden wollen wir uns genauer mit dem Minimum Spanning Tree -Problem auseinandersetzen. 9.1 MST-Problem Gegeben ein ungerichteter Graph G = (V,E) und eine Gewichtsfunktion w w : E R Man berechne
MehrBereichsabfragen. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie
Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.05.2011 Geometrie in Datenbanken In einer Personaldatenbank
Mehr8. Sortieren II. 8.1 Heapsort. Heapsort. [Max-]Heap 6. Heapsort, Quicksort, Mergesort. Binärer Baum mit folgenden Eigenschaften
Heapsort, Quicksort, Mergesort 8. Sortieren II 8.1 Heapsort [Ottman/Widmayer, Kap. 2.3, Cormen et al, Kap. 6] 9 210 Heapsort [Max-]Heap 6 Inspiration von Selectsort: Schnelles Einfügen Binärer Baum mit
MehrHeapsort, Quicksort, Mergesort. 8. Sortieren II
209 Heapsort, Quicksort, Mergesort 8. Sortieren II 210 8.1 Heapsort [Ottman/Widmayer, Kap. 2.3, Cormen et al, Kap. 6] 211 Heapsort Inspiration von Selectsort: Schnelles Einfügen Inspiration von Insertionsort:
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen 11. Übung Verkettete Listen, Sortieren Insertionsort, Mergesort, Radixsort, Quicksort Clemens Lang Übungen zu AuD 19. Januar 2010 Clemens Lang (Übungen zu AuD) Algorithmen
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 10 Suche in Graphen Version vom 13. Dezember 2016 1 / 2 Vorlesung 2016 / 2017 2 /
MehrParallele und funktionale Programmierung Wintersemester 2016/ Übung Abgabe bis , 16:00 Uhr
4. Übung Abgabe bis 25.11.2016, 16:00 Uhr Aufgabe 4.1: Verklemmungsbedingungen a) Welche drei Bedingungen müssen gelten, damit es zu einer Verklemmung in einem parallelen System kommen kann? b) Nach welcher
MehrDatenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14
Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 2. April
MehrProgrammiertechnik 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
MehrTriangulierung 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..............
MehrTriangulierung von Polygonen und das Museumsproblem
Triangulierung von Polygonen und das Museumsproblem (Literatur: deberg et al., Kapitel 3) 1 Motivation: Das Museumsproblem ein Museum soll durch Kameras überwacht werden wie viele Kameras werden benötigt?
MehrSweep-Verfahren (Scan-Verfahren, Scanlinien- / Scanebenen- Verfahren): wichtige algorithmische Technik / Paradigma analog zu "divide and conquer"
3. Das Sweep-Verfahren Sweep-Verfahren (Scan-Verfahren, Scanlinien- / Scanebenen- Verfahren): wichtige algorithmische Technik / Paradigma analog zu "divide and conquer" Prinzip: Rückführung eines n-dim.
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 17. Vorlesung Nächstes Paar Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Problem: Gegeben: Menge P von n Punkten in der Ebene, jeder Punkt
MehrDas Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle
122 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 123 Das Suchproblem Gegeben Menge von Datensätzen.
MehrDas Suchproblem 4. Suchen Das Auswahlproblem Suche in Array
Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge von Datensätzen. Beispiele
MehrGeometrie 1. Christian Bay Christian Bay Geometrie / 46
Geometrie 1 Christian Bay 02.07.2013 Christian Bay Geometrie 1 02.07.2013 1 / 46 Inhaltsverzeichnis Grundlagen CCW Polygone Picks Theorem Konvexe Hülle Christian Bay Geometrie 1 02.07.2013 2 / 46 Geometrie
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Graphdurchläufe Maike Buchin 22. und 27.6.2017 Graphexploration Motivation: Für viele Zwecke will man den gesamten Graphen durchlaufen, zb. um festzustellen ob er (stark) zusammenhängt.
MehrStud.-Nummer: Datenstrukturen & Algorithmen Seite 1
Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Aufgabe 1. / 15 P Hinweise: 1) In dieser Aufgabe sollen Sie nur die Ergebnisse angeben. Diese können Sie direkt bei den Aufgaben notieren. 2) Sofern
MehrFüllen von Primitiven
Füllen von Primitiven Basisproblem der 2D-Graphik Anwendung: füllen beliebiger Flächen (Polygone, Freiformkurven) Darstellung von Buchstaben dicke Primitive (Linien, Kreise, Kurven), Teilproblem in der
Mehr1. Übungsblatt zu Algorithmen II im WS 2011/2012
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders Moritz Kobitzsch, Dennis Schieferdecker. Übungsblatt zu Algorithmen II im WS 0/0 http://algo.iti.kit.edu/algorithmenii.php
MehrÜbungsklausur Algorithmen I
Jun.-Prof. Hofheinz, Jun.-Prof. Meyerhenke (ITI, KIT) 08.06.2015 Übungsklausur Algorithmen I Aufgabe 1. (Algorithm Engineering) Nennen Sie zwei Konzepte, die Algorithm Engineering im Gegensatz zu theoretischer
MehrDatenstrukturen und Algorithmen
Datenstrukturen und Algorithmen VO 708.031 27.10.2011 stefan.klampfl@tugraz.at 1 Wiederholung Wir vergleichen Algorithmen anhand des ordnungsmäßigen Wachstums von T(n), S(n), Asymptotische Schranken: O-Notation:
MehrMatchings in Graphen. Praktikum Diskrete Optimierung (Teil 5)
Praktikum Diskrete Optimierung (Teil 5) 6.05.009 Matchings in Graphen Es sei ein ungerichteter Graph G = (V, E) gegeben. Ein Matching in G ist eine Teilmenge M E, so dass keine zwei Kanten aus M einen
MehrÜbung zur Vorlesung Diskrete Strukturen I
Technische Universität München WS 00/03 Institut für Informatik Aufgabenblatt 6 Prof. Dr. J. Csirik 18. November 00 Brandt & Stein Übung zur Vorlesung Diskrete Strukturen I Abgabetermin: Tutorübungen am
MehrVorlesung Algorithmen für hochkomplexe Virtuelle Szenen
Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen Sommersemester 2012 Matthias Fischer mafi@upb.de Vorlesung 12 26.6.2012 Matthias Fischer 374 Übersicht Motivation Modell der Sichtbarkeit Eigenschaft
MehrDistanzprobleme 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
MehrKapitel 5: Paradigmen des Algorithmenentwurfs. Gliederung
Gliederung 1. Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs 6. Ausgewählte
MehrPraktikum 3 Algorithmik SS Aufgabe 10: Aufgabe 9 ( Skyline-Problem ) weitere Aufgaben folgen. Name:... Matr-Nr:...
Praktikum 3 Algorithmik SS 2007 14052007 Aufgabe 9: Aufgabe 10: Das Skyline-Problem Union-Find-Strukturen weitere Aufgaben folgen Name: Matr-Nr: Datum: Unterschrift des Dozenten (wenn bestanden): Aufgabe
MehrÜ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
MehrDas Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle
119 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 120 Das Suchproblem Gegeben
MehrLernmodul 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
MehrKlausur Algorithmentheorie
Prof. Dr. G. Schnitger Frankfurt, den 13.02.2009 Klausur Algorithmentheorie WS 2008/2009 Name: Vorname: Studiengang: BITTE GENAU LESEN Die Klausur besteht aus 4 Aufgaben, in denen maximal 100 Punkte erreicht
Mehra) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein:
1 Aufgabe 8.1 (P) (2, 3)-Baum a) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein: Zeichnen Sie, was in jedem Schritt passiert. b) Löschen Sie die Zahlen 65, 70 und 100 aus folgendem
MehrUberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale Roboter 1
Vorlesung Geometrische Algorithmen Sichtbarkeitsgraphen und kurzeste Wege Sven Schuierer Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 Bäume: Grundlagen und natürliche Suchbäume) Prof. Dr. Susanne Albers Bäume (1) Bäume sind verallgemeinerte Listen (jedes Knoten-Element kann mehr
Mehrlässt sich auch ableiten, dass es einen augmentierenden Pfad der Länge höchstens
Praktikum Algorithmen-Entwurf (Teil 5)..5 Matchings in Graphen Es sei ein ungerichteter Graph G = (V, E) gegeben. Ein Matching in G ist eine Teilmenge M E, so dass keine zwei Kanten aus M einen Endpunkt
MehrA7.1 Untere Schranke. Algorithmen und Datenstrukturen. A7.1 Untere Schranke. Algorithmen und Datenstrukturen. A7.2 Quicksort. A7.
Algorithmen und Datenstrukturen 14. März 2018 A7. III Algorithmen und Datenstrukturen A7. III Marcel Lüthi and Gabriele Röger Universität Basel 14. März 2018 A7.1 Untere Schranke A7.2 Quicksort A7.3 Heapsort
Mehr6. 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
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Algorithmen und Datenstrukturen Teil 3 Suchen in Listen Version vom: 15. November 2016
MehrAlgorithmenbegriff: Berechenbarkeit. Algorithmenanalyse. (Berechnung der Komplexität)
Über-/Rückblick Algorithmenbegriff: Berechenbarkeit Turing-Maschine RAM µ-rekursive Funktionen Zeit Platz Komplexität Algorithmentechniken Algorithmenanalyse (Berechnung der Komplexität) Rekursion Iteration
Mehr1.3 Erinnerung: Mergesort
Mergesort 1.3 Erinnerung: Mergesort Um n Zahlen/Objekte a 1,..., a n zu sortieren, geht der Mergesort-Algorithmus so vor: Falls n n 0 : Sortiere mit einem naiven Algorithmus (z. B. Insertion Sort). Sonst:
MehrDie Komplexitätsklassen P und NP
Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen November 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Minimale Spannbäume Maike Buchin 18.7., 20.7.2017 Einführung Motivation: Verbinde Inseln mit Fähren oder Städte mit Schienen und verbrauche dabei möglichst wenig Länge. Problem:
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen A7. Sortieren III Marcel Lüthi and Gabriele Röger Universität Basel 14. März 2018 Untere Schranke Sortierverfahren Sortieren Vergleichsbasierte Verfahren Nicht vergleichsbasierte
MehrUnterlagen zur Vorlesung Algebra und Geometrie in der Schule: Grundwissen über Affine Geometrie. Sommersemester Franz Pauer
Unterlagen zur Vorlesung Algebra und Geometrie in der Schule: Grundwissen über Affine Geometrie Sommersemester 2009 Franz Pauer INSTITUT FÜR MATHEMATIK, UNIVERSITÄT INNSBRUCK, TECHNIKERSTRASSE 13, 6020
MehrJAVA - Suchen - Sortieren
Übungen Informatik I JAVA - Suchen - Sortieren http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 Inhalt Suchen/Sortieren binary search mergesort bubblesort Übungen Informatik
MehrAlgorithmen und Datenstrukturen
Universität Innsbruck Institut für Informatik Zweite Prüfung 16. Oktober 2008 Algorithmen und Datenstrukturen Name: Matrikelnr: Die Prüfung besteht aus 8 Aufgaben. Die verfügbaren Punkte für jede Aufgabe
MehrDatenstrukturen und Algorithmen D-INFK
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 Peter Widmayer
MehrHumboldt-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
MehrGrundlagen: Algorithmen und Datenstrukturen
Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 011 Übungsblatt 30. Mai 011 Grundlagen: Algorithmen und Datenstrukturen
MehrTechnische 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
MehrContainerDatenstrukturen. Große Übung 4
ContainerDatenstrukturen Große Übung 4 Aufgabenstellung Verwalte Kollektion S von n Objekten Grundaufgaben: Iterieren/Auflistung Suche nach Objekt x mit Wert/Schlüssel k Füge ein Objekt x hinzu Entferne
MehrHans Delfs. Übungen zu Mathematik III für Medieninformatik
Hans Delfs Übungen zu Mathematik III für Medieninformatik 1 RÄUMLICHE DARSTELLUNGEN VON OBJEKTEN 1 1 Räumliche Darstellungen von Objekten Der Einheitswürfel ist der achsenparallele Würfel in A 3, der von
Mehr