Vorlesung 5: DATENSTRUKTUREN UND ALGORITHMEN
|
|
- Christin Kaufer
- vor 7 Jahren
- Abrufe
Transkript
1 Vorlesung 5: DATENSTRUKTUREN UND ALGORITHMEN 125
2 Motivation! Wahl der Datenstruktur wichtiger Schritt beim Entwurf und der Implementierung von Algorithmen! Dünn besetzte Graphen und Matrizen bilden keine Ausnahme! Bei dünn besetzten Matrizen gegenseitiger Einfluss:! Algorithmen bestimmen Wahl der Datenstruktur! Wahl der Datenstruktur bestimmt Algorithmen! Analyse der Algorithmen im RAM-Modell und im I/O-Modell 126
3 I/O-Modell = EM-Modell! Speicher ist hierarchisch organisiert:! Register! Caches (L1, L2, L3)! RAM! SSD, HDD! External Memory-Modell:! 2 Ebenen: Schnell und langsam! Schnell: Cache oder (Haupt)Speicher! Langsam: (Haupt)Speicher oder Platte! Benennung nur Termini, Prinzipien gelten für jeden Ebenenübergang Cache RAM 127
4 Modell-Parameter! Speicher partitioniert in Blöcke der Größe L (Größe einer Cachezeile)! Größe des schnellen Speichers ist Z! Langsamer Speicher ist nicht limitiert in der Größe! Referenziertes Datum nicht im Cache:! Cache-Fehlzugriff! Blocktransfer vom RAM in den Cache! Komplexitätsmaß: Zahl der Cache-Fehlzugriffe! Frage: Welche Komplexität hat das Scannen eines Arrays? 128
5 Modell-Annahmen! Annahme: Für eine dünn besetzte Matrix der Dimensionen M x N gilt nnz = Ω(N, M).! Annahme: Der schnelle Speicher ist nicht groß genug, um eine Datenstruktur vollständig zu halten.! Frage: Wie viele Nichtnull-Einträge lassen sich pro GB RAM speichern? (Annahme: 16 Byte pro Eintrag)! Antwort: 2 30 / 16 = 2 26! Annahme: Acht Einträge pro Zeile => N 2 23! Folgerung: L2 Cache kann einen entsprechend großen dicht besetzten Vektor nicht halten. 129
6 Wichtige Basisoperationen Matrixoperationen und ihre Entsprechungen bei Graphen:! Sparse matrix indexing and assignment (SpRef/SpAsgn):! Auswahl eines Teilgraphs! Sparse matrix-dense vector multiplication (SpMV):! Breitensuche! Tiefensuche! Sparse matrix addition, andere punktweise Ops (SpAdd):! Vereinigung von Graphen! Sparse matrix-sparse matrix multiplication (SpGEMM):! BFS, DFS von mehreren Startknoten gleichzeitig, APSP 130
7 SpRef / SpAssgn! SpRef: B = A(p, q)! Speichern einer Teilmatrix von A in B! SpAssgn: B(p, q) = A! Zuweisung einer Matrix A an eine Teilmatrix von B! Beispiele fürs Indizieren:! Zeilenwahl: A(i, :)! Spaltenwahl: A(:, i) 131
8 SpMV! y = Ax (oder auch y = x A)! Vermutlich gängigste Operation, eingesetzt u. a. in:! Gleichungssystemlösern! Eigenlösern! Weitere (Anwendungs)Beispiele:! PageRank! BFS! Bellman-Ford! Prims MST-Algorithmus 132
9 SpAdd! C = A + B! Addition hier Repräsentant für andere punktweisen Ops:! MIN! MAX! AND! OR!...! Vereinigung von Graphen 133
10 SpGEMM! C = AB! Anwendungen:! Kontraktion! PPC! BFS von mehreren Startpunkten! APSP! Addition von Skalarprodukten (inner products)! Addition von dyadischen Produkten (outer products)! Zeilenweise! Spaltenweise 134
11 Tripel-Format! Jeder Nichtnull-Eintrag wird durch ein Tripel repräsentiert! Zeilenindex! Spaltenindex! Wert des Eintrags! Drei Arrays pro Matrix A:! A.I! A.J! A.V! Repräsentation in Strukturen meist besser als 3 separate Arrays (Cache-Performance, Programmierbarkeit)! Speicherverbrauch pro Eintrag: = 24 Bytes 135
12 (Un)Geordnete Tripel! Ungeordnet:! Keine irgendwie geartete Sortierung! Zeilenordnung:! Einträge sind gemäß Zeilenindex sortiert! Einträge derselben Zeile erscheinen in beliebiger Reihenfolge! Zeilendominante Reihenfolge:! Einträge sind gemäß Zeilenindex sortiert! Einträge derselben Zeile gemäß Spaltenindex sortiert! Möglich: Sortierungsreihenfolge tauschen (Zeile Spalte)! In der Theorie (und ggf. bei Dynamik) gut: Hashing! Übung: Operationen und ihre Komplexität wenn ungeordnet 136
13 Geordnete Tripel! Indizierung immer noch schwierig! Schneller Zeilenzugriff ohne Index nicht möglich! Binäre Suche zum Finden des Startpunkts! Zeilenordnung: Cache-Performance problematisch! Zeilendominante Reihenfolge, Zugriff auf A(i, j):! Finde mit binärer Suche ein Tripel (i, j, A(i, j )) derselben Zeile i! Von diesem Tripel in beide Richtungen jeweils eine unbegrenzte binäre Suche starten; stoppen, wenn Zeile i verlassen wird! Innerhalb dieser beiden Stoppgrenzen mit binärer Suche A(i, j) suchen 137
14 Beispiel 138
15 Komplexität für Referenzierung! RAM-Modell:! Kosten für Referenzierung: log nnz(a) + log nnz(a(i, :))! EM-Modell:! Unbegrenzte binäre Suche mglw. schlechter als lineare Scans! Kosten für Suche in einem sortierten Array: min{log nnz(a(i, :)), scan(a(i, :))}! Für Spaltenzugriff sowie SpAssgn ergibt sich durch Sortierung innerhalb der Zeilen keine Verbesserung 139
16 Zeilendominante Reihenfolge! y = Ax! Auf die Arrays in A sowie y wird überwiegend konsekutiv zugegriffen! Auf x wird mit aufsteigendem Index zugegriffen:! Verbesserung gegenüber Zeilenordnung! Trotzdem: Jeder Zugriff kann ein Cache-Fehlzugriff sein! I/O-optimale Algorithmen für SpMV (Bender et al. 2007)! SpAdd: Scannen und verschmelzen von sortierten Arrays:! RAM: O(nnz(A) + nnz(b))! EM: O(scan(A) + scan(b))! SpGEMM: Fingersuche (Brodal et al. 2005) 140
Termin 7: DATENSTRUKTUREN UND ALGORITHMEN
Termin 7: DATENSTRUKTUREN UND ALGORITHMEN 133 Modell-Annahmen Annahme: Für eine dünn besetzte Matrix der Dimensionen M x N gilt nnz = Ω(N, M). Annahme: Der schnelle Speicher ist nicht groß genug, um eine
MehrVorlesung 4: DATENSTRUKTUREN UND ALGORITHMEN
Vorlesung 4: DATENSTRUKTUREN UND ALGORITHMEN 107 Wiederholung zur Speicherhierarchie! EM- bzw. I/O-Modell: Übergang der Ebenen universell! Blockweise Abarbeitung unter Ausnutzung von Lokalität Chip On-/off-Chip,
MehrVorlesung 5: MATRIX-DATENSTRUKTUREN UND SPARSE GEMM
Vorlesung 5: MATRIX-DATENSTRUKTUREN UND SPARSE GEMM 126 Hinweise! Mailinglisten: Vorlesung-GALA und NetworKit! Vorlesungs- und PÜ-Termine: Änderungen beachten!! Projektbeschreibungen abholen! 127 Wiederholung!
MehrDATENSTRUKTUREN UND ALGORITHMEN
DATENSTRUKTUREN UND ALGORITHMEN 2 Ist die Datenstruktur so wichtig??? Wahl der Datenstruktur wichtiger Schritt beim Entwurf und der Implementierung von Algorithmen Dünn besetzte Graphen und Matrizen bilden
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 +.*
MehrSpGEMM. SpGEMM detaillierter. Zwei Interpretationen: Benötigte Berechnungen darstellbar als Graph:
SpGEMM Produkt zweier symmetrischer Matrizen muss nicht symmetrisch sein Produkt zweier dünn besetzter Matrizen muss nicht dünn besetzt sein 3 2 3 7 1 5 7 4 1 4 6 2 6 8 5 8 2 4 6 2 5 3 4 7 5 7 1 3 1 9
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.
MehrAlgorithmik kontinuierlicher Systeme
Algorithmik kontinuierlicher Systeme Matrixstrukturen Feste Dimension von Matrizen und Vektoren Geometrische Anwendungen Matrix beschreibt meist Transformationen von Vektoren im 2D bzw. 3D d.h. Dimension
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,
MehrKlausur Informatik 2: Algorithmen und Datenstrukturen. Blättern Sie nicht um bevor Sie dazu aufgefordert werden!
Albert-Ludwigs-Universität Institut für Informatik Prof. Dr. F. Kuhn Klausur Informatik 2: Algorithmen und Datenstrukturen Donnerstag, 9. März 21, 2017, 9:00 bis 12.00 Uhr Name:.....................................................................
MehrReihungen. Prof. Dr. Christian Böhm. In Zusammenarbeit mit Gefei Zhang. WS 07/08
Reihungen Prof. Dr. Christian Böhm In Zusammenarbeit mit Gefei Zhang http://www.dbs.ifi.lmu.de/lehre/nfinfosw WS 07/08 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende
MehrFelder in C. Felder stellen eine Reihung von Elementen gleichen Typs dar. Man spricht auch von Vektoren oder Arrays.
Felder in C Felder stellen eine Reihung von Elementen gleichen Typs dar. Man spricht auch von Vektoren oder Arrays. Durch die Reihung (hintereinander speichern) kann ein Element über seine Nummer (Index)
MehrReihungen. Martin Wirsing. in Zusammenarbeit mit Michael Barth, Fabian Birzele und Gefei Zhang
Reihungen Martin Wirsing in Zusammenarbeit mit Michael Barth, Fabian Birzele und Gefei Zhang http://www.pst.informatik.uni-muenchen.de/lehre/ws0506/infoeinf/ WS 05/06 2 Ziele Die Datenstruktur der Reihungen
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 217 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda: Graphen, Suchbäume, AVL Bäume Heute: Graphen und Bäume Binäre Suchbäume AVL-Bäume Nächste
MehrAlgorithmen und Datenstrukturen Übung #4 BFS/DFS, Wachstum von Funktionen
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 22.11.2018 Heute 12 Breiten-
Mehr19. Dynamic Programming I
495 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.
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.
MehrWiMa-Praktikum 1. Woche 8
WiMa-Praktikum 1 Universität Ulm, Sommersemester 2017 Woche 8 Lernziele In diesem Praktikum sollen Sie üben und lernen: Besonderheiten der For-Schleife in Matlab Wiederholung des Umgangs mit Matrizen und
Mehr19. Dynamic Programming I
495 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.
MehrTechnische Universität München SoSe 2018 Fakultät für Informatik, I Juli 2018 Dr. Stefanie Demirci. Aufgabe 1 Sortieren mit Heap Sort
Name: Vorname: Matr. Nr.: Technische Universität München SoSe 2018 Fakultät für Informatik, I-16 4. Juli 2018 Dr. Stefanie Demirci Allgemeine Hinweise Musterklausur zu Algorithmen und Datenstrukturen Die
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:
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C 6 Cache-freundliche Programmierung (1) Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Quadratische Matrizen Musterlösung
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
MehrInhalt. Peter Sobe 63. Felder in C
Inhalt Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Streuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit mit Pointern
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
MehrExperimente. Zahlenbeispiel. Cache-Optimale Algorithmen. Warum Funktionieren Caches? Cache-Oblivious Speichermodell. Characterisierung von Caches
M=10 9, B=10 6 Zahlenbeispiel Für c=1/7 folgt daraus Experimente 20 Millionen Operationen auf Priority Queue mit verschiedenen Implementierungen Datenstrukturen ohne Rücksicht auf Paging-Effekte (Fibonacci
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2017 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda: Kürzeste Wege, Heaps, Hashing Heute: Kürzeste Wege: Dijkstra Heaps: Binäre Min-Heaps Hashing:
MehrEinführung in die Programmierung (MA8003)
Theorie 1.2: Vektoren & Matrizen II, Funktionen, Indizierung Dr. Lorenz John Technische Universität München Fakultät Mathematik, Lehrstuhl für Numerische Mathematik M2 04.10.2016 Theorie 1.2: Inhalt 1
MehrEinführung in die Programmierung (MA8003)
Theorie 1.2: Vektoren & Matrizen II, Funktionen, Indizierung Dr. Laura Scarabosio Technische Universität München Fakultät Mathematik, Lehrstuhl für Numerische Mathematik M2 04.10.2017 Theorie 1.2: Inhalt
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.
MehrÜbungsklausur Algorithmen I
Universität Karlsruhe, Institut für Theoretische Informatik Prof. Dr. P. Sanders 26.5.2010 svorschlag Übungsklausur Algorithmen I Hiermit bestätige ich, dass ich die Klausur selbständig bearbeitet habe:
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Wintersemester / Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 7 Fortgeschrittene Datenstrukturen Such-Algorithmen
Mehr19. Dynamic Programming I
Fibonacci Zahlen 9. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixettenmultipliation, Matrixmultipliation nach Strassen [Ottman/Widmayer,
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 2014/2015 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Dr. Christian Scheffer Klausur Algorithmen
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
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
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:
MehrDefinition Ein Heap (priority queue) ist eine abstrakte Datenstruktur mit folgenden Kennzeichen:
HeapSort Allgemeines Sortieralgorithmen gehören zu den am häufigsten angewendeten Algorithmen in der Datenverarbeitung. Man hatte daher bereits früh ein großes Interesse an der Entwicklung möglichst effizienter
MehrOne of the few resources increasing faster than the speed of computer hardware is the amount of data to be processed. Bin Hu
Bin Hu Algorithmen und Datenstrukturen 2 Arbeitsbereich fr Algorithmen und Datenstrukturen Institut fr Computergraphik und Algorithmen Technische Universität Wien One of the few resources increasing faster
MehrBücher und Artikel zum Thema
Materialsammlung zur Implementierung von Information Retrieval Systemen Karin Haenelt 11.12.2005/11.12.2004/06.12.2003/10.11.2002 1 Bücher und Artikel zum Thema Frakes/Baeza-Yates, 1992 Baeza-Yates/Ribeiro-Neto,
MehrMaterialsammlung zur Implementierung von Information Retrieval Systemen
Materialsammlung zur Implementierung von Information Retrieval Systemen Karin Haenelt 11.12.2005/11.12.2004/06.12.2003/10.11.2002 1 Bücher und Artikel zum Thema Frakes/Baeza-Yates, 1992 Baeza-Yates/Ribeiro-Neto,
MehrCarlos Camino Grundlagen: Algorithmen und Datenstrukturen SS 2015
Themenüberblick Dieses Dokument stellt eine Art Checkliste für eure Klausurvorbereitung dar. Zu jedem Thema im Skript sind hier ein paar Leitfragen aufgelistet. Ab Seite 4 findet ihr alle Zusammenfassungen,
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
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)
MehrGraphenalgorithmen I. Geschickt Programmieren für den ICPC- Wettbewerb. Felix Weissenberger
Graphenalgorithmen I Geschickt Programmieren für den ICPC- Wettbewerb Felix Weissenberger Inhalt Grundlagen zu Graphen Begriffe Darstellung von Graphen Graphenalgorithmen Breitensuche Tiefensuche Topologisches
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
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Sortieren fortgesetzt Maike Buchin 16.5.2017 5.6 Brechen der Unteren Schranke nur Vergleichen erlauben keine Algorithmen mit Laufzeit schneller als O(n log n) stattdessen: Struktur
MehrKarlsruher Institut für Technologie. Klausur Algorithmen I
Klausur-ID: Vorname: Matrikelnummer: Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Jörn Müller-Quade 11. April 2018 Klausur Algorithmen I Aufgabe 1. Kleinaufgaben 15 Punkte
MehrAlgorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 10. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Suchverfahren für große Datenmengen bisher betrachtete Datenstrukturen
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative
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
MehrAlgorithmen II Vorlesung am
Algorithmen II Vorlesung am 31.01.2013 Algorithmen für externen Speicher INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales
MehrÜbung Praktische Informatik II
Übung Praktische Informatik II FSS 2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 22.05.09 11-1 Heutige große Übung Ankündigung
MehrInformatik II: Algorithmen & Datenstrukturen. Blättern Sie nicht um bevor Sie dazu aufgefordert werden!
Albert-Ludwigs-Universität Institut für Informatik Prof. Dr. F. Kuhn Informatik II: Algorithmen & Datenstrukturen Montag, 29. August, 2014, 14:00 17:00 Name:...........................................................
MehrDatenstrukturen. Mariano Zelke. Sommersemester 2012
Datenstrukturen Mariano Zelke Sommersemester 2012 Kapitel 3: Elementare Datenstrukturen Mariano Zelke Datenstrukturen 2/18 Einfach verkettete Listen Mariano Zelke Datenstrukturen 3/18 Eine Zeiger-Implementierung
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
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:
MehrDer Rekursionsbaum hat
Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS Lösung - Klausur.09.0 F. Corzilius, S. Schupp, T. Ströder Aufgabe (Laufzeitanalyse): a) Beweisen oder widerlegen Sie: log(n) O( n) ( + + + = 9
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.
MehrAlgorithmen für die Speicherhierarchie
Lineare Algebra: untere Schranken Lehrstuhl für Effiziente Algorithmen Fakultät für Informatik Technische Universität München Vorlesung Sommersemester 2009 Gliederung 1 2 Zusätzliche Überlegungen Erinnerung
MehrGrundlagen der Programmierung
Grundlagen der Programmierung Algorithmen und Datenstrukturen Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile direkt aus der Vorlesung
MehrMotivation Kap. 6: Graphen
Motivation Kap. 6: Graphen Warum soll ich heute hier bleiben? Graphen sind wichtig und machen Spaß! Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund Was gibt es
MehrÜbung zu Algorithmen und Datenstrukturen (für ET/IT)
Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2017 Rüdiger Göbl, Mai Bui Computer Aided Medical Procedures Technische Universität München Fibonacci Zahlen Fibonacci Folge Die Fibonacci
MehrVon Aachen nach Halle...
Von Aachen nach Halle... Koeln? Aachen Halle 14. 6. 15. 6. 16. 6. Saarbruecken? Effiziente Algorithmen fr Graphtraversierungen Ulrich Meyer p. 3 Von Aachen nach Halle... Koeln? Aachen Halle 14. 6. 15.
MehrAlgorithmen und Datenstrukturen
Martin Dietzfelbinger Kurt Mehlhorn Peter Sanders Algorithmen und Datenstrukturen Die Grundwerkzeuge Springer Vieweg 1 Vorspeise: Arithmetik für ganze Zahlen 1 1.1 Addition 2 1.2 Multiplikation: Die Schulmethode
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
Mehr18. Natürliche Suchbäume
Wörterbuchimplementationen 1. Natürliche Suchbäume [Ottman/Widmayer, Kap..1, Cormen et al, Kap. 12.1-12.] Hashing: Implementierung von Wörterbüchern mit erwartet sehr schnellen Zugriffszeiten. Nachteile
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
MehrInformatik II, SS 2018
Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 15b (13.06.2018) Graphenalgorithmen IV Algorithmen und Komplexität Prims MST-Algorithmus A = while A ist kein Spannbaum do e = u, v ist
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Kürzeste Wege Maike Buchin 4. und 6.7.2017 Einführung Motivation: Bestimmung von kürzesten Wegen ist in vielen Anwendungen, z.b. Routenplanung, ein wichtiges Problem. Allgemeine
MehrBlockmatrizen und -Algorithmen
Grundlagen 15.04.2011 Grundlagen Inhaltsverzeichnis 1 Grundlagen Blockmatrizen Untermatrizen 2 3 4 Blockmatrizen Grundlagen Blockmatrizen Untermatrizen Allgemein kann man sowie Zeilen als auch Spalten
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
MehrMathematik für Naturwissenschaftler II SS 2010
Mathematik für Naturwissenschaftler II SS 2010 Lektion 9 20. Mai 2010 Kapitel 9. Matrizen und Determinanten Der Begriff der Matrix Die transponierte Matrix Definition 84. Unter einer (reellen) m n-matrix
MehrTutoraufgabe 1 (SCC):
Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS F. Corzilius, S. Schupp, T. Ströder Allgemeine Hinweise: Die Hausaufgaben sollen in Gruppen von je bis Studierenden aus der gleichen Kleingruppenübung
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
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Weitere Grundlagen Maike Buchin 20.4.2017 Wiederholung wir interessieren uns für effizienten Algorithmen und Datenstrukturen Laufzeiten messen wir asymptotisch in der Oh-Notation
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
MehrKarlsruher Institut für Technologie Institut für Theoretische Informatik. Übungsklausur Algorithmen I
Vorname: Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Jörn Müller-Quade 21.06.2017 Übungsklausur Algorithmen I Aufgabe 1. Kleinaufgaben 8 Punkte Aufgabe 2. Hashing 6 Punkte
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,
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
MehrGraphenalgorithmen I
Graphenalgorithmen I Vortrag im Seminar Hallo Welt! für Fortgeschrittene 7. Juni 211 Graphenalgorithmen I 1/33 Motivation Problem Wie komme ich am schnellsten ins Kanapee? Problem Wie kommt ein Datenpaket
MehrDie Formel für die Standardabweichung lautet (ohne die Wurzel haben wir die Varianz):
Mittelwert und Standardabweichung Klasse: StandardDeviation Schreiben Sie ein Programm StandardDeviation, das von den zufällig erzeugten Werten eines Arrays beliebiger Größe den Mittelwert und die Standardabweichung
Mehr19. Dynamic Programming I
502 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.
MehrLektion 3. 1 Theorie. NTS1-P Natur, Technik und Systeme 1 Praktikum Herbstsemester 2012
NTS1-P Natur, Technik und Systeme 1 Praktikum Herbstsemester 2012 Dr Christoph Kirsch ZHAW Winterthur Lektion 3 In dieser Lektion werden Sie in MATLAB mit Vektoren und Matrizen rechnen 1 Theorie Wie Sie
MehrDatenstrukturen und Algorithmen. Vorlesung 5
Datenstrukturen und Algorithmen Vorlesung 5 Inhaltsverzeichnis Vorige Woche: Sortierte Listen Zyrkuläre Listen Verkettete Listen auf Arrays Heute betrachten wir: Skip Listen ADT Set ADT Map Iterator ADT
MehrADS: Algorithmen und Datenstrukturen
ADS: Algorithmen und Datenstrukturen Teil X Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig 13.
MehrInformatik I Komplexität von Algorithmen
Leistungsverhalten von Algorithmen Informatik I Komplexität von Algorithmen G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Speicherplatzkomplexität: Wird primärer & sekundärer Speicherplatz
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)
MehrVorlesung 2 KÜRZESTE WEGE
Vorlesung 2 KÜRZESTE WEGE 34 Kürzeste Wege im Graphen Motivation! Heute:! Kürzeste Wege von einem Knoten (SSSP)! Kürzeste Wege zwischen allen Knotenpaaren (APSP)! Viele Anwendungen:! Navigationssysteme!
Mehr16. November 2011 Zentralitätsmaße. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 87
16. November 2011 Zentralitätsmaße H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 87 Darstellung in spektraler Form Zentralität genügt Ax = κ 1 x (Herleitung s. Tafel), daher ist x der Eigenvektor
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
MehrAlgorithmen 1 Tutorium
Algorithmen 1 Tutorium Tutorium 13 Misch Sadler 18. Juli 2011 INHALT: VIELES Übersicht 1 Dynamische Programmierung 2 Wiederholung 3 Klausuraufgaben 4 Ende Misch Sadler Algo 1 Tut 18. Juli 2011 2/21 Übersicht
MehrAlgebraische und arithmetische Algorithmen
Kapitel 1 Algebraische und arithmetische Algorithmen 1.1 Das algebraische Berechnungsmodell Struktur: Körper (oder Ring) mit den Operationen +,,, (/) Eingabe: endliche Folge von Zahlen Ausgabe: endliche
Mehr9. November ZHK in dynamischen Graphen Zentralitäten. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 67
9. November 2011 ZHK in dynamischen Graphen Zentralitäten H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 67 ZHK in dynamischen Graphen Ungerichteter schlichter dynamischer Graph Dynamisch:
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
MehrKapitel 3: Sortierverfahren Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
MehrAlgorithmen I - Tutorium 28 Nr. 3
Algorithmen I - Tutorium 28 Nr. 3 18.05.2016: Spaß mit Listen, Arrays und amortisierter Analyse Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN
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
MehrWintersemester 2004/ Januar Aus der Vorlesung sind Datenstrukturen zur Repräsentation von Wäldern disjunkter Mengen bekannt.
Lehrstuhl für Praktische Informatik III Norman May B6, 29, Raum C0.05 68131 Mannheim Telefon: (0621) 181 2517 Email: norman@pi3.informatik.uni-mannheim.de Matthias Brantner B6, 29, Raum C0.05 68131 Mannheim
Mehr