Algorithmen und Datenstrukturen Übung #4 BFS/DFS, Wachstum von Funktionen
|
|
- Maja Frei
- vor 5 Jahren
- Abrufe
Transkript
1 Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Algorithmen und Datenstrukturen Übung #4 BFS/DFS, Wachstum von Funktionen Christian Rieck, Arne Schmidt
2 Heute 12 Breiten- und Tiefensuche e n Wachstum von Funktionen 9 n 2 Größe des Inputs 6 Definitionen (O-Notation) Relationen zwischen Laufzeitklassen 3 n n Beispiele für Laufzeitklassen -3 Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite ,5 1 1,5 2 2,5 3 log n log log n
3 Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 3 1:
4 Breitensuche Benutze Warteschlange Prinzip: First-in-first-out v 1 v 3 v 2 v 4 v 6 v 5 v 7 v 1 v 1, v 2 v 1, v 2, v 3 v 2, v 3 v 2, v 3, v 5 v 2, v 3, v 5, v 6 v 3, v 5, v 6 v 3, v 5, v 6, v 4 v 5, v 6, v 4 v 5, v 6, v 4, v 7 v 6, v 4, v 7 v 4, v 7 v 7 v 1 v 3 v 2 v 4 v 6 v 5 v 7 Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 4
5 Tiefensuche Benutze Stapel Prinzip: Last-in-first-out v 1 v 3 v 2 v 4 v 6 v 5 v 7 v 1 v 1, v 2 v 1, v 2, v 5 v 1, v 2, v 5, v 3 v 1, v 2, v 5, v 3, v 4 v 1, v 2, v 5, v 3 v 1, v 2, v 5 v 1, v 2, v 5, v 7 v 1, v 2, v 5, v 7, v 6 v 1, v 2, v 5, v 7 v 1, v 2, v 5 v 1, v 2 v 1 v 1 v 3 v 2 v 4 v 6 v 5 v 7 Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 5
6 Tiefensuche Benutze Stapel Prinzip: Last-in-first-out v 1 v 1, v 2 v 1, v 2, v 5 v 1, v 2, v 5, v 3 v 1 v 3 v 2 v 4 v 6 v 5 v 7 v 1, v 2, v 5, v 3, v 4 v 1, v 2, v 5, v 3 v 1, v 2, v 5 v 1, v 2, v 5, v 7 v 1, v 2, v 5, v 7, v 6 v 1, v 2, v 5, v 7 v 1, v 2, v 5 v 1, v 2 v 1 Beliebte Fehler: Leere Menge am Ende vergessen Nicht jede Änderung angegeben Suchbaum nicht angegeben Nicht den kleinsten Index beachtet v 1 v 3 v 2 v 4 v 6 v 5 v 7 Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 5
7 Six Degrees of Kevin Bacon vs. Six Degrees of Wikipedia Finde kürzesten Weg von einem Schauspieler über Filme zu Kevin Bacon Ungerichteter Graph Hin- und Rückweg sind gleich lang Finde kürzesten Weg von einer Seite über enthaltene Links zu einer anderen Gerichteter Graph Hin- und Rückweg sind verschieden lang Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 6
8 Weitere Problem mit BFS/DFS Eindeutigkeitsproblem Algorithmen besitzen feste Regeln, nach denen Objekte abgearbeitet werden (z.b. Knoten mit kleinstem Index zuerst). Auf welchen Graphen wird der erhaltene BFS/DFS-Baum eindeutig, wenn uns die Regel egal ist? Also: Gegeben: Graph G und Knoten v Frage: Ist der BFS(/DFS)-Baum von G eindeutig, wenn man bei v startet? Satz: DFS-Baum ist genau dann eindeutig, wenn G ein Baum ist. Beweis: : Angenommen G besitzt einen Kreis. Dann können wir bei Erreichen des Kreises den Baum links oder recht herum aufbauen. Der DFS-Baum ist nicht eindeutig. Widerspruch! : Wenn G ein Baum ist, ist auch der DFS-Baum ebendieser Graph. oder Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 7
9 Eindeutiger BFS-Baum Wie sieht ein Graph aus, bei dem der BFS-Baum eindeutig ist? Satz: Der BFS-Baum ist eindeutig genau dann, wenn der kürzeste Pfad von v zu allen anderen Knoten eindeutig ist. Distanz h Distanz 2 Distanz 1 Beweis: Selbst! Alle Knoten auf gleichen Distanzebenen dürfen miteinander verbunden sein! Distanz 0 Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 8
10 Labyrinthe BFS?! Da kommen wir doch nie an! Ich benutze DFS! Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 9 Die Reise ins Labyrinth,
11 Zeit für ein Labyrinth Wie oft muss man durch die Gänge des Labyrinths laufen, wenn man 1. DFS, oder 2. BFS nutzt? 2. BFS: Worst-Case: Ω n 2 mal über Kanten laufen! DFS schafft das schneller! Frage: Ist DFS auf jedem Baum/Labyrinth schneller? Man kann zeigen: Jede Kante wird maximal zwei Mal benutzt. Man benötigt maximal 2n-1 Schritte Es gibt Bäume, bei denen 2n-1 Schritte benötigt werden Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 10
12 Überblick Breiten- und Tiefensuche Wachstum von Funktionen Größe des Inputs Definitionen (O-Notation) Relationen zwischen Laufzeitklassen Beispiele für Laufzeitklassen Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 11
13 Wachstum von Funktionen / Laufzeiten Wie lange benötigen Algorithmen? Absolute/Genaue Laufzeit ist nicht immer nötig Abschätzen: In welcher Ordnung wächst die Laufzeit? Wovon hängt die Laufzeit ab? Was ist gegeben? (Zahlen, Strings, Graphen, ) Wie viel ist gegeben? (Codierungsgröße) Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 12
14 Codierungsgröße - Zahlen Wie können Zahlen codiert werden? 1. Unär ( Bierdeckelnotation ) 2. b-adisch Dezimal (10-adisch) Gewöhnlich für Zahlen: Binäre Darstellung, d.h. eine Zahl belegt log 2 n bits. Binär (2-adisch) m Allgemein: a m a m 1 a 1 a 0, a 1 a 2 a wobei n = σ i= a i b i und 0 a < b Beispiele: Dezimal Unär Binär Oktal Hexadezimal 27 IIII IIII IIII IIII IIII II B Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 13
15 Codierungsgröße - Graphen Wie kann man Graphen speichern? Adjazenzmatrix: Adjazenzliste: v v 1 : v 2, v 3 v 2 : v 1, v 5, v 6 v 3 : v 1, v 4, v 5 v 4 : v 3 v 5 : v 2, v 3, v 7 v 6 : v 2, v 7 v 7 : v 5, v 6 v 1 v 3 v 2 v 6 v 5 v 7 Größe: V 2 V + E log V Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 14
16 Codierungsgröße - Sonstige Was gibt es noch? Zeichenketten/Strings S: S log N für N mögliche Zeichen. (>o.o)>das_ist_ein_string!! ( o ) Punktmenge P in d Dimensionen: d P log N, wobei N die größte Koordinate ist. n m-matrizen: n m log N, wobei N der größtmögliche Wert ist Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 15
17 Überblick Breiten- und Tiefensuche Wachstum von Funktionen Größe des Inputs Definitionen (O-Notation) Relationen zwischen Laufzeitklassen Beispiele für Laufzeitklassen Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 16
18 Wachstum von Funktionen Betrachte Laufzeit als Funktion T: N R + Verschiedene Systeme liefern verschiedene Laufzeiten, z.b. T 1 n und T 2 n. Aber: T 1 n und T 2 n wachsen ähnlich schnell T 1 n wächst höchstens c 1 mal so schnell wie T 2. T 1 n wächst mindestens c 2 mal so schnell wie T 2. Das gilt ggf. erst ab einem bestimmten Punkt, nämlich n 0 Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 17 n 0 c 1 T 2 n T 1 n c 2 T 2 n n
19 Landau-Symbole Das motiviert folgende Definitionen: O-Notation: Es gibt Konstanten n 0 N und c 1 R +, sodass für alle n n 0 gilt: T 1 n c 1 T 2 n T 1 n O T 2 n Ω-Notation: Es gibt Konstanten n 0 N und c 2 R +, sodass für alle n n 0 gilt: T 1 n c 2 T 2 n T 1 n Ω T 2 n Achtung: O, Ω und Θ sind Mengen! Θ-Notation: Es gibt Konstanten n 0 N und c 1, c 2 R +, sodass für alle n n 0 gilt: c 2 T 2 n T 1 n c 1 T 2 n T 1 n Θ T 2 n Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 18
20 Beispiel Funktionen Zeige: n O n 2 Mit c = 1 und n 0 = 1 gilt die Aussage wie rechts zu sehen e n n n n Vorsicht: Es muss eine Allaussage bewiesen/widerlegt werden Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite ,5 1 1,5 2 2,5 3 log n 1: log log n
21 Überblick Breiten- und Tiefensuche Wachstum von Funktionen Größe des Inputs Definitionen (O-Notation) Relationen zwischen Laufzeitklassen Beispiele für Laufzeitklassen Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 20
22 Relationen zwischen Klassen - Eine graphische Darstellung Ω g n Θ g n g n Größere Funktionen Wir können sogar Klassen miteinander vergleichen. Beispiel: Ω(n) und Θ n 2 Wir sehen, jede Funktion, die in Θ n 2 liegt, liegt auch in Ω n. Die Umkehrung gilt nicht! Also Θ n 2 Ω(n) Ω n 2 Θ n 2 Ω n n 4 n 3 n 2 O g n 0 Kleinere Funktionen Zum Merken: Wird die Funktion größer, wächst der O-Bereich und der Ω-Bereich schrumpft. O n 2 Θ n O n 0 n 1 Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 21
23 Relationen zwischen Klassen Eine Tabelle Bedingung f n o g n o g n O g n Θ g n Klein-o-Notation f n Θ g n Klasse O g n Θ g n Ω g n Klasse O f n X X Θ f n X X Ω f n X O f n = X Θ f n = Ω f n X = f n ω g n ω g n Ω g n Θ g n Klein-ω-Notation O f n X Θ f n X X Ω f n X X Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 22
24 Heute Breiten- und Tiefensuche Wachstum von Funktionen Größe des Inputs Definitionen (O-Notation) Relationen zwischen Laufzeitklassen Beispiele für Laufzeitklassen Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 23
25 Ab an die Tafel! Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 24
26 Beispiel 1 Zeige 4n n 15 Θ n 2. D.h.: Bestimme n 0, c 1, c 2, sodass für alle n n 0 gilt: 0 c 1 n 2 4n n 15 c 2 n 2 1. Suche nach c 2 : 4n n 15 4n n 4n n 2 = 16n 2 für n Suche nach c 1 : n 4 4n n 15 4n 2 15 ฎ 4n 2 n 2 = 3n 2 für n 4. Beide Ungleichung gelten ab n 0 = 4. Also c 1 = 3, c 2 = 16 und n 0 = 4. Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 25
27 Beispiel 2 Zeige oder widerlege: 2 n Θ 3 n Zunächst: 2 n O 3 n, denn 2 n n = 3 n. Aber: 2 n Ω 3 n! Ansonsten gäbe es eine Konstante c 1 mit Aber: 2n = 2 n 2 und lim 3 n 3 n 3 Aussage widerlegt. 2 n c 1 3 n, also 2n c 3 n 1 n = 0, d.h. dieses c1 kann nicht existieren! Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 26
28 Beispiel 3 Satz 3.1: Für jedes c > 0 gibt es ein n 0, sodass für alle n n 0 gilt: log 2 n c n log Beweisidee: Zeige, dass lim 2 n = 0, d.h. für wachsendes n kommen wir beliebig nah an 0 heran. D.h. n n wir können n 0 so wählen, dass log 2 n c für alle n n n 0 gilt. Satz 3.2: Seien a, b R +. Dann gilt log 2 a n O n b. Beweis: Wählen wir die Konstante c = 1. Dann soll gelten: log 2 a n n b m log 2 n ฏ log 2 log a 2 n log 2 n b a log 2 log 2 n b log 2 n log 2 m b a m Da a, b R + ist auch b a R+. Nach Satz 3.1 ist die letzte Ungleichung ab einem n 0 wahr. Da wir Äquivalenzumformungen benutzt haben, können wir die Lösungkette von unten nach oben gehen. Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 27
29 Beispiel 4: Laufzeit eines Algorithmus PrimFaktor n 1. Sei i = 2 2. While i n 3. if n mod i = 0 then 4. n = n i 5. output i 6. else 7. i = i + 1 Man sieht: Zeilen 1 und 3-7 dauern konstant lange. While-Schleife benötigt höchstens n Iterationen (da entweder i größer oder n kleiner wird) Damit: O 1 + O n O 1 = O n Lineare Laufzeit! Oder? Input besitzt Größe m log 2 n. Damit hat der Algorithmus eine Laufzeit von: O n = O 2 log 2 n = O 2 m Das ist exponentielle Laufzeit. Schnellster, bisher bekannter Algorithmus für die Primfaktorzerlegung ist der Zahlkörpersieb. Seine Laufzeit ist: e O 1 m 1 3 log m 1 3 Christian Rieck, Arne Schmidt Graphenscan, Wachstum Seite 28
Klausur Algorithmen und Datenstrukturen
Technische Universität Braunschweig Sommersemester 2018 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Christian Rieck Arne Schmidt Klausur Algorithmen
MehrKlausur Algorithmen und Datenstrukturen
Technische Universität Braunschweig Wintersemester 2017/2018 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Christian Rieck Arne Schmidt Klausur Algorithmen
MehrGraphdurchmusterung, Breiten- und Tiefensuche
Prof. Thomas Richter 18. Mai 2017 Institut für Analysis und Numerik Otto-von-Guericke-Universität Magdeburg thomas.richter@ovgu.de Material zur Vorlesung Algorithmische Mathematik II am 18.05.2017 Graphdurchmusterung,
Mehr15. Elementare Graphalgorithmen
Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen
MehrFerienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie
Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie Dipl-Math. Wolfgang Kinzner 2.4.2012 Kapitel 1: Grundlagen der algorithmischen Graphgentheorie
Mehr3.3 Laufzeit von Programmen
3.3 Laufzeit von Programmen Die Laufzeit eines Programmes T(n) messen wir als die Zahl der Befehle, die für die Eingabe n abgearbeitet werden Betrachten wir unser Programm zur Berechnung von Zweierpotenzen,
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 /
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
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2016 Patrick Schäfer, Humboldt-Universität zu Berlin Organisation Vorlesung: Montag 11 13 Uhr Marius Kloft RUD 26, 0 115 Mittwoch 11 13 Uhr Marius Kloft
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 217 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Graphen und Bäume 2. Binäre Suchbäume 3. AVL-Bäume 4. Algorithmen und Datenstrukturen 2 Agenda
MehrDefinition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.
Kapitel 4 Graphenalgorithmen 4.1 Definitionen Definition 4.1.1. Der Graph G = (V, E) ist über die beiden Mengen V und E definiert, wobei V die Menge der Knoten und E die Menge der Kanten in dem Graph ist.
MehrBreitensuche BFS (Breadth First Search)
Breitensuche BFS (Breadth First Search) Algorithmus BREITENSUCHE EINGABE: G = (V, E) als Adjazenzliste, Startknoten s V 1 Für alle v V 1 If (v = s) then d[v] 0 else d[v] ; 2 pred[v] nil; 2 Q new Queue;
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Die Landau-Notation (Wiederholung und Vertiefung) 2. Vorbereitung Aufgabenblatt 1, Aufgabe 1
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
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Vorrechnen von Aufgabenblatt 1. Wohlgeformte Klammerausdrücke 3. Teile und Herrsche Agenda 1.
MehrAlgorithmen und Datenstrukturen 2-1. Seminar -
Algorithmen und Datenstrukturen 2-1. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Sommersemster 2010 Outline 1. Übungsserie: 3 Aufgaben, insgesamt 30 28 Punkte A1 Spannbäume (10 8
MehrA6.1 Logarithmus. Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. A6.1 Logarithmus. A6.2 Landau-Notation. A6.
Algorithmen und Datenstrukturen 8. März 2018 A6. Laufzeitanalyse: Logarithmus and Landau-Symbole Algorithmen und Datenstrukturen A6. Laufzeitanalyse: Logarithmus and Landau-Symbole Marcel Lüthi and Gabriele
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
MehrName:... Vorname:... Matr.-Nr.:... Studiengang:...
Technische Universität Braunschweig Sommersemester 2011 IBR - Abteilung Algorithmik Prof. Dr. Sándor Fekete Christiane Schmidt Klausur Algorithmen und Datenstrukturen 01.09.2011 Name:.....................................
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013 Vorlesung 3, Donnerstag 7.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013 Vorlesung 3, Donnerstag 7. November 2013 (O-Notation, Theta, Omega) Junior-Prof. Dr. Olaf Ronneberger
MehrAlgorithmen I - Tutorium 28 Nr. 9
Algorithmen I - Tutorium 28 Nr. 9 29.06.2017: Spaß mit Graphen und Graphtraversierung Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN MÜLLER-QUADE
MehrGrundlagen: Algorithmen und Datenstrukturen
Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Jeremias Weihmann Sommersemester 2014 Übungsblatt 2 28. April 2014 Grundlagen: Algorithmen und
MehrKlausur Algorithmen und Datenstrukturen
Technische Universität Braunschweig Wintersemester 2013/2014 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Stephan Friedrichs Klausur Algorithmen und
Mehr12. Graphen. Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap ,Cormen et al, Kap.
254 12. Graphen Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap. 9.1-9.4,Cormen et al, Kap. 22 Königsberg 1736 255 Königsberg 1736 255 Königsberg 1736 255
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
MehrAlgorithmen und Datenstrukturen Tutorium Übungsaufgaben
Algorithmen und Datenstrukturen Tutorium Übungsaufgaben AlgoDat - Übungsaufgaben 1 1 Landau-Notation Aufgabe Lösung 2 Rekurrenzen Aufgabe 3 Algorithmenentwurf und -analyse Aufgabe AlgoDat - Übungsaufgaben
Mehr8 Diskrete Optimierung
8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von
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
MehrRelationen 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
MehrKlausur Algorithmen und Datenstrukturen
Technische Universität Braunschweig Wintersemester 2014/2015 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Dr. Christian Scheffer Klausur Algorithmen
MehrInformatik B Sommersemester Musterlösung zur Klausur am
Informatik B Sommersemester 01 Musterlösung zur Klausur am 1.0.01 Leider wurde der Hinweis, dass alle Lösungen kurz (stichpunktartig), aber inhaltlich ausreichend zu kommentieren sind, nicht immer beachtet.
MehrInformatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 13 (8.6.2016) Graphenalgorithmen I Algorithmen und Komplexität Graphen Knotenmenge V, typischerweise n V Kantenmenge E, typischerweise
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
MehrEDM, Algorithmen und Graphenspeicherung
EDM, Algorithmen und Graphenspeicherung 1 Graphenspeicherung Gespeichert werden soll ein Graph G = (V, E) bzw. Digraph D = (V, A). Man beachte: E ( ) V 2 bzw. E V 2 1.1 Adjazenzmatrix Graph G: A = (a vw
MehrDas O-Tutorial. 1 Definition von O, Ω, Θ, o und ω
Definition von O, Ω, Θ, o und ω Das O-Tutorial Seien f und g zwei Funktionen von N nach R 0. Hierbei bezeichne R 0 die nicht-negativen reellen Zahlen. Die Funktionsmengen O, Ω, Θ, o und ω sind wie folgt
MehrProgramm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph
Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 07 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München 7 Fortgeschrittene Datenstrukturen Graphen
Mehr2. Klausur Datenstrukturen und Algorithmen SS 2014
Prof. aa Dr. E. Ábrahám F. Corzilius, S. Schupp, T. Ströder 2. Klausur Datenstrukturen und Algorithmen SS 2014 Vorname: Nachname: Studiengang (bitte genau einen markieren): Informatik Bachelor Informatik
MehrInformatik II, SS 2016
Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 12 (4.6.2018) Graphenalgorithmen I Yannic Maus Algorithmen und Komplexität Graphen Knotenmenge V, typischerweise n V Kantenmenge E, typischerweise
MehrDefinition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.
3.5 Gerichteter Pfad Definition 291 Eine Folge (u 0, u 1,..., u n ) mit u i V für i = 0,..., n heißt gerichteter Pfad, wenn ( i {0,..., n 1} ) [ (u i, u i+1 ) A]. Ein gerichteter Pfad heißt einfach, falls
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.
MehrAlgorithmus zur topologischen Nummerierung: while V = 0 do nummeriere eine Quelle mit der nächsten Nummer streiche diese Quelle aus V od
Algorithmus zur topologischen Nummerierung: while V = 0 do nummeriere eine Quelle mit der nächsten Nummer streiche diese Quelle aus V od Diskrete Strukturen 3.7 dag 473/556 3.8 Zusammenhang Definition
MehrChristian Rieck, Arne Schmidt
Institute of Operating Systems and Computer Networks Algorithms Group Algorithmen und Datenstrukturen Wintersemester 207/208 Übung#5, 2.2.207 Christian Rieck, Arne Schmidt Bäume Satz Jeder gerichtete Baum
MehrDatenstrukturen und Algorithmen 2. Klausur SS 2001
UNIVERSITÄT PADERBORN FACHBEREICH 7 (MATHEMATIK INFORMATIK) Datenstrukturen und Algorithmen 2. Klausur SS 200 Lösungsansätze Dienstag, 8. September 200 Name, Vorname:...................................................
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
MehrEinführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)
Wintersemester 2005/06 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl
MehrDatenstrukturen. einfach verkettete Liste
einfach verkettete Liste speichert Daten in einer linearen Liste, in der jedes Element auf das nächste Element zeigt Jeder Knoten der Liste enthält beliebige Daten und einen Zeiger auf den nächsten Knoten
MehrMafI I: Logik & Diskrete Mathematik (F. Hoffmann)
Lösungen zum 14. und letzten Aufgabenblatt zur Vorlesung MafI I: Logik & Diskrete Mathematik (F. Hoffmann) 1. Ungerichtete Graphen (a) Beschreiben Sie einen Algorithmus, der algorithmisch feststellt, ob
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
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 11 (4.6.2014) Binäre Suchbäume II Algorithmen und Komplexität Binäre Suchbäume Binäre Suchbäume müssen nicht immer so schön symmetrisch sein
MehrKlausur Algorithmen und Datenstrukturen
Technische Universität Braunschweig Wintersemester 2016/2017 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Phillip Keldenich Arne Schmidt Klausur Algorithmen
MehrInformatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 10 (27.5.2016) Binäre Suchbäume II Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:
MehrInformatik II Prüfungsvorbereitungskurs
Informatik II Prüfungsvorbereitungskurs Tag 4, 23.6.2016 Giuseppe Accaputo g@accaputo.ch 1 Programm für heute Repetition Datenstrukturen Unter anderem Fragen von gestern Point-in-Polygon Algorithmus Shortest
MehrQuicksort ist ein Divide-and-Conquer-Verfahren.
. Quicksort Wie bei vielen anderen Sortierverfahren (Bubblesort, Mergesort, usw.) ist auch bei Quicksort die Aufgabe, die Elemente eines Array a[..n] zu sortieren. Quicksort ist ein Divide-and-Conquer-Verfahren.
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2017 Marc Bux, Humboldt-Universität zu Berlin Organisatorisches Vorlesung: Montag 11 13 Uhr Ulf Leser RUD 26, 0 115 Mittwoch 11 13 Uhr Ulf Leser RUD
MehrKapitel IV Minimale Spannbäume
Kapitel IV Minimale Spannbäume 1. Grundlagen Ein Graph G = (V, E) besteht aus einer Menge V von Knoten und einer Menge E von Kanten. Wir werden nur endliche Knoten- (und damit auch Kanten-) Mengen betrachten.
Mehr\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E.
Das Komplement Ḡ = (V, ( V ) \ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E. Ein Graph H = (V, E )
MehrÜbung zur Vorlesung Berechenbarkeit und Komplexität
RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 3, Donnerstag 6.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 3, Donnerstag 6. November 2014 (O-Notation, Theta, Omega) Junior-Prof. Dr. Olaf Ronneberger
MehrKlausur Theoretische Informatik I WS 2004/2005
Technische Universität Chemnitz Chemnitz, den 22.02.2005 Fakultät für Informatik Prof. Dr. Andreas Goerdt Klausur Theoretische Informatik I WS 2004/2005 Studiengang Mechatronik Aufgabe 1 (2+2+2 Punkte)
MehrDatenstrukturen: Mathematische Grundlagen. 26. Juli / 27
Datenstrukturen: Mathematische Grundlagen 26. Juli 2015 1 / 27 Asymptotik Die Groß-Oh Notation: f = O(g) Es gibt eine positive Konstante c > 0 und eine natürliche Zahl n 0 N, so dass f (n) c g(n) für alle
MehrAlgorithmen und Datenstrukturen 1 VL Übungstest WS Jänner 2009
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 2. Übungstest WS 2008 16. Jänner
MehrAlgorithmen und Datenstrukturen 1 VU 6.0 Nachtragstest SS Oktober 2014
Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.813 Algorithmen und Datenstrukturen 1 VU 6.0 Nachtragstest SS 2014 22. Oktober
Mehr10. Übungsblatt zu Algorithmen I im SS 2010
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders G.V. Batz, C. Schulz, J. Speck 0. Übungsblatt zu Algorithmen I im SS 00 http//algo.iti.kit.edu/algorithmeni.php
Mehr8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.
8. A & D - Heapsort Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. Genauer werden wir immer wieder benötigte Operationen durch Datenstrukturen unterstützen.
MehrEffiziente 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
MehrKlausur Algorithmen und Datenstrukturen
Technische Universität Braunschweig Wintersemester 2008/2009 IBR - Abteilung Algorithmik Prof. Dr. Sándor Fekete Tom Kamphans Nils Schweer Klausur Algorithmen und Datenstrukturen 23.02.2009 Name:.....................................
MehrTutoraufgabe 1 (Suchen in Graphen):
Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS14 F. Corzilius, S. Schupp, T. Ströder Tutoraufgabe 1 (Suchen in Graphen): a) Geben Sie die Reihenfolge an, in der die Knoten besucht werden, wenn
Mehr12. Graphen. Königsberg Zyklen. [Multi]Graph
Königsberg 76. Graphen, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap. 9. - 9.,Cormen et al, Kap. [Multi]Graph Zyklen C Kante Gibt es einen Rundweg durch die Stadt
MehrAlgorithmen und Datenstrukturen. Bäume. M. Herpers, Y. Jung, P. Klingebiel
Algorithmen und Datenstrukturen Bäume M. Herpers, Y. Jung, P. Klingebiel 1 Lernziele Baumstrukturen und Ihre Verwendung kennen Grundbegriffe zu Bäumen anwenden können Baumstruktur in C anlegen können Suchbäume
MehrAm Dienstag, den 16. Dezember, ist Eulenfest. 1/45
Am Dienstag, den 16. Dezember, ist Eulenfest. 1/45 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 20 (23.7.2014) All Pairs Shortest Paths, String Matching (Textsuche) Algorithmen und Komplexität Vorlesungsevaluation Sie sollten alle eine
MehrKapitel IV Minimale Spannbäume
Kapitel IV Minimale Spannbäume. Grundlagen Ein Graph G = (V, E) besteht aus einer Menge V von Knoten und einer Menge E von Kanten. Wir werden nur endliche Knoten- (und damit auch Kanten-) Mengen betrachten.
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,
MehrV. Claus, Juli 2005 Einführung in die Informatik II 45
Um die Größenordnung einer reellwertigen oder ganzzahligen Funktion zu beschreiben, verwenden wir die so genannten Landau-Symbole (nach dem deutschen Mathematiker Edmund Landau, 1877-1938). Hierbei werden
MehrAlle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).
8. Untere Schranken für Sortieren Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). Werden nun gemeinsame Eigenschaften dieser Algorithmen untersuchen. Fassen gemeinsame
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
MehrAlgo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7
1 Kürzeste Pfade Woche 6 7 Hier arbeiten wir mit gewichteten Graphen, d.h. Graphen, deren Kanten mit einer Zahl gewichtet werden. Wir bezeichnen die Gewichtsfunktion mit l : E R. Wir wollen einen kürzesten
MehrInformatik II, SS 2018
Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 13 (6.6.2018) Graphenalgorithmen II Yannic Maus Algorithmen und Komplexität Repräsentation von Graphen Zwei klassische Arten, einen Graphen
Mehr2. Grundlagen. Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten.
2. Grundlagen Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten. Laufzeitverhalten beschreiben durch O-Notation. 1 Beispiel Minimum-Suche Eingabe bei Minimum
Mehr2.4 Starke Zusammenhangskomponenten in Digraphen
Starke Zusammenhangskomponenten Einleitung 2.4 Starke Zusammenhangskomponenten in Digraphen Definition 2.4.1 Zwei Knoten v und w in einem Digraphen G heißen äquivalent, wenn v w und w v gilt. Notation:
MehrEinführung in die Informatik 2
Einführung in die nformatik 2 raphenexploration Sven Kosub A Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v. Sommersemester
Mehr12. AuD Tafelübung T-C3
12. AuD Tafelübung T-C3 Simon Ruderich 2. Februar 2011 Kollisionen (Primär)Kollision Stelle mit normal eingefügtem Element schon belegt (gleicher Hashwert) tritt bei verketteten Listen und Sondierung auf
MehrDiskrete Strukturen WS 2005/06. Ernst W. Mayr. 27. Januar Fakultät für Informatik TU München
WS 2005/06 Ernst W. Mayr Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2005ws/ds/ 27. Januar 2006 Ernst W. Mayr 2.16 Inzidenzmatrix 3. Definitionen für gerichtete Graphen 3.1 Digraph
MehrAlgorithmen und Datenstrukturen VO 3.0 Vorlesungsprüfung 19. Oktober 2007
Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen 1 186.089 VO 3.0 Vorlesungsprüfung 19. Oktober
MehrÜBUNGSKLAUSUR Studienhalbjahr: 2. Semester. Datum: 20. Juli 2016 Bearbeitungszeit: 90 Minuten. Modul: T2INF Dozent: Stephan Schulz
Matrikelnummer: Fakultät Studiengang: Jahrgang / Kurs : Technik Angewandte Informatik 01 B/C/K ÜBUNGSKLAUSUR Studienhalbjahr:. Semester Datum: 0. Juli 01 Bearbeitungszeit: 90 Minuten Modul: TINF100.1 Dozent:
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 2011 Übungsblatt 1 16. September 2011 Grundlagen: Algorithmen und
MehrDer Dreyfus-Wagner Algorithmus für das Steiner Baum Problem
Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem Andreas Moser Dietmar Ebner Christian Schauer Markus Bauer 9. Dezember 2003 1 Einführung Der in der Vorlesung gezeigte Algorithmus für das Steiner
MehrDatenstrukturen (SoSe 12) Klausur (Modulabschlussprüfung)
Goethe-Universität Frankfurt am Main 27. Juli 2012 Institut für Informatik Theorie komplexer Systeme Dr. Mariano Zelke Datenstrukturen (SoSe 12) Klausur (Modulabschlussprüfung) Name: Vorname: Studiengang:
MehrKürzeste-Wege-Algorithmen und Datenstrukturen
Kürzeste-Wege-Algorithmen und Datenstrukturen Institut für Informatik Universität zu Köln SS 2009 Teil 1 Inhaltsverzeichnis 1 Kürzeste Wege 2 1.1 Voraussetzungen................................ 2 1.2
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
MehrWS 2009/10. Diskrete Strukturen
WS 2009/10 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/ws0910
MehrFormale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016
Formale Methoden 2 Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Teil 3: Kodierung 1 Motivation 2 Exkurs Grundlagen formaler Sprachen 3 Grundlagen 4 Beispielkodierungen FM2 (WS 2014/15,
MehrÜbung zu Algorithmen und Datenstrukturen (für ET/IT)
Übung zu Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Jakob Vogel Computer-Aided Medical Procedures Technische Universität München Komplexität von Programmen Laufzeit kann näherungsweise
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2014/15 3. Vorlesung Laufzeitanalyse Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Recap: Diskutieren Sie mit Ihrer NachbarIn! 1. 2. 3. Was sind
MehrDatenstrukturen und Algorithmen D-INFK. Musterlösung 1
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
MehrNaiver Algorithmus für Hamiltonkreis
Naiver Algorithmus für Hamiltonkreis Algorithmus HAMILTON EINGABE: G = ([n], E) in Adjazenzmatrixdarstellung 1 Für alle Permutationen π : [n] [n]. 1 Falls (π(1), π(2),..., π(n)) ein Kreis in G ist, AUSGABE
MehrAm Dienstag, den 15. Dezember, ist Eulenfest. 1/60
Am Dienstag, den 15. Dezember, ist Eulenfest. 1/60 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen Lerneinheit : Kürzeste Pfade in Graphen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 016.6.01 Einleitung Diese Lerneinheit beschäftigt
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2017 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda: Sortierverfahren 1. Schreibtischtest 2. Stabilität 3. Sortierung spezieller Arrays 4. Untere
Mehr