Algorithmische Geometrie: Schnittpunkte von Strecken
|
|
- Herbert Baumgartner
- vor 6 Jahren
- Abrufe
Transkript
1 Algorithmische Geometrie: Schnittpunkte von Strecken Nico Düvelmeyer WS 2009/2010,
2 3 Phasen im Algorithmenentwurf 1. Konzentration auf das Hauptproblem 2. Verallgemeinerung auf entartete Eingaben 3. Implementation
3 Überblick 1 Gleitebenenverfahren für Schnittpunkte 2 Die doppelt verkettete Kantenliste 3 Berechnung der Überlagerung zweier Ebenenaufteilungen Flächendaten
4 Einschub Balancierter Baum Es gibt Datenstrukturen (Bsp. AVL-Baum), mit denen garantiert sortierte Mengen effizient verwaltet werden können. Speicherplatzbedarf in O(n). Suchen eines Elements in der sortierten Menge in O(log n). Hinzufügen und Löschen von Elementen: O(log n).
5 Auftrag Schnittpunkte Gegeben: n Strecken der Ebene Gesucht: Menge aller Schnittpunkte der abgeschlossenen Strecken, unter Angabe der beteiligten Strecken Die Laufzeit soll ausgabeabhängig möglichst gut sein.
6 Überblick 1 Gleitebenenverfahren für Schnittpunkte 2 Die doppelt verkettete Kantenliste 3 Berechnung der Überlagerung zweier Ebenenaufteilungen Flächendaten
7 Anfangsidee Wir scheiden nur Strecken, deren y-bereiche sich auch schneiden.
8 Anfangsidee Wir scheiden nur Strecken, deren y-bereiche sich auch schneiden. Status: Menge der Strecken, die die Gleitgerade schneiden. Ereignispunkte: Anfangs- und Endpunkte der Strecken Schnittpunktbestimmung: nur Strecken, die gleichzeitig im Status sind
9 Anfangsidee Wir scheiden nur Strecken, deren y-bereiche sich auch schneiden. Status: Menge der Strecken, die die Gleitgerade schneiden. Ereignispunkte: Anfangs- und Endpunkte der Strecken Schnittpunktbestimmung: nur Strecken, die gleichzeitig im Status sind Problem: wir schneiden noch zu viele Paare von (weit entfernten) Strecken!
10 Verfeinerung
11 Verfeinerung Status: Sortierte Liste T der Strecken, wie sie die Gleitgerade (von links nach rechts) schneiden. Balancierter Suchbaum. Schnittpunktbestimmung: nur benachbarte Strecken in T Ereignispunkte: Anfangs-, End- und Schnittpunkte der Strecken, sortiert nach Abarbeitung: Von oben nach unten, bei Gleichheit von links nach rechts. Zu jedem Punkt ist eine Menge dort beginnender Strecken gespeichert. Balancierter Suchbaum. Kein Heap, da bereits enthaltene Punkte nicht nochmals eingefügt werden sollen. Ereigniswarteschlange Q.
12 Algorithmus 3.3 (Hauptschleife) Eingabe: Menge S von Strecken der Ebene Ausgabe: Eine Menge von Schnittpunkten mit Angabe der beteiligten Strecken 1: Funktion SUCHESCHNITTPUNKTE(S) 2: Initialisiere eine leere Ereigniswarteschlange Q. Füge die Randpunkte der Strecken von S in Q ein. Zu den oberen Randpunkten wird auch die zugehörige Strecke gespeichert. Für horizontale Strecken betrachten wir den linken Randpunkt als oberes Ende (Anfangspunkt). 3: Initialisiere einen leeren Statusbaum T. 4: Solange Q nicht leer ist, mache 5: Bestimme den nächsten Ereignispunkt p aus Q und lösche diesen. 6: BEHANDELEREIGNISPUNKT(p)
13 Algorithmus 3.3 (BEHANDELEREIGNISPUNKT Teil 1/2) 7: Unterprogramm BEHANDELEREIGNISPUNKT(p) 8: Bezeichne mit U(p) die Menge der Strecken (aus Q), die in p beginnen. 9: Suche alle Strecken in T, die p enthalten. L(p) sei die Menge jener Strecken, für die p das untere Ende ist, und C(p) die Menge der Strecken von T mit p im Inneren. 10: Wenn L(p) U(p) C(p) mehr als eine Strecke enthält, dann 11: Melde p als Schnittpunkt, zusammen mit L(p), U(p) und C(p). 12: Lösche die Strecken in L(p) C(p) aus T. 13: Füge die Strecken in U(p) C(p) neu in richtiger Reihenfolge in T ein (horizontale Strecken zum Schluss). Löschen und Neueinfügen der Strecken von C(p) vertauscht deren Reihenfolge
14 Algorithmus 3.3 (BEHANDELEREIGNISPUNKT Teil 2/2) 14: Wenn U(p) C(p) = dann 15: Bestimme linken Nachbarn s l und rechten Nachbarn s r von p in T. 16: SUCHENEUESEREIGNIS(s l,s r,p) 17: sonst 18: Sei s die Strecke am weitesten links von U(p) C(p) in T, 19: und s l deren linker Nachbar in T. 20: SUCHENEUESEREIGNIS(s l,s,p) falls s l existiert. 21: Sei s die Strecke am weitesten rechts von U(p) C(p) in T, 22: und s r deren rechter Nachbar in T. 23: SUCHENEUESEREIGNIS(s,s r,p) falls s r existiert.
15 Algorithmus 3.3 (SUCHENEUESEREIGNIS) 24: Unterprogramm SUCHENEUESEREIGNIS(s l, s r, p) 25: Wenn s l und s r sich unterhalb der Gleitebene schneiden (inklusive: direkt rechts von p auf dieser), und wenn deren Schnittpunkt noch nicht in Q enthalten ist, dann 26: Füge den Schnittpunkt in Q ein.
16 Satz 3.4 Alle Schnittpunkte und zugehörige Strecken werden korrekt von Algorithmus 3.3 bestimmt.
17 Satz 3.4 Alle Schnittpunkte und zugehörige Strecken werden korrekt von Algorithmus 3.3 bestimmt. Beweis. Mit Induktion folgt, dass jeder Schnittpunkt auch erkannt wird sobald zwei der beteiligten Strecken benachbart werden. Dies passiert nur an Ereignispunkten. Bei der Behandlung jedes Schnittpunktes p enthält T tatsächlich alle Strecken, die von der Waagerechten geschnitten werden, bis auf Strecken aus U(p).
18 Satz 3.5 Die Laufzeit von Algorithmus 3.3 für n Strecken mit I Schnittpunkten ist in O((n + I) log n).
19 Beweis Satz 3.5 (Hauptschleife) 1: Funktion SUCHESCHNITTPUNKTE(S) 2: Initialisiere eine leere Ereigniswarteschlange Q. Zeit O(1) Füge die Randpunkte der Strecken von S in Q ein. Zu den oberen Randpunkten wird auch die zugehörige Strecke gespeichert. Für horizontale Strecken betrachten wir den linken Randpunkt als oberes Ende (Anfangspunkt). 2n mal Grundoperation Suchen. Maximal 2n mal Grundoperation Einfügen in Q oder alternativ Einfügen in Streckenmenge. Dabei Größe von Q maximal 2n. Zeit: O(n log n). 3: Initialisiere einen leeren Statusbaum T. Zeit O(1) 4: Solange Q nicht leer ist, mache 5: Bestimme den nächsten Ereignispunkt p aus Q und lösche diesen. Maximal 2n + I Durchläufe, Grundoperationen in Q, von Größe maximal 2n + I. Zeit: 2(2n + I) log(2n + I) O((n + I) log n) 6: BEHANDELEREIGNISPUNKT(p) Beachte: I < n 2, log(2n + I) < log(2n 2 ) = log log n O(log n).
20 Satz 3.5 (SUCHENEUESEREIGNIS) 24: Unterprogramm SUCHENEUESEREIGNIS(s l, s r, p) 25: Wenn s l und s r sich unterhalb der Gleitebene schneiden (inklusive: direkt rechts von p auf dieser), und wenn deren Schnittpunkt noch nicht in Q enthalten ist, dann 26: Füge den Schnittpunkt in Q ein. Jeder Durchlauf dieses Unterprogramms benötigt Zeit in O(log Q ), das ist in O(log n).
21 Beweis Satz 3.5 (BEHANDELEREIGNISPUNKT Teil 1/2) Unterprogramm BEHANDELEREIGNISPUNKT(p) wird maximal 2n + I mal ausgeführt. 7: Unterprogramm BEHANDELEREIGNISPUNKT(p) 8: Bezeichne mit U(p) die Menge der Strecken (aus Q), die in p beginnen. Zeit: O( U(p) ) 9: Suche alle Strecken in T, die p enthalten. L(p) sei die Menge jener Strecken, für die p das untere Ende ist, und C(p) die Menge der Strecken von T mit p im Inneren. Zeit: O(log T + L(p) C(p) ) 10: Wenn L(p) U(p) C(p) mehr als eine Strecke enthält, dann 11: Melde p als Schnittpunkt, zusammen mit L(p), U(p) und C(p). Zeit O( L(p) C(p) U(p) ) 12: Lösche die Strecken in L(p) C(p) aus T. Zeit: O( L(p) C(p) log T ) 13: Füge die Strecken in U(p) C(p) neu in richtiger Reihenfolge in T ein (horizontale Strecken zum Schluss). Zeit O( U(p) C(p) log T )
22 Beweis Satz 3.5 (BEHANDELEREIGNISPUNKT Teil 2/2) 14: Wenn U(p) C(p) = dann 15: Bestimme linken Nachbarn s l und rechten Nachbarn s r von p in T. O( T ) 16: SUCHENEUESEREIGNIS(s l,s r,p) Zeit: O(log n) 17: sonst 18: Sei s die Strecke am weitesten links von U(p) C(p) in T, Zeit: O(log T ) 19: und s l deren linker Nachbar in T. Zeit: O(log T ) 20: SUCHENEUESEREIGNIS(s l,s,p) falls s l existiert. Zeit: O(log n) 21: Sei s die Strecke am weitesten rechts von U(p) C(p) in T, Zeit: O(log T ) 22: und s r deren rechter Nachbar in T. Zeit: O(log T ) 23: SUCHENEUESEREIGNIS(s,s r,p) falls s r existiert. Zeit: O(log n)
23 Beweis Satz 3.5 (Abschluss) m(p) := L(p) U(p) C(p) Zeitaufwand von BEHANDELEREIGNISPUNKT(p) in O(m(p) log n). m := p m(p), Zeitaufwand aller Aufrufe zusammen in O(m log n).
24 Beweis Satz 3.5 (Abschluss) m(p) := L(p) U(p) C(p) Zeitaufwand von BEHANDELEREIGNISPUNKT(p) in O(m(p) log n). m := p m(p), Zeitaufwand aller Aufrufe zusammen in O(m log n). k: Größe der Ausgabe (Anzahl ausgegebener Punkte plus jeweils der Anzahl der ausgegebenen zugehörigen Strecken) m O(n + k).
25 Beweis Satz 3.5 (m O(n + I)) n e Knoten: Schnitt- und Endpunkte, n e 2n + I. n k Kanten: ungeteilte Abschnitte der gegebenen Strecken. n f Flächen: n f 2n k /3 (Flächen-Kanten-Inzidenzen doppelt zählen, keine Zweiecke ) Eulersche Polyederformel (Zusammenhangskomponenten): n e + n f n k 2 n k 3n e 6, da n k n e + n f 2 n e + 2n k /3 2. m(p) gleich dem Grad des Knotens p. m die Summe der Grade aller Knoten, m = 2n k m 6(2n + I) 12 < 12(n + I).
26 Satz 3.6 Die I Schnittpunkte von n Strecken können mit einem Algorithmus (Modifikation von Algorithmus 3.3) mit Laufzeit in O((n + I) log n) und Speicherbedarf in O(n) berechnet werden.
27 Überblick 1 Gleitebenenverfahren für Schnittpunkte 2 Die doppelt verkettete Kantenliste 3 Berechnung der Überlagerung zweier Ebenenaufteilungen Flächendaten
28 Beispiel Ebenenaufteilung
29 Datenstruktur 3.7: Doppelt verkettete Kantenliste 3 Datenlisten: für Knoten, Flächen und Halbkanten. KNOTEN v i KOORDINATEN = f (v i ) R 2 INZIDENTEHALBKANTE: Verweis auf eine Halbkante mit Anfang v i FLÄCHE f i AUSSENRAND: Halbkante des Außenrandes INNENRÄNDER: Menge von Halbkanten, 1 je Loch
30 Datenstruktur 3.7: Doppelt verkettete Kantenliste (Forts.) HALBKANTE h i ANFANG: Anfangsknoten GEGENÜBER: inverse Halbkante INZIDENTEFLÄCHE: links liegende Fläche NACHFOLGER: nachfolgende Halbkante der links liegenden Fläche VORGÄNGER: vorausgehende Halbkante der links liegenden Fläche weitere Attribute. gültig, wenn tatsächlich Aufteilung der Ebene
31 Beispiel doppelt verkettete Kantenliste e 1,1 v 1 v 2 1,2 e 3,2 e 4,1 e 4,2 e 3,1 e 2,2 e 2,1 v 3 v 4
32 Beispiel doppelt verkettete Kantenliste e 1,1 v 1 v 2 1,2 e 3,2 e 4,1 e 4,2 e 3,1 e 2,2 e 2,1 v 3 v 4 KNOTEN KOORDINATEN INZIDENTEHALBKANTE v 1 (0,4) v 2 (2,4) v 3 (2,2) v 4 (1,1) e 1,1 e 4,2 e 2,1 e 2,2
33 Beispiel doppelt verkettete Kantenliste e 1,1 v 1 v 2 1,2 e 3,2 e 4,1 e 4,2 e 3,1 v 3 e 2,2 e 2,1 FLÄCHE AUSSENRAND INNENRÄNDER v 4 f 1 nil e 1,1 f 2 e 4,1 nil
34 Beispiel doppelt verkettete Kantenliste HALBKANTE ANFANG GEGENÜBER INZIDENTEFLÄCHE NACHFOLGER VORGÄNGER e 1,1 v 1 e 1,2 f 1 e 4,2 e 3,1 e 1,2 v 2 e 1,1 f 2 e 3,2 e 4,1 e 2,1 v 3 e 2,2 f 1 e 2,2 e 4,2 e 2,2 v 4 e 2,1 f 1 e 3,1 e 2,1 e 3,1 v 3 e 3,2 f 1 e 1,1 e 2,2 e 3,2 v 1 e 3,1 f 2 e 4,1 e 1,2 e 4,1 v 3 e 4,2 f 2 e 1,2 e 3,2 e 4,2 v 2 e 4,1 f 1 e 2,1 e 1,1
35 Überblick 1 Gleitebenenverfahren für Schnittpunkte 2 Die doppelt verkettete Kantenliste 3 Berechnung der Überlagerung zweier Ebenenaufteilungen Flächendaten
36 Auftrag Kartenüberlagerung Gegeben: Zwei doppelt verkettete Kantenlisten für Ebenenaufteilungen S 1, S 2. Gesucht: Doppelt verkettete Kantenlisten für Überlagerung Ü(S 1, S 2 ) von S 1 und S 2. Als Attribute der Flächen sollen Paare der ursprünglichen Attribute gebildet werden.
37 neues Gleitebenenverfahren neu: D, anfangs Vereinigung von Kopien der Ausgangsdaten. merken uns Beziehung zwischen Halbkanten in D und Strecken in T lokale Operationen, um die Kantenverknüpfung sicherzustellen
38 Beispiel 3.9 Kante k von S 1 geht durch Knoten v von S 2. k wurde bisher durch 2 Halbkanten dargestellt, daraus werden jetzt vier! Bisherige Enden von k sind leicht korrigiert. Im Punkt v muss die exakte zyklische Position bestimmt werden und dann entsprechend die Verknüpftung durchgeführt werden. Zeitaufwand für die Korrektur von k beim Ereignispunkt v: O(m(v)), wobei m(v) weiterhin die Anzahl von Originalkanten ist, die zu v inzident sind (für die Suche der richtigen Positionen in der zyklischen Reihenfolge).
39 Fazit: Halbkanten- und Knotenrekords Knoten- und Halbkantendatensätze korrekt bis auf INZIDENTEFLÄCHE Gesamtzeitaufwand dafür ist in O((n + k) log n). n: Summe der Komplexitäten von S 1 und S 2 k: Komplexität vom Ergebnis
40 Flächendaten Untersuchung Zyklen von Halbkanten. innere und äußere Ränder der Flächen Zuordnung der Ränder einer Fläche Hilfsgraph G, Knoten: Zyklen und Kanten in G: Rand links eines inneren Rands
41 Satz 3.10 Jede Zusammenhangskomponente des Graphen G stimmt genau mit der Menge von Zyklen überein, die mit einer Fläche inzidieren. Beweis. Skript
42 Lokale Seiteninformationen Nach dem Gleitebenendurchlauf kann in Zeit O(n + k) die Flächenverknüpfung der doppelt verketteten Kantenliste berechnet werden.
43 Lokale Seiteninformationen Nach dem Gleitebenendurchlauf kann in Zeit O(n + k) die Flächenverknüpfung der doppelt verketteten Kantenliste berechnet werden. Speichern wir zusätzlich noch von allen Knoten die zugehörigen Seiteninformationen während des Ebenendurchlaufs, können wir auch die Attribute der neuen Flächen allein durch lokale Betrachtungen effizient bestimmen. Dies erfordert eine Erweiterung der Informationen, die in T gespeichert werden, und deren Aktualisierung an den Ereignispunkten.
44 Algorithmus 3.11 Eingabe: Zwei doppelt verkettete Kantenlisten für Ebenenaufteilungen S 1, S 2. Ausgabe: Doppelt verkettete Kantenlisten D für Überlagerung Ü(S 1, S 2 ). Als Attribute der Flächen sollen Paare der ursprünglichen Attribute gebildet werden.
45 Algorithmus : Funktion KARTENÜBERLAGERUNG(S 1, S 2 ) 2: Kopiere die Datenstrukturen für S 1 und S 2 in eine neue gemeinsame doppelt verkettete Kantenliste D. 3: Berechne alle Schnittpunkte zwischen Kanten von S 1 und S 2 mit dem Gleitebenenverfahren SUCHESCHNITTPUNKTE in Algorithmus 3.3. Zusätzlich zu den Änderungen an T und Q ist bei den Ereignispunkten folgendes zu tun: Aktualisiere D entsprechend den lokalen Änderungen (siehe Beispiel 3.9) falls Kanten von sowol S 1 und S 2 beteiligt sind. Speichere die Halbkante l(p) direkt links vom Ereignispunkt p zusätzlich in der Repräsentation von p in der Datenstruktur D. Nun ist D bis auf Seiteninformationen korrekt
46 Algorithmus : Bestimme die Randzyklen von Ü(S 1, S 2 ) beim Durchlaufen (Tiefensuche) von D. 5: Baue den Graph G mit Knotenn entsprechend den Randzyklen und Kanten, die jedes Loch mit dem linken Nachbarn verbinden. Verwende dafür l(p). Bestimme die Zusammenhangskomponenten von G. 6: Für alle Zusammenhangskomponenten K von G mache 7: C der eindeutige äußere Randzyklus von K. Lege einen neue Flächen-Datensatz für die zugehörige Fläche f an. Setze AUSSENRAND(f ) auf eine Halbkante von C, und füge in INNENRÄNDER(f ) für alle Löcher in K je eine Halbkante ein. Durchlaufe alle diese Randzyklen und setze alle Referenzen INZIDENTEFLÄCHE auf f. 8: Bestimme die Attribute aller neuen Flächen f durch lokale Informationen an jeweils einer Ecken von f.
47 Satz 3.12 Sei S 1 eine Ebenenaufteilung der Komplexität n 1, S 2 eine solcher der Komplexität n 2, und n := n 1 + n 2. Die Überlagerung von S 1 und S 2 kann in Zeit O(n log n + k log n) berechnet werden, wobei k die Komplexität der Überlagerung ist.
48 Folgerung 3.13 Für zwei ebene Polygone P 1, P 2 mit n 1 bzw. n 2 Ecken kann P 1 P 2, P 1 P 2 und P 1 \ P 2 jeweils in Zeit O((n + k) log n) berechnet werden, wobei n := n 1 + n 2 und k die Komplexität des Ergebnisses ist.
49 Bemerkung 3.14 Eine untere Schranke für den Worst-Case-Zeitaufwand der allgemeinen Schnittpunktbestimmung ist Ω(n log n + k). Aber es gibt auch O(n + k)-algorithmen, die ausnutzen, dass zwei gegebene Ebenenaufteilungen jeweils zusammenhängend sind.
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.
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
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 :
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
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
MehrLineare Programmierung
Übung Algorithmische Geometrie Lineare Programmierung LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann 14.05.2014 Übersicht Übungsblatt 4 Lineares
MehrAlgorithmische Geometrie: Rest Lokalisierung von Punkten; Voronoi Diagramme (1/2)
Algorithmische Geometrie: Rest Lokalisierung von Punkten; Voronoi Diagramme (1/2) Nico Düvelmeyer WS 2009/2010, 22.12.2009 Überblick 1 Fertigstellung Kapitel 7 2 Definition Voronoi Diagramm 3 Grundlegende
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
MehrAlgorithmische Geometrie: Lineare Optimierung (I)
Algorithmische Geometrie: Lineare Optimierung (I) Nico Düvelmeyer WS 2009/2010, 17.11.2009 Überblick 1 Geometrie von Gießformen 2 Durchschnitte von Halbebenen 3 Inkrementeller Algorithmus Überblick 1 Geometrie
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
Mehr2.7.1 Inside-Test Konvexe Hülle Nachbarschaften Schnittprobleme
2.7 Geometrische Algorithmen 2.7.1 Inside-Test 2.7.2 Konvexe Hülle 2.7.3 Nachbarschaften 2.7.4 Schnittprobleme 1 2.7 Geometrische Algorithmen 2.7.1 Inside-Test 2.7.2 Konvexe Hülle 2.7.3 Nachbarschaften
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
MehrVorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg 19.04.2011
Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 19.04.2011 Überlagern von Kartenebenen Beispiel: Gegeben zwei
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 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
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen
MehrPolygontriangulierung
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
MehrGeometrische 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
Mehr1. 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
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
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
Mehr5. Bäume und Minimalgerüste
5. Bäume und Minimalgerüste Charakterisierung von Minimalgerüsten 5. Bäume und Minimalgerüste Definition 5.1. Es ein G = (V, E) ein zusammenhängender Graph. H = (V,E ) heißt Gerüst von G gdw. wenn H ein
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
MehrAlgorithmen 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
MehrVoronoi Diagrams. Christian Wellenbrock. December 1, 2009
December 1, 2009 Das Voronoi Diagramm Problemstellung Gegeben: Menge der Zentren P = {p 1,..., p n } R 2 Das Voronoi Diagramm Problemstellung Gegeben: Menge der Zentren P = {p 1,..., p n } R 2 Gesucht:
Mehr(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,
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
MehrWie wird ein Graph dargestellt?
Wie wird ein Graph dargestellt? Für einen Graphen G = (V, E), ob gerichtet oder ungerichtet, verwende eine Adjazenzliste A G : A G [i] zeigt auf eine Liste aller Nachbarn von Knoten i, wenn G ungerichtet
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
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
MehrDatenstrukturen 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
MehrBereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie
Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.07.2012 Objekttypen in Bereichsabfragen y0 y0 y x x0 Bisher
MehrBereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie
Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 17.07.2012 Objekttypen in Bereichsabfragen y0 y x x0 Bisher
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)
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
Mehr1 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
MehrFortgeschrittene 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
MehrBinäre Suchbäume. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps
Binäre Suchbäume Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps Mengen n Ziel: Aufrechterhalten einer Menge (hier: ganzer Zahlen) unter folgenden Operationen: Mengen n Ziel: Aufrechterhalten einer
MehrKapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:
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
MehrNAME, VORNAME: Studiennummer: Matrikel:
TU Ilmenau, Fakultat IA Institut für Theoretische Informatik FG Komplexitätstheorie und Effiziente Algorithmen Prof. Dr. (USA) M. Dietzfelbinger Klausur Algorithmen und Datenstrukturen SS08, Ing.-Inf.
MehrDatenstrukturen & 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
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 /
MehrPolygontriangulierung
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
MehrKlausur Algorithmen und Datenstrukturen SS August Arbeitszeit 90 min
TU Ilmenau, Fakultät für Informatik und Automatisierung FG Komplexitätstheorie und Effiziente Algorithmen Univ.-Prof. Dr. M. Dietzfelbinger, Dipl.-Ing. C. Mattern Klausur Algorithmen und Datenstrukturen
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:
MehrSortieren II / HeapSort Heaps
Organisatorisches VL-07: Sortieren II: HeapSort (Datenstrukturen und Algorithmen, SS 2017) Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Email: dsal-i1@algo.rwth-aachen.de Webseite: http://algo.rwth-aachen.de/lehre/ss17/dsa.php
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
Mehr1. 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/2, Folie 1 2014 Prof. Steffen Lange - HDa/FbI
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
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Breitensuche, Tiefensuche Wir besprechen nun zwei grundlegende Verfahren, alle Knoten eines Graphen zu
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
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
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:
MehrKap. 4.7 Skiplisten. 14./15. VO DAP2 SS /16. Juni 2009
Kap. 4.7 Skiplisten Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 14./15. VO DAP2 SS 2008 9./16. Juni 2009 1 2. Übungstest Termin: Di 16. Juni 2009 im AudiMax,
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
MehrPunktlokalisierung. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 22.05.2012 Nachtrag: Dynamische Bereichsabfragen Letzte Woche: kd-trees und Range-Trees
MehrVorlesung 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
MehrAbschnitt 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
MehrKapitel 2: Sortier- und Selektionsverfahren Gliederung
Gliederung 1. Laufzeit von Algorithmen 2. Sortier- und Selektionsverfahren 3. Paradigmen des Algorithmenentwurfs 4. Ausgewählte Datenstrukturen 5. Algorithmische Geometrie 6. Randomisierte Algorithmen
MehrKapitel 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
MehrMaximale s t-flüsse in Planaren Graphen
Maximale s t-flüsse in Planaren Graphen Vorlesung Algorithmen für planare Graphen 6. Juni 2017 Guido Brückner INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg
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
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?
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
MehrPunkt-in-Polygon-Suche Übersicht
Folie 1 von 19 Punkt-in-Polygon-Suche Übersicht Praxisbeispiel/Problemstellung Zählen von Schnittpunkten Schnitt einer Halbgerade mit der Masche Aufwandsbetrachtung Streifenkarte Vorgehen und Eigenschaften
MehrDatenstrukturen und Algorithmen
Datenstrukturen und Algorithmen VO INF.02031UF (2-4)-Bäume robert.legenstein@igi.tugraz.at 1 7. Bäume Bäume als Datenstruktur Binärbäume Balancierte Bäume (2-4)-Bäume Anwendung: Mischbare Warteschlangen
MehrGrundlagen Algorithmen und Datenstrukturen TUM Sommersemester 2011 (2) Dozent: Hanjo Täubig
Grundlagen Algorithmen und Datenstrukturen TUM Sommersemester 2011 (2) Dozent: Hanjo Täubig Janosch Maier 3. August 2011 Inhaltsverzeichnis 1 Sortieren 3 1.1 Externes Sortieren..........................
MehrWiederholung. Datenstrukturen und. Bäume. Wiederholung. Suchen in linearen Feldern VO
Wiederholung Datenstrukturen und Algorithmen VO 708.031 Suchen in linearen Feldern Ohne Vorsortierung: Sequentielle Suche Speicherung nach Zugriffswahrscheinlichkeit Selbstanordnende Felder Mit Vorsortierung:
MehrWiederholung. 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Ü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
MehrEINI LogWing/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 17/18
EINI LogWing/ Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 17/18 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de
MehrDatenstruktur, die viele Operationen dynamischer Mengen unterstützt
Algorithmen und Datenstrukturen 265 10 Binäre Suchbäume Suchbäume Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Kann als Wörterbuch, aber auch zu mehr eingesetzt werden (Prioritätsschlange)
MehrAbstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken.
Abstrakte Datentypen und Datenstrukturen/ Einfache Beispiele Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken. Datenstruktur (DS): Realisierung
Mehr13. Hashing. AVL-Bäume: Frage: Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n)
AVL-Bäume: Ausgabe aller Elemente in O(n) Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n) Frage: Kann man Einfügen, Löschen und Suchen in O(1) Zeit? 1 Hashing einfache Methode
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
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
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
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
Mehr3. Musterlösung. Problem 1: Boruvka MST
Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner. Musterlösung Problem : Boruvka MST pt (a) Beweis durch Widerspruch. Sei T MST von G, e die lokal minimale Kante eines
MehrAlgorithmen und Datenstrukturen 2. Dynamische Datenstrukturen
Algorithmen und Datenstrukturen 2 Dynamische Datenstrukturen Algorithmen für dynamische Datenstrukturen Zugriff auf Variable und Felder durch einen Ausdruck: Namen durch feste Adressen referenziert Anzahl
Mehr7. Triangulation von einfachen Polygonen
1 7. Triangulation von einfachen Polygonen 2 Ziel Bessere Laufzeit als O(n log n) durch schnelleres Berechnen der Trapezzerlegung des Polygons. 3 Idee Finde Methode, den Anfangspunkt einer Strecke in der
MehrDas EM-Modell. Vorlesung 3: Lubys Algorithmus. Graphenalgorithmen und lineare Algebra Hand in Hand
Vorlesung 3: Lubys Algorithmus Das EM-Modell 85 Nachsatz: Halbringnotation! Auch Bücher enthalten Fehler...! A op 1.op 2 v: Abkürzung für Matrix-Vektor-Multiplikation! Vereinbarung für Reihenfolge: A +.*
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
MehrDer linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v)
Ein Baum T mit Knotengraden 2, dessen Knoten Schlüssel aus einer total geordneten Menge speichern, ist ein binärer Suchbaum (BST), wenn für jeden inneren Knoten v von T die Suchbaumeigenschaft gilt: Der
MehrAlgorithmen & Datenstrukturen Midterm Test 2
Algorithmen & Datenstrukturen Midterm Test 2 Martin Avanzini Thomas Bauereiß Herbert Jordan René Thiemann
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 Bruder-Bäume, B-Bäume) Prof. Dr. Susanne Albers Balancierte Bäume Eine Klasse von binären Suchbäumen ist balanciert, wenn jede der drei Wörterbuchoperationen
MehrGrundlagen: Algorithmen und Datenstrukturen
Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 00
MehrAlgorithmen und Datenstrukturen SS09. Foliensatz 16. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik
Foliensatz 16 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 45 Graphen TU Ilmenau Seite 2 / 45 Graphen 1 2 3 4 5 6 7 8
MehrEin Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist.
Graphen Definition: Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Begriffe: Gerichteter Graph: Alle Kanten haben eine Richtung vom Anfangsknoten
MehrGrundlagen: Algorithmen und Datenstrukturen
Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2010
MehrKlausur Algorithmen und Datenstrukturen
Technische Universität Braunschweig Sommersemester 2013 IBR - Abteilung Algorithmik Prof. Dr. Sándor Fekete Dr. Christiane Schmidt Stephan Friedrichs Klausur Algorithmen und Datenstrukturen 22.08.2013
Mehr2. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2006/ April 2007
2. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2006/2007 12. April 2007 Hier Aufkleber mit Name und Matrikelnr. anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie den Aufkleber
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.
MehrMehrwegbäume Motivation
Mehrwegbäume Motivation Wir haben gute Strukturen (AVL-Bäume) kennen gelernt, die die Anzahl der Operationen begrenzen Was ist, wenn der Baum zu groß für den Hauptspeicher ist? Externe Datenspeicherung
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
Mehr3. Übungsblatt zu Algorithmen I im SoSe 2017
Karlsruher Institut für Technologie Prof. Dr. Jörn Müller-Quade Institut für Theoretische Informatik Björn Kaidel, Sebastian Schlag, Sascha Witt 3. Übungsblatt zu Algorithmen I im SoSe 2017 http://crypto.iti.kit.edu/index.php?id=799
MehrAlgorithmische Graphentheorie
Algorithmische Graphentheorie Vorlesung 4: Suchstrategien Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 14. April 2017 HALBORDNUNG TOPOLOGISCHE ORDNUNG TOPOLOGISCHES
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
Mehr