|
|
|
- Julius Maus
- vor 9 Jahren
- Abrufe
Transkript
1 Wie beim letzten Mal - bitte besucht: Ihr seid gleich wieder gefragt...
2 Übung Algorithmen I Lukas Barth [email protected] (Mit Folien von Julian Arz, Timo Bingmann, Sebastian Schlag und Christoph Striecks)
3 Organisatorisches Zweimal nicht abgeholte Übungsblätter: Kasten vor Raum 277 Zu den üblichen Arbeitszeiten Karatsuba-Ofman-Aufgabe auf ÜB1: Mea Culpa!
4 Roadmap Listen Skip List Hotlist Amortisierte Analyse
5 Verkettete Listen Gut: Einfügen Schlecht: Suchen
6 Listen - Mit Überholspur head head
7 Listen - Mit Überholspur head head Skip Lists Mehrere Levels von verketteten Listen Unterstes Level: Normale Liste Höhere Level: Elemente überspringen Elemente haben eine Höhe Sinnvoll vor allem für sortierte Listen
8 Skip Lists head head Optimale Höhe der Elemente?
9 Skip Lists head head Optimale Höhe der Elemente? height(k) = max{h a Z: a 2 h = k} Simuliert binäre Suche
10 Skip Lists head height(k) = max{h a Z: a 2 h = k} Simuliert binäre Suche
11 Skip Lists head height(k) = max{h a Z: a 2 h = k} Simuliert binäre Suche Pingo Time! Laufzeiten von Suchen und Einfügen?
12 Skip Lists head height(k) = max{h a Z: a 2 h = k} Simuliert binäre Suche Laufzeiten? Suche: O(log n) Iterieren: O(n) Einfügen, Löschen...?
13 Skip Lists Dynamische Datenstruktur? Randomisiert! Höhe h mit Wahrscheinlichkeit p h p = 1? 2
14 Skip Lists Dynamische Datenstruktur? Randomisiert! Höhe h mit Wahrscheinlichkeit p h p = 1? 2 Bei linearen Operationen: aufräumen
15 Skip Lists Dynamische Datenstruktur? Randomisiert! Höhe h mit Wahrscheinlichkeit p h p = 1? 2 Bei linearen Operationen: aufräumen Wie lange dauert das Aufräumen..? Primitive Listen-Operationen: O(1)
16 Skip Lists Dynamische Datenstruktur? Randomisiert! Höhe h mit Wahrscheinlichkeit p h p = 1 2? Bei linearen Operationen: aufräumen Wie lange dauert das Aufräumen..? Primitive Listen-Operationen: O(1) Jedes Element muss in max. log n Listen eingefügt (oder entfernt) werden
17 Skip Lists Dynamische Datenstruktur? Randomisiert! Höhe h mit Wahrscheinlichkeit p h p = 1 2? Bei linearen Operationen: aufräumen Wie lange dauert das Aufräumen..? Primitive Listen-Operationen: O(1) Jedes Element muss in max. log n Listen eingefügt (oder entfernt) werden O(n log n)
18 Skip Lists - Performance Erwartete Komplexität Speicherplatz: O(n)
19 Skip Lists - Performance Erwartete Komplexität Speicherplatz: O(n) Suchen: O(log n)
20 Skip Lists - Performance Erwartete Komplexität Speicherplatz: O(n) Suchen: O(log n) Einfügen, Löschen: O(log n)
21 Skip Lists - Performance Erwartete Komplexität Speicherplatz: O(n) Suchen: O(log n) Einfügen, Löschen: O(log n) Achtung! Kein Worst-Case!
22 Amortisierte Analyse Die Idee Viele schnelle Operationen, wenig langsame Umverteilen der Laufzeit
23 Amortisierte Analyse Die Idee Viele schnelle Operationen, wenig langsame Umverteilen der Laufzeit
24 Amortisierte Analyse Die Idee Viele schnelle Operationen, wenig langsame Umverteilen der Laufzeit
25 Amortisierte Analyse Die Idee Viele schnelle Operationen, wenig langsame Umverteilen der Laufzeit
26 Amortisierte Analyse Die Idee Viele schnelle Operationen, wenig langsame Umverteilen der Laufzeit
27 Amortisierte Analyse - Beispiel Das Ziel Skip List mit Worst-Case-Garantien
28 Amortisierte Analyse - Beispiel Das Ziel Skip List mit Worst-Case-Garantien Annahme: Bei n Elementen nur log n Anfragen
29 Amortisierte Analyse - Beispiel Das Ziel Skip List mit Worst-Case-Garantien Annahme: Bei n Elementen nur log n Anfragen Wir wollen: Einfügen, Anfrage in O ( log 2 n ) (amortisiert!)
30 Amortisierte Analyse - Beispiel Das Ziel Skip List mit Worst-Case-Garantien Annahme: Bei n Elementen nur log n Anfragen Wir wollen: Einfügen, Anfrage in O ( log 2 n ) (amortisiert!) Zur Erinnerung... Einfügen: O(log n) Suchen in optimaler Skip List: O(log n) Aufräumen: O(n log n)
31 Amortisierte Analyse - Beispiel Idee Beim Einfügen keine Mühe geben Vor jeder Anfrage aufräumen
32 Amortisierte Analyse - Beispiel Idee Beim Einfügen keine Mühe geben Vor jeder Anfrage aufräumen Komplexität insgesamt: n c 1 log n + log n c 2 n log n
33 Amortisierte Analyse - Beispiel Idee Beim Einfügen keine Mühe geben Vor jeder Anfrage aufräumen Komplexität insgesamt: n c 1 + log n c 2 n log n
34 Amortisierte Analyse - Erinnerung Achtung, verkürzt! A Op : amortisierte Kosten von Operation Op O T Op : tatsächliche Kosten von Operation Op O Op Berechnung: s 1 Op 0 2 Op s1 3 Op s2 n sn Die angenommenen amortisierten Kosten sind korrekt, wenn c + 1 i n T Opi }{{} tatsächliche Gesamtkosten für eine Konstante c 1 i n A Opi }{{} amortisierte Gesamtkosten
35 Amortisierte Analyse - Beispiel 1 i n T Opi =n c 1 + log n c 2 n log n
36 Amortisierte Analyse - Beispiel 1 i n T Opi =n c 1 + log n c 2 n log n c 1 n log 2 n + c 2 n log 2 n
37 Amortisierte Analyse - Beispiel 1 i n T Opi =n c 1 + log n c 2 n log n c 1 n log 2 n + c 2 n log 2 n =(c 1 + c 2 ) n log 2 n
38 Amortisierte Analyse - Beispiel 1 i n T Opi =n c 1 + log n c 2 n log n c 1 n log 2 n + c 2 n log 2 n =(c 1 + c 2 ) n log 2 n A Opi = n log 2 n + log n log 2 n 1 i n
39 Amortisierte Analyse - Beispiel 1 i n T Opi =n c 1 + log n c 2 n log n c 1 n log 2 n + c 2 n log 2 n =(c 1 + c 2 ) n log 2 n ( ) c 3 A Opi = c 3 (n log 2 n + log n log 2 n ) 1 i n
40 Amortisierte Analyse - Beispiel 1 i n T Opi =n c 1 + log n c 2 n log n c 1 n log 2 n + c 2 n log 2 n =(c 1 + c 2 ) n log 2 n ( ) c 3 A Opi = c 3 (n log 2 n + log n log 2 n ) 1 i n c 3 n log 2 n
41 Hotlist Operationen insert(key k, Data d) lookup(key k) : Data delete(key k) Ziel: jede Operation in amortisiert O( n) Zeit
42 Hotlist n (Unsortierte) Liste der Größe n Sortiertes Array der Größe n n
43 Hotlist - Operationen Lookup lookup(key k) : Data Vorgehen: n durchsuche geordnetes Array mit binärer Suche durchsuche Hotlist komplett n Laufzeit: O ( log n + n ) = O ( n )
44 Hotlist - Operationen insert insert(key k, Data d) n Fall A: in Hotlist ist Platz nächste freie Position in Hotlist n Laufzeit: O(1)
45 Hotlist - Operationen insert insert(key k, Data d) Fall B: in Hotlist ist kein Platz sortiere Hotlist merge: führe sortierte Listen zusammen k erstes Element in neuer Hotlist n n n + n
46 Hotlist - Operationen insert insert(key k, Data d) Fall B: in Hotlist ist kein Platz sortiere Hotlist merge: führe sortierte Listen zusammen k erstes Element in neuer Hotlist Laufzeit: n ) O( 2 + n = O(n) n n n + n
47 Hotlist - Operationen insert insert(key k, Data d) Fall B: in Hotlist ist kein Platz sortiere Hotlist merge: führe sortierte Listen zusammen k erstes Element in neuer Hotlist Pingo Time! Wie schnell sortieren wir n Elemente? n n Laufzeit: n ) O( 2 + n = O(n) n + n
48 Hotlist - Operationen insert insert(key k, Data d) Fall B: in Hotlist ist kein Platz sortiere Hotlist merge: führe sortierte Listen zusammen k erstes Element in neuer Hotlist Laufzeit: O ( n log( n) + n ) = O(n) n n n + n
49 Hotlist - Amortisierung Amortisierung von insert nach Zusammenführung: n 1 Positionen in der Hotlist frei n insert-operationen bis zur nächsten Zusammenführung Zusammenführung hat Aufwand cn Also: spare bei jeder einfachen insert-operation c n an bezahle bei der letzten Operation cn
50 Hotlist - Operationen delete delete(key k): Wenn bisher weniger als O ( n ) Löschoperationen: n n
51 Hotlist - Operationen delete delete(key k): Wenn bisher weniger als O ( n ) Löschoperationen: n jedes Element bekommt valid -Bit lookup: suche k setze valid -Bit auf 0 n Laufzeit: O ( n + log n ) = O ( n )
52 Hotlist - Operationen delete delete(key k): bei mehr als O ( n ) Lösch-Operationen zwischen zwei Zusammenführungen n Vorgehen ähnlich zu insert Reorganisation nach O ( n ) Lösch-Operationen n Laufzeit: Analyse wie bei insert
53 Hotlist - Operationen delete Warum überhaupt löschen?
54 Hotlist - Operationen delete Warum überhaupt löschen? n ist hier: Maximale Anzahl von Elementen in der Hotlist nicht Anzahl Operationen nicht Anzahl gesehene Elemente Ohne Löschen: Datenstruktur wächst unbegrenzt! Laufzeiten gingen kaputt
55 Hotlist - Zusammenfassung insert(key k): Aufwand amortisiert in O ( n ) lookup(key k): Aufwand in O ( n ) delete(key k): Aufwand amortisiert in O ( n )
56 Verkettete Listen
57 Verkettete Listen Einzelner Speicherblock? Allokation dauert Liste über ganzen Speicher verstreut?
58 Verkettete Listen - Drei Arrays key next prev
59 Verkettete Listen - Ein Array
60 Variablenwechsel T (n) = T ( n) + 1 für n = 2 2i, T (4) = 1
61 Variablenwechsel Wie löst man Rekurrenzen der Form T (n) = T ( n) + 1?
62 Variablenwechsel Wie löst man Rekurrenzen der Form T (n) = T ( n) + 1? Setze m = log n, also n = 2 m. Dann: T (2 m ) = T (2 m 2 ) + 1
63 Variablenwechsel T (2 m ) = T (2 m 2 ) + 1
64 Variablenwechsel T (2 m ) = T (2 m 2 ) + 1 Trick: setze S(m) := T (2 m ) liefert: ( m ) S(m) = S + 1 2
65 Variablenwechsel T (2 m ) = T (2 m 2 ) + 1 Trick: setze S(m) := T (2 m ) liefert: ( m ) S(m) = S S(m) O(?)
66 Variablenwechsel T (2 m ) = T (2 m 2 ) + 1 Trick: setze S(m) := T (2 m ) liefert: ( m ) S(m) = S S(m) O( log m)
67 Variablenwechsel T (n) = T ( n) + 1 m = log n S(m) = S( m 2 ) + 1 S(m) O(log m) liefert für n = 2 2i : T (n) = T (2 m ) = S(m) O(log m) = O(log log n).
68 Zusammenfassung Listen Array-Speicherung Skip List Randomisierte Datenstruktur Erwarteter Aufwand O(log n) Aggregat-Methode Hotlist Mischung aus Array und Liste Einfügen, Löschen und Suchen (amortisiert) in O ( n ) Token-Methode
Übung Algorithmen I
Übung Algorithmen I 10.5.17 Sascha Witt [email protected] (Mit Folien von Lukas Barth, Julian Arz, Timo Bingmann, Sebastian Schlag und Christoph Striecks) Roadmap Listen Skip List Hotlist Amortisierte
3. Übung Algorithmen I
Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und nationales Forschungszentrum in der
7. Übung zu Algorithmen I 1. Juni 2016
7. Übung zu Algorithmen I 1. Juni 2016 Lukas Barth [email protected] (mit Folien von Lisa Kohl) Roadmap Ganzzahliges Sortieren mit reellen Zahlen Schnellere Priority Queues Bucket Queue Radix Heap Organisatorisches
Übung Algorithmen I
Übung Algorithmen I.6.5 Christoph Striecks [email protected] (Mit Folien von Julian Arz, Timo Bingmann und Sebastian Schlag.) Roadmap Hinweise zur Übungsklausur (Weitere) Traversierungen von Binärbäumen
4. Übung zu Algorithmen I 17. Mai 2017
4. Übung zu Algorithmen I 17. Mai 2017 Björn Kaidel [email protected] (mit Folien von Julian Arz, Timo Bingmann, Lisa Kohl, Christian Schulz, Sebastian Schlag und Christoph Striecks) Organisatorisches
Ü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
Informatik 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
Übung Algorithmen I
Übung Algorithmen I 18.5.16 Lukas Barth [email protected] (Mit Folien von Julian Arz, Timo Bingmann, Sebastian Schlag und Christoph Striecks) Roadmap Sortieren Kleine Wiederholung Visualisierungen Adaptives
Übung Algorithmen I
Übung Algorithmen I 24.5.17 Sascha Witt [email protected] (Mit Folien von Lukas Barth, Julian Arz, Timo Bingmann, Sebastian Schlag und Christoph Striecks) Organisatorisches Übungsklausur Am 21.06.2017
Abgabe: (vor der Vorlesung) Aufgabe 3.1 (P) Master-Theorem
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 3 Prof. Dr. Helmut Seidl, S. Pott,
ContainerDatenstrukturen. 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
Datenstrukturen und Algorithmen. Vorlesung 8
Datenstrukturen und Algorithmen Vorlesung 8 Inhaltsverzeichnis Vorige Woche: ADT Stack ADT Queue Heute betrachten wir: ADT Deque ADT Prioritätsschlange Binomial-Heap Schriftliche Prüfung Informationen
3. Ü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
Abstrakter 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
Ü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:
Informatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 9 (28.5.2014) Hashtabellen III Algorithmen und Komplexität Offene Adressierung : Zusammenfassung Offene Adressierung: Alle Schlüssel/Werte
Datenstrukturen 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
Übung Algorithmen I
Übung Algorithmen I 20.5.15 Christoph Striecks [email protected] (Mit Folien von Julian Arz, Timo Bingmann und Sebastian Schlag.) Roadmap Organisation Mergesort, Quicksort Dual Pivot Quicksort
Übungsklausur Algorithmen I
Name: Vorname: Matrikelnr.: Tutorium: Jun.-Prof. Hofheinz, Jun.-Prof. Meyerhenke (ITI, KIT) 08.06.2015 Übungsklausur Algorithmen I Aufgabe 1. (Algorithm Engineering) [2 Punkte] Nennen Sie zwei Konzepte,
Algorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2018 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Organisatorisches: Keine Vorlesung nächste Woche wegen
INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS
Julian Arz, Timo Bingmann, Sebastian Schlag INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Julian Universität Arz, des Timo LandesBingmann, Baden-Württemberg Sebastian und Schlag nationales
Ü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:
13. 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
Algorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2016/17 13. Vorlesung Binäre Suchbäume Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Dynamische Menge verwaltet Elemente einer sich ändernden Menge
8 Elementare Datenstrukturen
Algorithmen und Datenstrukturen 186 8 Elementare Datenstrukturen In diesem und dem folgenden Kapitel werden grundlegende Techniken der Darstellung und Manipulation dynamischer Mengen auf Computern vorgestellt.
3. Übung Algorithmen I
INSTITUT FÜR THEORETISCHE INFORMATIK 1 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische www.kit.edu Informatik Hashtabellen:
Vorlesung 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
Doppelt verkettete Listen (1)
Doppelt verkettete Listen (1) Verkettete Listen bestehen aus einer Menge linear angeordneter Objekte. Anordnung realisiert durch Verweise. Unterstützen Operationen Insert, Delete, Search, usw. (nicht unbedingt
Dynamische Datenstrukturen
Dynamische Datenstrukturen B-Bäume größere Datenmengen verwalten Extern speichern Art der Speicherung berücksichtigen sonst kein optimaler Datenzugriff möglich Art der Speicherung großer Datenmengen Magnetplatten
1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert
Inhalt Einführung 1. Arrays 1. Array unsortiert 2. Array sortiert 3. Heap 2. Listen 1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert 3. Bäume
Algorithmen 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
Randomisierte Datenstrukturen
Seminar über Algorithmen DozentInnen: Helmut Alt, Claudia Klost Randomisierte Datenstrukturen Ralph Schäfermeier 13. 2. 2007 Das Verwalten von Mengen, so dass ein schneller Zugriff auf deren Elemente gewährleistet
INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS
Julian Arz, Timo Bingmann, Sebastian Schlag INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Julian Universität Arz, des Timo LandesBingmann, Baden-Württemberg Sebastian und Schlag nationales
Beispiellösung zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 5
Robert Elsässer Paderborn, den 15. Mai 2008 u.v.a. Beispiellösung zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 5 AUFGABE 1 (6 Punkte): Nehmen wir an, Anfang bezeichne in einer normalen
Sortieren II / HeapSort Heaps
Organisatorisches VL-07: Sortieren II: HeapSort (Datenstrukturen und Algorithmen, SS 2017) Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Email: [email protected] Webseite: http://algo.rwth-aachen.de/lehre/ss17/dsa.php
Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (07 - Skiplisten) Prof. Dr. Susanne Albers
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (07 - Skiplisten) Prof. Dr. Susanne Albers Skiplisten. Perfekte Skiplisten 2. Randomisierte Skiplisten 3. Verhalten von randomisierten Skiplisten
12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete.
Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Worst-case Zeit für Search: Θ(n). In der Praxis jedoch sehr gut. Unter gewissen
3. Ü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 3. Übungsblatt zu Algorithmen I im SS 2010 http://algo2.iti.kit.edu/algorithmeni.php
Karlsruher 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
Algorithmen und Datenstrukturen 12
12. Juli 2012 1 Besprechung Blatt 11 Fragen 2 Binary Search Binäre Suche in Arrays Binäre Suchbäume (Binary Search Tree) 3 Sortierverfahren Allgemein Heapsort Bubblesort Insertionsort Mergesort Quicksort
Algorithmen I. Tutorium 1-3. Sitzung. Dennis Felsing
Algorithmen I Tutorium 1-3. Sitzung Dennis Felsing [email protected] www.stud.uni-karlsruhe.de/~ubcqr/algo 2011-05-02 Überblick 1 Sortieren und Suchen 2 Mastertheorem 3 Datenstrukturen 4 Kreativaufgabe
Kapitel 2: Analyse der Laufzeit von Algorithmen Gliederung
Gliederung 1. Motivation / Einordnung / Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs
Grundlagen: 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
Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 24.04.2011 Überlagern von Kartenebenen Beispiel: Gegeben zwei verschiedene Kartenebenen,
11. Elementare Datenstrukturen
11. Elementare Datenstrukturen Definition 11.1: Eine dynamische Menge ist gegeben durch eine oder mehrer Mengen von Objekten sowie Operationen auf diesen Mengen und den Objekten der Mengen. Dynamische
Mengen und Multimengen
Überblick 17. Datenstrukturen 17.1 Einleitung 17.2 Listen 17.3 Assoziative Speicher 17.4 Bäume 17.5 Mengen 17.6 Das Collections-Framework in Java 17.7 Zusammenfassung 17 Datenstrukturen 5 Mengen Informatik
Algorithmen und Datenstrukturen 1 Kapitel 5
Algorithmen und Datenstrukturen 1 Kapitel 5 Technische Fakultät [email protected] Vorlesung, U. Bielefeld, Winter 2005/2006 Kapitel 5: Effizienz von Algorithmen 5.1 Vorüberlegungen Nicht
Zeitkomplexität beim Suchen und Sortieren
Zeitkomplexität beim Suchen und Sortieren Thomas Schwotzer 1 Einführung Programmieren bedeutet nahezu immer Algorithmen schreiben. Die Algorithmen, die wir entwickeln arbeiten mit Daten. Wir testen die
Informatik II, SS 2018
Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 8 (14.5.2018) Hashtabellen III Algorithmen und Komplexität Hashtabellen mit Chaining Jede Stelle in der Hashtabelle zeigt auf eine verkette
Informatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 8 (13.5.2016) Hashtabellen I Algorithmen und Komplexität Dictionary mit sortiertem Array Laufzeiten: create: O(1) insert: O(n) find: O(log
Übung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 16 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda 1. Fragen zum zweiten Übungsblatt? 2. Vorbesprechung des dritten Übungsblatts 3. Beispielaufgaben
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1 Kapitel 11 Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 2 Ziele Implementierungen für
elementare Datenstrukturen
elementare Datenstrukturen Wie die Daten das Laufen lernten Andreas Ferber [email protected] elementare Datenstrukturen p./40 KISS elementare Datenstrukturen p./40 KISS (Keep It Simple, Stupid) Immer die einfachste
Informatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 10 (3.6.2014) Binäre Suchbäume I Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:
14. Sortieren II Heapsort. Heapsort. [Max-]Heap 7. Heapsort, Quicksort, Mergesort. Binärer Baum mit folgenden Eigenschaften
Heapsort, Quicksort, Mergesort 14. Sortieren II 14.1 Heapsort [Ottman/Widmayer, Kap. 2.3, Cormen et al, Kap. 6] 397 398 Heapsort [Max-]Heap 7 Inspiration von Selectsort: Schnelles Einfügen Binärer Baum
Algorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2017 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Grundlagen von Algorithmen
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 202/3 24. Vorlesung Amortisierte Analyse Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Hash-Tabellen Frage: Ziel: Problem: Lösung: Wie groß macht man
1. Ü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
Vorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (12 Hashverfahren: Verkettung der Überläufer) Prof. Dr. Susanne Albers Möglichkeiten der Kollisionsbehandlung Kollisionsbehandlung: Die Behandlung
Übung: Algorithmen und Datenstrukturen SS 2007
Übung: Algorithmen und Datenstrukturen SS 2007 Prof. Lengauer Sven Apel, Michael Claÿen, Christoph Zengler, Christof König Blatt 5 Votierung in der Woche vom 04.06.0708.06.07 Aufgabe 12 Manuelle Sortierung
Hash-Verfahren. Einführung
Hash-Verfahren Prof. Dr. T. Kudraß 1 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit Schlüsselwert k.
Amortisierte Analyse
Amortisierte Analyse Amortisierung Betrachte eine Folge a 1, a 2,..., a n von n Operation auf Datenstruktur D T i = Ausführungszeit von a i T = T 1 + T 2 +... + T n, Gesamtlaufzeit Oft kann die Laufzeit
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.
Hash-Verfahren. Prof. Dr. T. Kudraß 1
Hash-Verfahren Prof. Dr. T. Kudraß 1 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit Schlüsselwert k.
Informatik II Skip-Lists & selbstorganisierende Listen (als Bsp. für randomisierte Algos und selbstorganisierende Datenstrukturen)
lausthal Informatik II Skip-Lists & selbstorganisierende Listen (als Bsp. für randomisierte Algos und selbstorganisierende Datenstrukturen). Zachmann lausthal University, ermany [email protected]
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen B4. Priority Queues und Heaps Marcel Lüthi and Gabriele Röger Universität Basel 28. März 2018 Einführung Kollektion von Elementen Grundlegende Operationen sind Einfügen
Konvexe Hülle. Abbildung: [Wikipedia]: Nicht-konvexe Menge (links), konvexe Menge (rechts) KIT Institut für Theoretische Informatik 510
Konvexe Hülle Definition konvexe Menge: Für je zwei beliebige Punkte, die zur Menge gehören, liegt auch stets deren Verbindungsstrecke ganz in der Menge. Abbildung: [Wikipedia]: Nicht-konvexe Menge (links),
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen 11. Übung Verkettete Listen, Sortieren Insertionsort, Mergesort, Radixsort, Quicksort Clemens Lang Übungen zu AuD 19. Januar 2010 Clemens Lang (Übungen zu AuD) Algorithmen
12. Dynamische Datenstrukturen
Motivation: Stapel. Dynamische Datenstrukturen Verkettete Listen, Abstrakte Datentypen Stapel, Warteschlange, Implementationsvarianten der verketteten Liste 0 04 Motivation: Stapel ( push, pop, top, empty
Grundlagen 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
Informatik II Prüfungsvorbereitungskurs
Informatik II Prüfungsvorbereitungskurs Tag 4, 9.6.2017 Giuseppe Accaputo [email protected] 1 Aufbau des PVK Tag 1: Java Teil 1 Tag 2: Java Teil 2 Tag 3: Algorithmen & Komplexität Tag 4: Dynamische Datenstrukturen,
