Übungsklausur Algorithmen I
|
|
|
- Reinhardt Reuter
- vor 9 Jahren
- Abrufe
Transkript
1 Universität Karlsruhe, Institut für Theoretische Informatik Prof. Dr. P. Sanders svorschlag Übungsklausur Algorithmen I Hiermit bestätige ich, dass ich die Klausur selbständig bearbeitet habe: Aufgabe 1. Gegeben sei folgende Darstellung eines binären Heaps als Array mit den Indizes 1,...,5: Geben sie den Inhalt des Arrays an, nachdem deletemin ausgeführt worden ist: Gegeben sei folgende Darstellung eines binären Heaps als Array mit den Indizes 1,...,5: Geben sie den Inhalt des Arrays an, nachdem deletemin ausgeführt worden ist:
2 svorschlag Gegeben sei folgende Darstellung eines binären Heaps als Array mit den Indizes 1,...,5: Geben sie den Inhalt des Arrays an, nachdem deletemin ausgeführt worden ist: Aufgabe 2. Nennen Sie ein Beispiel für die vereinfachende Wirkung von Wächterelementen (= Sentinels). Sortieren durch Einsetzen. Suchen in (verketteten) Listen. Aufgabe 3. Nennen Sie zwei Operationen, die doppelt verkettete Listen in konstanter worst-case-zeit unterstützen, einfach verkettete Listen jedoch nicht. insert, remove, popback a) Nennen Sie eine Operation, die einfach verkettete Listen in konstanter worst-case-zeit unterstützen. b) Nennen Sie einen Vorteil von einfach verketteten Listen gegenüber doppelt verketteten Listen. a) first, last, removeafter, insertafter, pushfront, popfront, pushback b) Weniger Speicherverbrauch (da weniger Handles), oft schneller (weniger Handles müssen geupdated werden)
3 svorschlag Aufgabe 4. Nennen Sie einen Vorteil und einen Nachteil von Hashing mit verketteten Listen gegenüber offenem Hashing mit linearer Suche. Vorteile: insert in O(1), für dichte Hashtabellen besser, referentielle Integrität, Leistungsgarantien mit universellem Hashing Nachteile: nicht so platz-effizient, nicht so cache-effizient, nicht so einfach Nennen Sie einen Vorteil und einen Nachteil von offenem Hashing mit linearer Suche gegenüber Hashing mit verketteten Listen. Vorteile: platz-effizient, cache-effizient, einfach Nachteile: insert nicht in O(1), für dichte Hashtabellen schlechter, keine Referentielle Integrität, keine Leistungsgarantieen mit universellem Hashing Aufgabe 5. [3 Punkte] Der Ministerpräsident von Baden-Württemberg möchte die besten 2% der Abiturienten seines Landes zu einem Gartenfest einladen. Gegeben sei dazu eine Datei F von n Tripeln der Form (Name, LaufendeNr, Durchschnittsnote). a) Geben Sie einen Algorithmus an, der in erwartet O(n) Zeit die besten 2% aller Abiturienten liefert. Bemerkung. Sie können Algorithmen aus der Vorlesung als Unterprogramm verwenden. Für (erwartet) O(nlogn) Zeit bekommen Sie immerhin noch die Hälfte der Punkte. b) Argumentieren Sie, warum Ihr Algorithmus das gewünschte Laufzeitverhalten hat. a) Man betrachte auf F die Relation, definiert durch (N 1,L 1,D 1 ) (N 2,L 2,D 2 ) : D 1 D 2. Man wende nun den Algorithmus Quickselect aus der Vorlesung gemäß der gerade definierten Relation an, um so das 2n/100 -te Element bzgl. zu wählen. Heiße dieses p. Man verwende nun die von Quicksort bekannte Art zu partionieren, um F derart in zwei Teile zu teilen, dass der linke Teil alle Elemente e F mit e p enthält und der rechte Teil alle anderen. Der linke Teil enthält die gesuchten besten 2%. b) Quickselect: erwartet O(n) Zeit. Partitionieren: O(n) Zeit.
4 svorschlag Eine erfolgreiche Fastfood-Kette bewertet ihre Mitarbeiter mit einem internen Punktesystem. Nun möchte der Chef die am besten bewerteten 3% aller Mitarbeiter zu einem Gala-Abend einladen. Dazu hat er eine Datei F von n Tripeln der Form (MitarbeiterID, Name, Bewertung). a) Geben Sie einen Algorithmus an, der in erwartet O(n) Zeit die am besten bewerteten 3% aller Mitarbeiter berechnet. Bemerkung. Sie können Algorithmen aus der Vorlesung als Unterprogramm verwenden. Für (erwartet) O(nlogn) Zeit bekommen Sie immerhin noch die Hälfte der Punkte. b) Argumentieren Sie, warum Ihr Algorithmus das gewünschte Laufzeitverhalten hat. a) Man betrachte auf F die Relation, definiert durch (M 1,N 1,B 1 ) (M 2,N 2,B 2 ) : B 1 besser oder gleich B 2. Man wende nun den Algorithmus Quickselect aus der Vorlesung gemäß der gerade definierten Relation an, um so das 3n/100 -te Element bzgl. zu wählen. Heiße dieses p. Man verwende nun die von Quicksort bekannte Art zu partionieren, um F derart in zwei Teile zu teilen, dass der linke Teil alle Elemente e F mit e p enthält und der rechte Teil alle anderen. Der linke Teil enthält die gesuchten 3% mit der besten Bewertung. b) Quickselect: erwartet O(n) Zeit. Partitionieren: O(n) Zeit. Aufgabe 6. Zeigen oder widerlegen Sie, dass 2 2n = O(3 n ). Gilt nicht. Wenn doch, gäbe es c > 1,n 0 > 1 mit 2 2n c3 n für alle c n 0. Es ist aber 4 n = (2 2 ) n = 2 2n c3 n ( ) 4 n c n log 3 c, 4/3 was ein Widerspruch ist zur Unbeschränktheit von n nach oben.
5 svorschlag Zeigen oder widerlegen Sie, dass 2 3n = O(5 n ). Gilt nicht. Wenn doch, gäbe es c > 1,n 0 > 1 mit 2 3n c5 n für alle c n 0. Es ist aber 8 n = (2 3 ) n = 2 3n c5 n ( ) 8 n c n log 5 c, 8/5 was ein Widerspruch ist zur Unbeschränktheit von n nach oben. Zeigen oder widerlegen Sie, dass 3 2n = O(5 n ). Gilt nicht. Wenn doch, gäbe es c > 1,n 0 > 1 mit 3 2n c5 n für alle c n 0. Es ist aber 9 n = (3 2 ) n = 3 2n c5 n ( ) 9 n c n log 5 c, 9/5 was ein Widerspruch ist zur Unbeschränktheit von n nach oben. Aufgabe 7. Bestimmen Sie die en der folgenden Rekurrenzen im Θ-Kalkül mit dem Master- Theorem: T (1) = 1, T (n) = 5T (n/3) + 4n, n = 3 k, k N S(1) = 42, S(n) = n + 2S(n/2), n = 2 k, k N T (n) = Θ ( n log 3 5), S(n) = Θ(nlogn) Bestimmen Sie die en der folgenden Rekurrenzen im Θ-Kalkül mit dem Master- Theorem: T (1) = 1,T (n) = n/5 + 4T (n/5), n = 5 k, k N S(1) = 33, S(n) = 5S(n/4) + 89n, n = 4 k, k N T (n) = Θ(n), S(n) = Θ ( n log 4 5)
6 svorschlag Bestimmen Sie die en der folgenden Rekurrenzen im Θ-Kalkül mit dem Master- Theorem: T (1) = 2001, T (n) = 42n + 2T (n/2), n = 2 k, k N S(1) = 5, T (n) = 5 4 T (n/7) + n/7, n = 7k, k N T (n) = Θ(nlogn), S(n) = Θ(n) Variante 4 Bestimmen Sie die en der folgenden Rekurrenzen im Θ-Kalkül mit dem Master- Theorem: T (1) = 2, T (n) = 7n + 4T (n/2), n = 2 k, k N S(1) = 5, T (n) = 3T (n/3) n, n = 3 k, k N T (n) = Θ ( n 2), S(n) = Θ(nlogn) Aufgabe 8. Nennen Sie einen Vorteil von Radix-Sort gegenüber Mergesort und von Mergesort gegenüber Quicksort. Vorteil Radix-Sort gegenüber Mergesort: Zeit in O(n) statt Θ(nlogn) Vorteile Mergesort gegenüber Quicksort: stabil, O(n log n) bzw. n log n + O(n) Vergleiche im worst-case Nennen Sie einen Vorteil und Nachteil von Mergesort gegenüber Quicksort. Vorteile von Mergesort: O(nlogn) Vergleiche im schlimmsten Fall, bei Quicksort Θ(n 2 ) stabil nlogn + O(n) Elementvergleiche statt Θ(n 2 ) wie im schlimmsten Fall bei Quicksort Nachteile von Mergesort: in der Praxis oft langsamer nicht inplace
7 svorschlag Nennen Sie je einen Vorteil von Radix-Sort gegenüber Quicksort und von Quicksort gegenüber Mergesort. Vorteile von Radixsort gegenüber Quicksort: Zeit in O(n) statt erwartet Θ(n log n) bzw. worst-case Θ(n 2 ), Radix-Sort stabil im Gegensatz zu Quicksort Vorteile von Quicksort gegenüber Mergesort: In der Praxis oft schneller, inplace Aufgabe 9. Ein Student hat sich nachfolgenden RAM-Code ausgedacht (dabei ist x ein Platzhalter): R 1 := 1 R 2 := 0 R 4 := x schleifenanfang: R 2 := R 2 + R 1 R 1 := R R 3 := R 1 R 4 JZ schleifenanfang, R 3 Welchen Wert enthält das Register R 2 nach Ausführung des Programms für den Fall das x = 4? Für den Fall x = 4 enthält das Register R 2 den Wert R 2 = = 6. Im Fall x = n N gilt nach Ausführung des Programms R 2 = n 1 i=1 i
8 svorschlag Aufgabe 10. Ist dieser Graph ein DAG? Begründen Sie (z.b. durch Markierungen in der Zeichnung des Graphen)! Der Graph ist kein DAG, da er einen gerichteten Kreis enthält. Aufgabe 11. Gegeben Sei folgender Algorithmus zum Finden einer Zahl x in einem unsortierten Feld A von natürlichen Zahlen. 1: procedure findnumber(a : Array [1..n] of N, x N ) 2: for i = 1 to n do 3: if A[i] == x return i 4: invariant 5: return -1 Geben Sie in Zeile 4 eine gültige und sinnvolle Invariante an. Zum Beispiel: k {1...i} : A[k] x. Zusatz: Falls Zeile 5 aufgerufen wird, so gilt i = n. Also gilt i {1..n} : A[i] x und mit anderen Worten: A enthält kein Element mit dem Wert x. Aufgabe 12. Welche der folgenden Operationen eines unbeschränkten Feldes liegen im schlimmsten Fall in Θ(n) (ohne Amortisierung): pushback, Folge von n pushback, [ ] (Elementzugriff), (Größe)? pushback, Folge von n pushback Aufgabe 13.
9 svorschlag Nennen Sie zwei Vorteile von beschränkten Feldern gegenüber einfach verketteten Listen. keine Zeiger Cache-effizientes Iterieren effizienter beliebiger/wahlfreier Zugriff einfach Nennen Sie zwei Nachteile von beschränkten Feldern gegenüber verketteten Listen. kein effizientes Einfügen an beliebiger Position Speicherplatz-Verschnitt einzelne Operationen können lange dauern nicht so flexibel Nennen Sie zwei Vorteile von einfach verketteten Listen gegenüber beschränkten Feldern. flexibel keine Ausreißer bei der Laufzeit der Operationen kein Speicherplatz-Verschnitt effizientes Einfügen an beliebiger Position Variante 4 Nennen Sie zwei Nachteile von einfach verketteten Listen gegenüber beschränkten Feldern. Zeiger benötigen zusätzlichen Platz Iterieren nicht Cache-effizient kein effizienter beliebiger/wahlfreier Zugriff komplizierter
10 Aufgabe 14. svorschlag Gegeben Sei eine Hashtabelle mit 10 Einträgen und die Hashfunktion h(x) = x DIV 10. Fügen Sie die Elemente 4, 77, 5, 63, 98, 3, 22, 23, 99 in der gegebenen Reihenfolge in die Hashtabelle ein. Verwenden Sie Hashing mit lineare Suche (zyklisches Array). Geben Sie nur das entgültige Ergebnis an Gegeben Sei eine Hashtabelle mit 10 Einträgen und die Hashfunktion h(x) = x DIV 10. Fügen Sie die Elemente 3, 76, 4, 62, 97, 2, 21, 22, 98 in der gegebenen Reihenfolge in die Hashtabelle ein. Verwenden Sie Hashing mit lineare Suche (zyklisches Array). Geben Sie nur das entgültige Ergebnis an Gegeben Sei eine Hashtabelle mit 10 Einträgen und die Hashfunktion h(x) = x DIV 10. Fügen Sie die Elemente 2, 75, 3, 61, 96, 1, 21, 22, 97 in der gegebenen Reihenfolge in die Hashtabelle ein. Verwenden Sie Hashing mit lineare Suche (zyklisches Array). Geben Sie nur das entgültige Ergebnis an
11 svorschlag Aufgabe 15. Ein Array A[1..h] stelle einen impliziten binären Heap dar. Geben Sie sowohl den Index des Parents als auch des linken Kindes für das Element j an, gegeben dass beide existieren. parent(j) = linkes Kind(j) = parent(j) = j/2, linkes Kind(j) = 2 j Ein Array A[1..h] stelle einen impliziten binären Heap dar. Geben Sie sowohl den Index des linken als auch des rechten Kindes für das Element j an, gegeben dass beide existieren. linkes Kind(j) = rechtes Kind(j) = linkes Kind(j) = 2 j, rechtes Kind(j) = 2 j + 1 Ein Array A[1..h] stelle einen impliziten binären Heap dar. Geben Sie sowohl den Index des Parents als auch des rechten Kindes für das Element j an, gegeben dass beide existieren. parent(j) = rechtes Kind(j) = parent(j) = j/2, rechtes Kind(j) = 2 j + 1 Aufgabe 16. Erläutern Sie kurz die Hauptidee des rekursiven recmult-algorithmus der Vorlesung zur Multiplikation von zwei n-bit Ziffern a, b. Im Wesentlichen handelt es sich um einen Darstellungstrick: Es sei a = a 1 B k + a 0, b = b 1 B k + b 0. Dann a b = a 1 b 1 B 2k + (a 1 b 0 + b 1 a 0 )B k + a 0 b 0. Daraus lässt sich dann der Algorithmus ableiten.
12 svorschlag Aufgabe 17. Wie lautet die Datenstrukurinvariante für doppelt verkettete Listen aus der Vorlesung? prev next = next prev = this Wie lautet die Heap-Eigenschaft? Bäume (oder Wälder) mit v :parent(v) v
Abschnitt: Algorithmendesign und Laufzeitanalyse
Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher
Datenstrukturen und Algorithmen
Joost-Pieter Katoen Datenstrukturen und Algorithmen 1/32 Datenstrukturen und Algorithmen Vorlesung 7: Sortieren (K2) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group
Suchen und Sortieren Sortieren. Heaps
Suchen und Heaps (Folie 245, Seite 63 im Skript) 3 7 21 10 17 31 49 28 14 35 24 42 38 Definition Ein Heap ist ein Binärbaum, der die Heapeigenschaft hat (Kinder sind größer als der Vater), bis auf die
Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7)
Datenstrukturen und Algorithmen Vorlesung 9: (K7) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.rwth-aachen.de/i2/dsal0/ Algorithmus 8. Mai 200 Joost-Pieter
Sortierverfahren für Felder (Listen)
Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es
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
1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit
Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner Musterlösung Problem : Average-case-Laufzeit vs Worst-case-Laufzeit pt (a) Folgender Algorithmus löst das Problem der
Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny
Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.
Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 2 Prof. Dr. Helmut Seidl, S. Pott,
Programmieren I. Kapitel 7. Sortieren und Suchen
Programmieren I Kapitel 7. Sortieren und Suchen Kapitel 7: Sortieren und Suchen Ziel: Varianten der häufigsten Anwendung kennenlernen Ordnung Suchen lineares Suchen Binärsuche oder Bisektionssuche Sortieren
Sortierte Folgen 250
Sortierte Folgen 250 Sortierte Folgen: he 1,...,e n i mit e 1 apple applee n kennzeichnende Funktion: M.locate(k):= addressof min{e 2 M : e k} Navigations Datenstruktur 2 3 5 7 11 13 17 19 00 Annahme:
Klausur Datenstrukturen und Algorithmen SoSe 2012
Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Jonathan Heinen, Thomas Ströder, Sabrina von Styp Klausur Datenstrukturen und Algorithmen SoSe 2012 Vorname: Nachname: Studiengang (bitte genau einen
Übersicht Datenstrukturen und Algorithmen. Literatur. Algorithmus: Wikipedia Definition. Vorlesung 1: Einführung. Prof. Dr.
Übersicht Datenstrukturen und Vorlesung 1: Prof. Dr. Erika Ábrahám Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/ datenstrukturen-und-algorithmen/ Diese Präsentation verwendet
Algorithmen und Datenstrukturen Wintersemester 2004/ November T(n) = T(n a) + T(a) + n
Lehrstuhl für Praktische Informatik III Norman May B6, 29, Raum C0.05 68131 Mannheim Telefon: (0621) 181 2517 Email: [email protected] Matthias Brantner B6, 29, Raum C0.05 68131 Mannheim
Übungsblatt 1. f(n) = f(n) = O(g(n)) g(n) = O(f(n)) Zeigen oder widerlegen Sie: 3 n = Θ(2 n ) Aufgabe 1.2 Gegeben sei die folgende Funktion:
Übungsblatt 1 Aufgabe 1.1 Beweisen oder widerlegen Sie, dass für die im Folgenden definierte Funktion f(n) die Beziehung f(n) = Θ(n 4 ) gilt. Beachten Sie, dass zu einem vollständigen Beweis gegebenenfalls
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 & Datenstrukturen 1. Klausur
Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse
Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen
Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 1 für die Übung
S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J
Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung
Programmiertechnik II
2007 Martin v. Löwis Priority Queues and Heapsort 2007 Martin v. Löwis 2 Priority Queue Abstrakter Datentyp Inhalt: Elemente mit Priorität Operationen: Einfügen: Angabe des Elements und seiner Priorität
Ü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
Untersuchen Sie, inwiefern sich die folgenden Funktionen für die Verwendung als Hashfunktion eignen. Begründen Sie Ihre Antwort.
Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder Tutoraufgabe 1 (Güte von Hashfunktionen): Untersuchen Sie, inwiefern sich die folgenden Funktionen
Suchen und Sortieren (Die klassischen Algorithmen)
Suchen und Sortieren (Die klassischen Algorithmen) Lineare Suche und Binäre Suche (Vorbedingung und Komplexität) Sortieralgorithmen (allgemein) Direkte Sortierverfahren (einfach aber langsam) Schnelle
Name: Seite 2. Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort.
Name: Seite 2 Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort. Aufgabe 1 (8 Punkte) 1. Wie viele negative Zahlen (ohne 0) lassen sich im 4-Bit-Zweierkomplement darstellen?
Name:... Vorname:... Matrikel-Nr.:... Unterschrift:...
Studiengang Bachelor of Computer Science Modulprüfung Praktische Informatik 1 Wintersemester 2010 / 2011 Name:... Vorname:... Matrikel-Nr.:... Unterschrift:... Hinweise: 1.) Schreiben Sie Ihren Namen und
16. All Pairs Shortest Path (ASPS)
. All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e
HEUTE. Datenstrukturen im Computer. Datenstrukturen. Rekursion. Feedback Evaluation. abstrakte Datenstrukturen
9.2.5 HUT 9.2.5 3 atenstrukturen im omputer atenstrukturen ie beiden fundamentalen atenstrukturen in der Praxis sind rray und Liste Rekursion Feedback valuation rray Zugriff: schnell Umordnung: langsam
Datenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen
Bäume, Suchbäume und Hash-Tabellen
Im folgenden Fokus auf Datenstrukturen, welche den assoziativen Zugriff (über einen bestimmten Wert als Suchkriterium) optimieren Bäume: Abbildung bzw. Vorberechnung von Entscheidungen während der Suche
Was bisher geschah ADT Menge mit Operationen: Suche nach einem Element Einfügen eines Elementes Löschen eines Elementes Realisierung durch
Was bisher geschah ADT Menge mit Operationen: Suche nach einem Element Einfügen eines Elementes Löschen eines Elementes Realisierung durch verschiedene Datenstrukturen: lineare Datenstrukturen: Array,
Informatik II Musterlösung
Ludwig-Maximilians-Universität München SS 2006 Institut für Informatik Übungsblatt 4 Prof. Dr. M. Wirsing, M. Hammer, A. Rauschmayer Informatik II Musterlösung Zu jeder Aufgabe ist eine Datei abzugeben,
Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.
Übersicht Datenstrukturen und Algorithmen Vorlesung 5: (K4) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.informatik.rwth-aachen.de/i2/dsal12/ 20.
Datenstrukturen. Mariano Zelke. Sommersemester 2012
Datenstrukturen Mariano Zelke Sommersemester 2012 Mathematische Grundlagen: Das Handwerkszeug Mariano Zelke Datenstrukturen 2/26 Formeln: n - i = n (n+1) 2 und - i=1 k i=0 a i = ak+1 1 a 1, falls a 1 Rechnen
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:
3. Musterlösung. Problem 1: Boruvka MST
Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner. Musterlösung Problem : Boruvka MST pt (a) Beweis durch Widerspruch. Sei T MST von G, e die lokal minimale Kante eines
Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:
Programmiertechnik II
Bäume Symboltabellen Suche nach Werten (items), die unter einem Schlüssel (key) gefunden werden können Bankkonten: Schlüssel ist Kontonummer Flugreservierung: Schlüssel ist Flugnummer, Reservierungsnummer,...
Algorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Mathematische Grundlagen
Grundlegende Sortieralgorithmen
Grundlegende Sortieralgorithmen Martin Wirsing in Zusammenarbeit mit Matthias Hölzl und Nora Koch Sortieren in Java Man kann Sortierverfahren in einem imperativem oder einem objektorientierten Stil programmieren.
Codes und Informationsgehalt
Aufgaben 2 Codes und Informationsgehalt Auf wie viele Dezimalziffern genau können vorzeichenlose ganze Zahlen in einem binären Code der Länge 32 bit dargestellt werden? 2 Codes und Informationsgehalt Auf
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
JAVA - Suchen - Sortieren
Übungen Informatik I JAVA - Suchen - Sortieren http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 Inhalt Suchen/Sortieren binary search mergesort bubblesort Übungen Informatik
Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz
Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz Datenstruktur BDD 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer: Booleschen Funktionen)
In vergleichsbasierten Suchbäumen wird nicht in Schlüssel hineingeschaut.
Binäre Suchbäume Tries (Folie 182, Seite 58 im Skript) In vergleichsbasierten Suchbäumen wird nicht in Schlüssel hineingeschaut. In Tries entspricht die ite Verzweigung dem iten Zeichen des Schlüssels.
Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra
Effiziente Algorithmen und Datenstrukturen I Kapitel 10: Lineare Algebra Christian Scheideler WS 2008 19.02.2009 Kapitel 10 1 Überblick Notation Arithmetik auf großen Zahlen (Addition und Multiplikation)
14. Rot-Schwarz-Bäume
Bislang: Wörterbuchoperationen bei binären Suchbäume effizient durchführbar, falls Höhe des Baums klein. Rot-Schwarz-Bäume spezielle Suchbäume. Rot-Schwarz-Baum mit n Knoten hat Höhe höchstens 2 log(n+1).
4 Greedy-Algorithmen (gierige Algorithmen)
Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine
Beispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6
Robert Elsässer u.v.a. Paderborn, 29. Mai 2008 Beispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6 Aufgabe 1 (6 Punkte): Zunächst sollte klar sein, daß ein vollständiger Binärer
! DBMS organisiert die Daten so, dass minimal viele Plattenzugriffe nötig sind.
Unterschiede von DBMS und files Speichern von Daten! DBMS unterstützt viele Benutzer, die gleichzeitig auf dieselben Daten zugreifen concurrency control.! DBMS speichert mehr Daten als in den Hauptspeicher
Programmieren ++ Begleitende Übungen zu Veranstaltungen + Umsetzen des Algorithmus in ein lauffähiges Programm
Studienanforderungen Studiengang Maschinenbau Programmieren Begleitende Übungen zu Veranstaltungen Umsetzen des Algorithmus in ein lauffähiges Programm Studiengang Bauingenieurwesen Programmieren Begleitende
Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?
Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum
Graphen: Datenstrukturen und Algorithmen
Graphen: Datenstrukturen und Algorithmen Ein Graph G = (V, E) wird durch die Knotenmenge V und die Kantenmenge E repräsentiert. G ist ungerichtet, wenn wir keinen Start- und Zielpunkt der Kanten auszeichnen.
Klausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte
Klausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte Musterlösung 1. Aufgabe (5 Punkte) Im folgenden Programmcode sind einige Fehler enthalten. Finden und markieren Sie mindestens
Algorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2015/16 12. Vorlesung Hashing Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Übungen Begründen Sie grundsätzlich alle Behauptungen außer die Aufgabe
ALP I. Funktionale Programmierung
ALP I Funktionale Programmierung Sortieren und Suchen (Teil 1) WS 2012/2013 Suchen 8 False unsortiert 21 4 16 7 19 11 12 7 1 5 27 3 8 False sortiert 2 4 6 7 9 11 12 18 21 24 27 36 Suchen in unsortierten
Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume
Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen
Einführung in die Informatik I Kapitel II.3: Sortieren
1 Einführung in die Informatik I Kapitel II.3: Sortieren Prof. Dr.-Ing. Marcin Grzegorzek Juniorprofessur für Mustererkennung im Institut für Bildinformatik Department Elektrotechnik und Informatik Fakultät
Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen
Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung
AVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl:
AVL-Bäume Analyse (Folie 85, Seite 39 im Skript) Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl: 0 falls n = 0 F n = 1 falls
Vorlesung 5: DATENSTRUKTUREN UND ALGORITHMEN
Vorlesung 5: DATENSTRUKTUREN UND ALGORITHMEN 125 Motivation! Wahl der Datenstruktur wichtiger Schritt beim Entwurf und der Implementierung von Algorithmen! Dünn besetzte Graphen und Matrizen bilden keine
Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder
Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013. Vorlesung 9, Dienstag 18.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013 Vorlesung 9, Dienstag 18. Dezember 2012 (Performance Tuning, Profiling, Maschinencode) Prof. Dr.
Suchen in Listen und Hashtabellen
Kapitel 12: Suchen in Listen und Hashtabellen Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Einleitung Lineare Suche Binäre Suche (in sortierten Listen) Hashverfahren
Einführung Elementare Datenstrukturen. Der Konstruktor muß den Listenkopf head erzeugen. Der Vorgänger und Nachfolger von head ist head selbst.
Einführung Elementare Datenstrukturen (Folie 38, Seite 23 im Skript) Der Konstruktor muß den Listenkopf head erzeugen. Der Vorgänger und Nachfolger von head ist head selbst. Einführung Elementare Datenstrukturen
8 Graphrepräsentation
Sanders / van Stee: Algorithmentechnik November, 7 1 8 Graphrepräsentation 1736 fragt L. Euler die folgende touristische Frage: Straßen- oder Computernetzwerke Zugverbindungen (Raum und Zeit) Soziale Netzwerke
Lösungsvorschläge. zu den Aufgaben im Kapitel 4
Lösungsvorschläge zu den Aufgaben im Kapitel 4 Aufgabe 4.1: Der KNP-Algorithmus kann verbessert werden, wenn in der Funktion nexttabelle die Zuweisung next[tabindex] = ruecksprung; auf die etwas differenziertere
Algorithmen und Datenstrukturen Laufzeitabschätzung
Algorithmen und Datenstrukturen Laufzeitabschätzung Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Lernziele der Vorlesung Algorithmen Sortieren, Suchen,
Kapitel 3. Speicherhierachie. Beispiel für Cache Effekte. Motivation Externspeicheralgorithmen. Motivation Für Beachtung von Cache Effekten
Kapitel 3 Algorithmen für große Datenmengen Motivation Externspeicheralgorithmen Es werden immer größere Datenmengen gesammelt (WWW, Medizin, Gentechnik ) Daten müssen auf großen externen Massenspeichern
Lösung zur Klausur zu Krypographie Sommersemester 2005
Lösung zur Klausur zu Krypographie Sommersemester 2005 1. Bestimmen Sie die zwei letzten Ziffern der Dezimaldarstellung von 12 34 Es gilt: 12 34 = 12 32+2 = 12 32 12 2 = 12 (25) 12 2 = ((((12 2 ) 2 ) 2
Kapiteltests zum Leitprogramm Binäre Suchbäume
Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm
Dateiorganisation und Zugriffsstrukturen
Dateiorganisation und Zugriffsstrukturen Prof. Dr. T. Kudraß 1 Mögliche Dateiorganisationen Viele Alternativen existieren, jede geeignet für bestimmte Situation (oder auch nicht) Heap-Dateien: Geeignet
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
Programmiertechnik II
Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen
Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung
Kapitel 6 Komplexität von Algorithmen 1 6.1 Beurteilung von Algorithmen I.d.R. existieren viele Algorithmen, um dieselbe Funktion zu realisieren. Welche Algorithmen sind die besseren? Betrachtung nicht-funktionaler
Algorithmentheorie Randomisierung. Robert Elsässer
Algorithmentheorie 03 - Randomisierung Robert Elsässer Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten
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
Kostenmaße. F3 03/04 p.188/395
Kostenmaße Bei der TM nur ein Kostenmaß: Ein Schritt (Konfigurationsübergang) kostet eine Zeiteinheit; eine Bandzelle kostet eine Platzeinheit. Bei der RAM zwei Kostenmaße: uniformes Kostenmaß: (wie oben);
Kostenmodell. Daniel Graf, Tobias Pröger. 22. September 2016 (aktualisierte Fassung 5 vom 9. Oktober 2016)
Kostenmodell Daniel Graf, Tobias Pröger 22. September 2016 (aktualisierte Fassung 5 vom 9. Oktober 2016) Erklärung: Diese Mitschrift ist als Ergänzung zur Vorlesung gedacht. Wir erheben keinen Anspruch
Überblick. Lineares Suchen
Komplexität Was ist das? Die Komplexität eines Algorithmus sei hierbei die Abschätzung des Aufwandes seiner Realisierung bzw. Berechnung auf einem Computer. Sie wird daher auch rechnerische Komplexität
Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen
Was bisher geschah abstrakter Datentyp : Signatur Σ und Axiome Φ z.b. ADT Menge zur Verwaltung (Finden, Einfügen, Entfernen) mehrerer Elemente desselben Typs Spezifikation einer Schnittstelle Konkreter
Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis
Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 13./14. VO DAP2 SS 2009 2./4. Juni 2009 1 2. Übungstest
Komplexität. G. Zachmann Clausthal University, Germany Leistungsverhalten von Algorithmen
lausthal Informatik II Komplexität von Algorithmen. Zachmann lausthal University, ermany [email protected] Leistungsverhalten von Algorithmen Speicherplatzkomplexität: Wird primärer & sekundärer
Einführung in die Informatik 1
Einführung in die Informatik 1 Datenorganisation und Datenstrukturen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 [email protected] Sprechstunde: Freitag, 12:30-14:00
Teil II: Prioritätslisten (Priority Queues)
Teil II: Prioritätslisten (Priority Queues)! Definition und Anwendungen! Binäre Heaps! Index-Heaps mit change- und remove-operation! Binomiale Heaps mit merge-operation Prof. Dr. O. Bittel, HTWG Konstanz
Laufzeit und Komplexität
Laufzeit und Komplexität Laufzeit eines Algorithmus Benchmarking versus Analyse Abstraktion Rechenzeit, Anzahl Schritte Bester, Mittlerer, Schlechtester Fall Beispiel: Lineare Suche Komplexitätsklassen
Fragen für die Klausuren
Fragen für die Klausuren Vom Quellcode zum ausführbaren Programm Was ist ein Quellcode? Ist der Quellcode von einem Programm auf unterschiedlichen Rechner gleich? Nennen Sie drei Programmiersprachen. Was
Sortieralgorithmen. Inhalt: InsertionSort BubbleSort QuickSort. Marco Block
Inhalt: InsertionSort BubbleSort QuickSort Block M.: "Java-Intensivkurs - In 14 Tagen lernen Projekte erfolgreich zu realisieren", Springer-Verlag 2007 InsertionSort I Das Problem unsortierte Daten in
Datenstruktur, die viele Operationen dynamischer Mengen unterstützt
Algorithmen und Datenstrukturen 265 10 Binäre Suchbäume Suchbäume Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Kann als Wörterbuch, aber auch zu mehr eingesetzt werden (Prioritätsschlange)
Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie
Stefan Schmid TU Berlin & T-Labs, Berlin, Germany Reduktionen in der Berechenbarkeitstheorie Problem: Wie komme ich von hier zum Hamburger Hbf? 2 Beispiel P1 Wie komme ich von hier zum Hamburger Hbf? kann
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
Algorithmen II Vorlesung am 15.11.2012
Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales
3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1
3.2 Binäre Suche Beispiel 6.5.1: Intervallschachtelung (oder binäre Suche) (Hier ist n die Anzahl der Elemente im Feld!) Ein Feld A: array (1..n) of Integer sei gegeben. Das Feld sei sortiert, d.h.: A(i)
Projekt Systementwicklung
Projekt Systementwicklung Effiziente Codierung: Laufzeitoptimierung Prof. Dr. Nikolaus Wulff Effiziente Codierung Der Wunsch effizienten Code zu schreiben entstammt mehreren Quellen: Zielplattformen mit
Komplexität von Algorithmen
Komplexität von Algorithmen Prof. Dr. Christian Böhm WS 07/08 in Zusammenarbeit mit Gefei Zhang http://www.dbs.informatik.uni-muenchen.de/lehre/nfinfosw Ressourcenbedarf - Größenordnungen Prozesse verbrauchen
Vorname:... Matrikel-Nr.:... Unterschrift:...
Fachhochschule Mannheim Hochschule für Technik und Gestaltung Fachbereich Informatik Studiengang Bachelor of Computer Science Algorithmen und Datenstrukturen Wintersemester 2003 / 2004 Name:... Vorname:...
