. Die obige Beschreibung der Laufzeit für ein bestimmtes k können wir also erweitern und erhalten die folgende Gleichung für den mittleren Fall:

Größe: px
Ab Seite anzeigen:

Download ". Die obige Beschreibung der Laufzeit für ein bestimmtes k können wir also erweitern und erhalten die folgende Gleichung für den mittleren Fall:"

Transkript

1 Laufzeit von Quicksort im Mittel. Wir wollen die erwartete Effizienz von Quicksort ermitteln. Wir nehmen an, die Wahrscheinlichkeit, dass das gewählte Pivot-Element a j das k-t kleinste Element der Folge ist, ist gleich für alle k =,..., n und damit ist gleich n. Die obige Beschreibung der Laufzeit für ein bestimmtes k können wir also erweitern und erhalten die folgende Gleichung für den mittleren Fall: T (n) = (n ) + n (T (k ) + T (n k)) n k= Bis auf die Reihenfolge, in der sie auftreten, sind die von den Ausdrücken T (k ) und T (n k) erzeugten Summanden gleich, deshalb lässt sich die Summe kürzer schreiben: = (n ) + 2 n T (k) n Wir multiplizieren auf beiden Seiten mit n und ersetzen n durch n : k=0 n nt (n) = n(n ) + 2 T (k) k=0 n 2 (n )T (n ) = (n )(n 2) + 2 T (k) Um T (n) und T (n ) miteinander in Verbindung zu bringen, ziehen wir die oberen beiden Zeilen voneinander ab und erhalten: k=0 nt (n) (n )T (n ) = 2(n ) + 2T (n ) nt (n) (n + )T (n ) = 2(n ) T (n) = n + T (n ) + 2(n n n ) Da lim 2 n n n = 2 lim n n n = 2, wird dieser Teil gestrichen und wir erhalten eine (hinreichend genaue) Ungleichung: T (n) n + T (n ) n Wir entwickeln die Formel ein weiteres mal, multiplizieren dann aus und erweitern beim Ergebnis die letzte 2 um den Faktor n+ n+ : T (n) n + ( n ) n n T (n 2) = n + + T (n 2) + 2n + 2 n + n n n + 7

2 Wir setzen noch einmal ein: = n + ( n ) n n 2 T (n 3) n n + n n + = n + + T (n 3) + 2n n 2 n + 2n n + n n + Wir können jetzt erahnen, wie die Folge aussieht. Um sie korrekt herzuleiten, müsste an dieser Stelle ein Induktionsbeweis geführt werden, aber uns genügt das intuitive Ergebnis: T (k) = n + n k + T (n k) + 2 n + n k n + n k n + n k n + 2n k + Setze k = n: T (n) = n + ( T (0) + 2(n + ) ) n + Zur Abschätzung dieser Formel benötigen wir die harmonischen Zahlen. Sie sind wie folgt definiert: H n = n k= k. Wir betrachten die Graphen der Funktionen f(x) = x und g(x) = x f(x) g(x) Hn Die harmonischen Zahl H n kann geometrisch interpretiert werden als die Größe der Fläche, die sich aus den Rechtecken mit den Flächen der Größe k für 8

3 alle k = {,..., n} zusammensetzt. Der Graph von f begrenzt diese Fläche offenbar von oben, der Graph von g von unten. Also können wir H n mit Hilfe von Integralen abschätzen. Da wir f nicht von 0 integrieren können, beginnen wir bei und addieren noch für das erste Rechteck hinzu. H n H n n n 0 dx + = + ln n ln = + ln n x dx = ln(n + ) x + Die Abschätzung ist recht genau: Der Unterschied zwischen den Schranken ist höchstens (genauer: die Euler-(Mascheroni-)Konstante, also 0, ). Es gilt somit: H n = Θ(ln n) bzw. sogar H n = ln n + Θ() Nun ist es uns möglich, die erwartete Laufzeit von Quicksort abzuschätzen: T (n) 2(n + )(H n+ ) 2(n + ) ln n + = 2n ln n + Θ(ln n) Umgerechnet in den Zweierlogarithmus: T (n) 2n log n log e + Θ(log n),38n log n + Θ(log n) Zusammengefasst haben wir folgende Laufzeiten für die Algorithmen Mergesort (A4) und Quicksort (A4) ermittelt: Mergesort: n log n+ lineare Terme Quicksort:,38n log n+ logarithmische Terme Ein erster Vergleich zeigt, dass Quicksort etwa um den Faktor,38 langsamer ist. Wir werden gleich darauf zurück kommen, warum dies in der Praxis etwas anders aussieht. Vergleich der 4 Algorithmen in der Praxis. Einige Zahlen sollen zeigen, dass der Unterschied der Algorithmen bei realer Rechenzeit trotz immer schneller werdender Prozessoren noch erheblich ist und ein Nachdenken über effiziente Algorithmen sich durchaus lohnt. 9

4 Die Anzahl der durchgeführten Vergleiche bei einer Eingabe der Länge n: n n log n 2 n2 n 2 n! , , , Größe der Probleme, die eine Maschine mit 0 9 Vergleichen pro Sekunde mittels der Algorithmen lösen kann: n log n 2 n2 n 2 n! Sekunde , Stunde 0 2, Dasselbe für eine 0-mal schnellere Maschine: n log n 2 n2 n 2 n! Sekunde 3,5 0 8, Stunde 9, 0 8, Man sieht: Bei schneller werdendem Rechner wächst die Größe der berechenbaren Probleme bei schlechten Algorithmen entsprechend langsam bei dem Algorithmus, der alle Permutationen eines Arrays durchgeht, um den sortierten zu finden, kann hier mit einem 0-mal schnelleren Rechner gerade mal ein um ein Feld längeres Array berechnet werden. Vergleich von Quicksort und Mergesort. Wenn man, wie hier, nur die Anzahl der Vergleiche als Maß nimmt, ist Mergesort zwar schneller, in der Realität wird aber Quicksort effizienter sein, weil es weniger Daten im Speicher lesen und schreiben muss. Bei Mergesort müssen die Daten in zwei getrennten Arrays abgelegt werden, Quicksort kann immer im selben Array operieren. Bei einer großen Anzahl von Vergleichen (bei einem handelsüblichen PC bei ca ) sieht man deshalb auch einen deutlichen Anstieg des Aufwands bei Mergesort. Dies liegt daran, dass irgendwann der Hauptspeicher voll ist und der Hintergrundspeicher (Swap) benutzt werden muss. Es gibt einen eigenen Zweig der Forschung, der Algorithmen entwickelt, die den Zugriff auf den Hintergrundspeicher vermeiden oder minimieren, weil es durchaus Probleme gibt, die derart viel Platz brauchen, dass dies stark ins Gewicht fällt. Beispiele finden sich etwa in der Meteorologie, wo Programme mit Millionen von Einzeldaten operieren..2 Berechnungsmodelle Berechnungsmodelle sind mathematische Modelle für Rechner, die verwendet werden, um präzise Aussagen über Berechnungen treffen zu können. Begriffe wie etwa Algorithmus, Laufzeit oder Speicher werden mit ihnen formal definiert. Das bekannteste Beispiel ist wohl die 936 von Alan Turing entwickelte 0

5 Turingmaschine, die in dieser Vorlesung aber nicht eigens wiederholt wird. Definition.2. (Registermaschine (Random Access Machine, RAM)). Eine Registermaschine besteht aus einem unendlichen, aus den Zellen R 0, R,... bestehenden Speicher. Diese können jeweils eine beliebig große ganze Zahl enthalten. Die Unbegrenztheit von Speicher und Inhalt einer Zelle stellen somit jeweils eine Abstraktion von realen Computern dar. Ein Programm ist eine endliche Folge von Befehlen. Ein Beispiel-Befehlssatz könnte etwa wie folgt aussehen. Ein in klammern gesetztes Register (R i ) steht hier für den Wert der Speicherzelle R j, wobei j der Wert von R i ist. A := B op C wobei A : R i oder (R i ), i N 0 B, C : R i oder (R i ), i N 0 oder Konstante k N 0 op {+,,, /} A := B goto L GGZ B, L gehe nach L, wenn B > 0 GLZ B, L gehe nach L, wenn B < 0 wobei L eine Zeile des Programms ist GZ B, L gehe nach L, wenn B = 0 HALT Beende Abarbeitung des Programms Jedem Befehl kann man so eine Semantik zuordnen. Auch dies kann man formalisieren den Zustand einer RAM kann man beschreiben, indem man mit einer Funktion c : N Z angibt, welcher Wert in jeder Speicherzelle steht. Wenn man dazu eine eine Menge von Funktionen definiert, die für jeden Zustand und jeden Befehl den Folgezustand angeben, hätte man eine vollständige operationelle Semantik. Definition.2.2 (Berechnung einer Funktion auf einer RAM). Eine Registermaschine R berechnet eine Funktion f : Z Z bedeutet: Falls in den ersten m Speicherzellen eine Folge a 0,..., a m steht, rechnet R (läuft, bis es zu einem HALT-Befehl kommt) und hat dann f(a 0,..., a m ) = (b 0,..., b n ) in die ersten Speicherzellen geschrieben..2. Laufzeit und Speicherbedarf einer RAM Wir wollen nun die Laufzeit und den Speicherbedarf eine RAM formal definieren. Dafür gibt es verschiedene Kriterien, von denen hier zwei vorgestellt werden. Das Einheitskostenmaß (EKM): Man nimmt an, dass erstens die Ausführung von jedem Befehl indifferent eine Zeiteinheit kostet, und dass zweitens ein Register unabhängig von seinem Inhalt eine Speichereinheit belegt. Dieses Maß ist Proportional zu den Kosten auf einem normalen Rechner, aber nur für beschränkt große Operanden: In der Realität wird eine Addition von zwei 000-stelligen Zahlen mehr kosten als die von 2 oder 3-stelligen, weil eine 000-stellige Zahl auf einem tatsächlichen Computer nicht von einem einzigen Register/ einer einzelnen Speicherstelle dargestellt wird.

6 Das logarithmische Kostenmaß: Beim logarithmischen Kostenmaß geht die Größe der Zahlen, mit denen man operiert, in die Berechnung der Kosten mit ein. Außerdem unterscheidet man, auf welches Register man zugreift. Wenn n eine Zahl ist, sei L(n) die Länge der Binärdarstellung von n. Ein Befehl kostet dann k L(k), wobei k als Wert alle involvierten Adressen und die Werte aller Operanden annimmt. 2

P, NP und NP -Vollständigkeit

P, NP und NP -Vollständigkeit P, NP und NP -Vollständigkeit Mit der Turing-Maschine haben wir einen Formalismus kennengelernt, um über das Berechenbare nachdenken und argumentieren zu können. Wie unsere bisherigen Automatenmodelle

Mehr

T (n) = max. g(x)=n t(n) S(n) = max. g(x)=n s(n)

T (n) = max. g(x)=n t(n) S(n) = max. g(x)=n s(n) Beim Logarithmischen Kostenmaß wird, im Gegensatz zum EKM, die Stelligkeit der Werte berücksichtigt und mit in die Laufzeit eingerechnet. Beispiel: R1 := R2 (R3), wobei R2 den Wert 5, R3 den Wert 10 und

Mehr

Probleme, Komplexität, Berechnungsmodelle

Probleme, Komplexität, Berechnungsmodelle Kapitel 1 Probleme, Komplexität, Berechnungsmodelle In der Vorlesung soll erlernt werden, Algorithmen - das sind wohldefinierte Verfahren zur Lösung von Problemen - zu entwerfen und zu analysieren. In

Mehr

3. RAM als Rechnermodell

3. RAM als Rechnermodell 3. RAM als Rechnermodell Motivation Wir möchten Berechnungsvorschriften (Algorithmen) formal beschreiben und deren Eigenschaften wie Korrektheit und Laufzeit analysieren Rechnermodell abstrahiert vom verwendeten

Mehr

Informatik I Komplexität von Algorithmen

Informatik 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

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

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) 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

Mehr

Algorithmen und Datenstrukturen Effizienz und Funktionenklassen

Algorithmen und Datenstrukturen Effizienz und Funktionenklassen Algorithmen und Datenstrukturen Effizienz und Funktionenklassen Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Lernziele der Vorlesung Algorithmen Sortieren,

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 2011 Übungsblatt 1 16. September 2011 Grundlagen: Algorithmen und

Mehr

Algorithmen & Komplexität

Algorithmen & Komplexität Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik Was ist ein Algorithmus? Ein Algorithmus ist eine eindeutige Handlungsvorschrift, [bestehend] aus endlich vielen, wohldefinierten

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Einleitung und Grundlagen Maike Buchin 18.4.2017 Verantwortliche Dozentin Organisation der Übungen Übungsleiter Korrekteure Maike Buchin Maike.Buchin@rub.de Raum NA 1/70 Sprechzeiten:

Mehr

1 Random Access Maschine

1 Random Access Maschine 1 RANDOM ACCESS MASCHINE 1 1 Random Access Maschine Neue Hardware: Random Access Maschine = RAM. Der Name hat nichts mit Zufall zu tun, sondern mit wahlfreiem Zugriff. Die RAM besteht aus einem Eingabeband,

Mehr

Überblick. F3 01/02 p.295/325

Überblick. F3 01/02 p.295/325 Überblick fn := 3fn-1 + 4fn-2 + 1 Beispiele für Rekurrenzen Beweisen Raten Summen Abwickeln Formelsammlung Chaos?! Suche nach einer Systematik F3 01/02 p.295/325 Allgemeines Verfahren Bestimmung einer

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 32 Einstieg in die Informatik mit Java Effizienz Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 32 1 Überblick: was ist Effizienz? 2 Landau-Symbole 3 Eier im Korb 4

Mehr

Die Fakultät. Thomas Peters Thomas Mathe-Seiten 13. September 2003

Die Fakultät. Thomas Peters Thomas Mathe-Seiten  13. September 2003 Die Fakultät Thomas Peters Thomas Mathe-Seiten www.mathe-seiten.de 3. September 2003 Dieser Artikel gibt die Definition der klassischen Fakultät und führt von dort aus zunächst zu der Anwendung in Taylor-Reihen

Mehr

Übung zur Vorlesung Berechenbarkeit und Komplexität

Übung zur Vorlesung Berechenbarkeit und Komplexität RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein

Mehr

Theoretische Informatik. Berechenbarkeit

Theoretische Informatik. Berechenbarkeit Theoretische Informatik Berechenbarkeit 1 Turing Maschine Endlicher Automat mit unendlichem Speicher Ein Modell eines realen Computers Was ein Computer berechnen kann, kann auch eine TM berechnen. Was

Mehr

2. Grundlagen. Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten.

2. Grundlagen. Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten. 2. Grundlagen Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten. Laufzeitverhalten beschreiben durch O-Notation. 1 Beispiel Minimum-Suche Eingabe bei Minimum

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 31 Einstieg in die Informatik mit Java Effizienz Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 31 1 Überlegungen zur Effizienz 2 Landau-Symbole 3 Eier im Korb 4 Zyklische

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2016 Patrick Schäfer, Humboldt-Universität zu Berlin Organisation Vorlesung: Montag 11 13 Uhr Marius Kloft RUD 26, 0 115 Mittwoch 11 13 Uhr Marius Kloft

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Registermaschine David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Registermaschinen Algorithmusbegriff konkretisiert formale Beschreibung

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 011 Übungsblatt 30. Mai 011 Grundlagen: Algorithmen und Datenstrukturen

Mehr

Formaler. Gegeben: Elementfolge s = e 1,...,e n. s ist Permutation von s e 1 e n für eine lineare Ordnung ` '

Formaler. Gegeben: Elementfolge s = e 1,...,e n. s ist Permutation von s e 1 e n für eine lineare Ordnung ` ' Sortieren & Co 164 165 Formaler Gegeben: Elementfolge s = e 1,...,e n Gesucht: s = e 1,...,e n mit s ist Permutation von s e 1 e n für eine lineare Ordnung ` ' 166 Anwendungsbeispiele Allgemein: Vorverarbeitung

Mehr

( )= c+t(n-1) n>1. Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3)

( )= c+t(n-1) n>1. Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Motivation: IT gestützte Steuerung, Überwachung, Fertigung, Produktion,. : erfordert effiziente Berechnungsvorschriften Ziel: Methoden kennen

Mehr

Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen

Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 25. Oktober 2006 Was ist ein Problem? Informelle Umschreibung

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2017 Marc Bux, Humboldt-Universität zu Berlin Organisatorisches Vorlesung: Montag 11 13 Uhr Ulf Leser RUD 26, 0 115 Mittwoch 11 13 Uhr Ulf Leser RUD

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

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

Mehr

Algorithmentheorie 2. Vorlesung

Algorithmentheorie 2. Vorlesung Algorithmentheorie 2. Vorlesung Martin Dietzfelbinger 13. April 2006 FG KTuEA, TU Ilmenau AT 13.04.2006 Maschinenmodelle Registermaschinen (RAMs) bearbeiten Zahlen Turingmaschinen (TMn) bearbeiten Wörter/Strings/Zeichenfolgen

Mehr

Chaos?! Überblick. Beispiele für Rekurrenzen. fn := 3fn-1 + 4fn Beweisen. Abwickeln. Raten Summen. Formelsammlung. Suche nach einer Systematik

Chaos?! Überblick. Beispiele für Rekurrenzen. fn := 3fn-1 + 4fn Beweisen. Abwickeln. Raten Summen. Formelsammlung. Suche nach einer Systematik Überblick fn := 3fn-1 + 4fn-2 + 1 Beispiele für Rekurrenzen Beweisen Raten Summen Abwickeln Formelsammlung Chaos?! Suche nach einer Systematik F3 03/04 p.294/395 Allgemeines Verfahren Bestimmung einer

Mehr

Ein sortiertes Feld kann in O(log n) durchsucht werden, z.b. mit Binärsuche. Der Algorithmus 1 gibt den Pseudocode der binären Suche an.

Ein sortiertes Feld kann in O(log n) durchsucht werden, z.b. mit Binärsuche. Der Algorithmus 1 gibt den Pseudocode der binären Suche an. 2.5 Suchen Eine Menge S will nach einem Element durchsucht werden. Die Menge S ist statisch und S = n. S ist Teilmenge eines Universums auf dem eine lineare Ordnung definiert ist und soll so gespeichert

Mehr

Die Euler-Mascheroni-Konstante

Die Euler-Mascheroni-Konstante Die Euler-Mascheroni-Konstante Niloufar Rahi Ausarbeitung zum Vortrag in Überraschungen und Gegenbeispiele in der Analysis (Sommersemester 009, Leitung PD Dr. Gudrun Thäter) Zusammenfassung: Wenn von der

Mehr

Definition der Kolmogorov-Komplexität I

Definition der Kolmogorov-Komplexität I Definition der Kolmogorov-Komplexität I Definition: Die Komplexität K A (x) eines Wortes x V + bezüglich des Algorithmus A ist die Länge der kürzesten Eingabe p {0, 1} + mit A(p) = x, d.h. in formalisierter

Mehr

Ordnen Sie die folgenden Funktionen nach ihrer asymptotischer Komplexität in aufsteigender Reihenfolge: i=1 4i + n = 4 n. i=1 i + 3n = 4 ( n(n+1)

Ordnen Sie die folgenden Funktionen nach ihrer asymptotischer Komplexität in aufsteigender Reihenfolge: i=1 4i + n = 4 n. i=1 i + 3n = 4 ( n(n+1) für Informatik Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder Tutoraufgabe (Asymptotische Komplexität): Ordnen Sie die folgenden Funktionen nach

Mehr

Berechenbarkeit und Komplexität

Berechenbarkeit und Komplexität Teil II: Berechenbarkeit und Komplexität Algorithmen und Komplexität 22. November 2016 Berechenbarkeitstheorie RAM-Maschine 1: M 1 1 2: M 0 1 3: M 0 M 0 M 1 4: M 2 M 2 M 1 5: GOTO 3 IF M 2 > 0. M 2 : M

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 3 (27.4.2014) O-Notation, Asymptotische Analyse, Sortieren III Algorithmen und Komplexität Selection Sort Algorithmus SelectionSort (informell):

Mehr

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit ** i=1

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit ** i=1 Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 05/06 ITI Wagner. Musterlösung Problem : Average-case-Laufzeit vs. Worst-case-Laufzeit ** (a) Im schlimmsten Fall werden für jedes Element

Mehr

Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3)

Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Technische Universität München Motivation: IT gestützte Steuerung, Überwachung, Fertigung, Produktion,. : erfordert effiziente Berechnungsvorschriften

Mehr

Das O-Tutorial. 1 Definition von O, Ω, Θ, o und ω

Das O-Tutorial. 1 Definition von O, Ω, Θ, o und ω Definition von O, Ω, Θ, o und ω Das O-Tutorial Seien f und g zwei Funktionen von N nach R 0. Hierbei bezeichne R 0 die nicht-negativen reellen Zahlen. Die Funktionsmengen O, Ω, Θ, o und ω sind wie folgt

Mehr

Abschnitt 7: Komplexität von imperativen Programmen

Abschnitt 7: Komplexität von imperativen Programmen Abschnitt 7: Komplexität von imperativen Programmen 7. Komplexität von imperativen Programmen 7 Komplexität von imperativen Programmen Einf. Progr. (WS 08/09) 399 Ressourcenbedarf von Algorithmen Algorithmen

Mehr

5. Übungsblatt zu Algorithmen I im SoSe 2016

5. Übungsblatt zu Algorithmen I im SoSe 2016 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Dennis Hofheinz Lukas Barth, Lisa Kohl 5. Übungsblatt zu Algorithmen I im SoSe 2016 https://crypto.iti.kit.edu/index.php?id=algo-sose16

Mehr

2.2 Allgemeine (vergleichsbasierte) Sortierverfahren

2.2 Allgemeine (vergleichsbasierte) Sortierverfahren . Allgemeine (vergleichsbasierte) Sortierverfahren Vergleichsbaum: Der Aufbau des Verbleichsbaum ist für jeden Algorithmus und jede Eingabelänge n gleich. Jede Permutation der Eingabe, muss zu einem anderen

Mehr

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele. 1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Einführende Beispiele 2. Algorithmen Täglich werden Verarbeitungsvorschriften

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2015 Marc Bux, Humboldt-Universität zu Berlin Organisation Vorlesung: Montag 11 13 Uhr Ulf Leser RUD 26, 0 115 Mittwoch 11 13 Uhr Ulf Leser RUD 26,

Mehr

Infovorkurs, Teil II: Theoretische Informatik. Motivation. Turing-Maschine. Programmiersprachen

Infovorkurs, Teil II: Theoretische Informatik. Motivation. Turing-Maschine. Programmiersprachen Infovorkurs, Teil 08.10.2015 Webseite Mittlerweile gibt es die Folien und die Übungen online. Außerdem die Ergebnisse der Umfrage! Ich empfehle auch die Links. www.geile-hirnbude.de/vorkurs Rückblick Haben

Mehr

Notation für das asymptotische Verhalten von Funktionen

Notation für das asymptotische Verhalten von Funktionen Vorbemerkungen: Notation für das asymptotische Verhalten von Funktionen 1. Aussagen über die Komplexität von Algorithmen und von Problemen sollen (in der Regel) unabhängig von speziellen Maschinenmodellen

Mehr

Zunächst ein paar einfache "Rechen"-Regeln: Lemma, Teil 1: Für beliebige Funktionen f und g gilt:

Zunächst ein paar einfache Rechen-Regeln: Lemma, Teil 1: Für beliebige Funktionen f und g gilt: Der Groß-O-Kalkül Zunächst ein paar einfache "Rechen"-Regeln: G. Zachmann Informatik 1 - WS 05/06 Komplexität 22 Additionsregel Lemma, Teil 1: Für beliebige Funktionen f und g gilt: Zu beweisen: nur das

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Die Landau-Notation (Wiederholung und Vertiefung) 2. Vorbereitung Aufgabenblatt 1, Aufgabe 1

Mehr

Dank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung

Dank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung Dank Vorlesung Theoretische Informatik II Bernhard Beckert Institut für Informatik Diese Vorlesungsmaterialien basieren zum Teil auf den Folien zu den Vorlesungen von Katrin Erk (gehalten an der Universität

Mehr

$Id: reihen.tex,v /06/12 10:59:50 hk Exp $ unendliche Summe. a 1 + a 2 + a 3 +.

$Id: reihen.tex,v /06/12 10:59:50 hk Exp $ unendliche Summe. a 1 + a 2 + a 3 +. Mathematik für Informatiker B, SS 202 Dienstag 2.6 $Id: reihen.tex,v.8 202/06/2 0:59:50 hk Exp $ 7 Reihen Eine Reihe ist eine unendliche Summe a + a 2 + a 3 +. Die Summanden a i können dabei reell oder

Mehr

Mächtigkeit von WHILE-Programmen

Mächtigkeit von WHILE-Programmen Mächtigkeit von WHILE-Programmen und rekursive Funktionen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 16. November 2010 Berthold Vöcking, Informatik 1 () Vorlesung

Mehr

Algorithmen und Datenstrukturen 1 Kapitel 5

Algorithmen und Datenstrukturen 1 Kapitel 5 Algorithmen und Datenstrukturen 1 Kapitel 5 Technische Fakultät robert@techfak.uni-bielefeld.de Vorlesung, U. Bielefeld, Winter 2005/2006 Kapitel 5: Effizienz von Algorithmen 5.1 Vorüberlegungen Nicht

Mehr

Algorithmenbegriff: Berechenbarkeit. Algorithmenanalyse. (Berechnung der Komplexität)

Algorithmenbegriff: Berechenbarkeit. Algorithmenanalyse. (Berechnung der Komplexität) Über-/Rückblick Algorithmenbegriff: Berechenbarkeit Turing-Maschine RAM µ-rekursive Funktionen Zeit Platz Komplexität Algorithmentechniken Algorithmenanalyse (Berechnung der Komplexität) Rekursion Iteration

Mehr

Prof. Dr. Margarita Esponda

Prof. Dr. Margarita Esponda Analyse von Algorithmen Die O-Notation WS 2012/2013 Prof. Dr. Margarita Esponda Freie Universität Berlin 1 Korrekte und effiziente Lösung von Problemen Problem Wesentlicher Teil der Lösung eines Problems.

Mehr

3.3 Laufzeit von Programmen

3.3 Laufzeit von Programmen 3.3 Laufzeit von Programmen Die Laufzeit eines Programmes T(n) messen wir als die Zahl der Befehle, die für die Eingabe n abgearbeitet werden Betrachten wir unser Programm zur Berechnung von Zweierpotenzen,

Mehr

Objektorientierte Programmierung VL: Prof. Dr. Marco Block-Berlitz - Freie Universität Berlin Proinformatik III

Objektorientierte Programmierung VL: Prof. Dr. Marco Block-Berlitz - Freie Universität Berlin Proinformatik III Objektorientierte Programmierung VL: Prof. Dr. Marco Block-Berlitz - Freie Universität Berlin Proinformatik III Text: Hinnerk van Bruinehsen - Grafiken: Jens Fischer powered by SDS.mint SoSe 2011 1 Teil

Mehr

Wir wollen nun die Behauptung beweisen, dass die Laufzeit von SELECT linear ist, also dass T (n) = O(n) gilt.

Wir wollen nun die Behauptung beweisen, dass die Laufzeit von SELECT linear ist, also dass T (n) = O(n) gilt. Abschätzung für die Rekursion von SELECT Wir wollen nun die Behauptung beweisen, dass die Laufzeit von SELECT linear ist, also dass T (n) = O(n) gilt. Wir nehmen erst einmal an, dass eine Konstante d existiert,

Mehr

Mächtigkeit von WHILE-Programmen

Mächtigkeit von WHILE-Programmen Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 23 Turingmaschine (TM) M = (Q, Σ, Γ, B, q 0, q, δ) Unendliches Band... 0 c

Mehr

Algorithmen und Komplexität, Teil II: Berechenbarkeit und Komplexität

Algorithmen und Komplexität, Teil II: Berechenbarkeit und Komplexität Algorithmen und Komplexität, Teil II: Berechenbarkeit und Komplexität Ralph Keusch 21. November 2017 Berechenbarkeitstheorie RAM-Maschine 1: M 1 1 2: M 0 1 3: M 0 M 0 M 1 4: M 2 M 2 M 1 5: GOTO 3 IF M

Mehr

ALP I Turing-Maschine

ALP I Turing-Maschine ALP I Turing-Maschine Teil I WS 2012/2013 Äquivalenz vieler Berechnungsmodelle Alonzo Church λ-kalkül Kombinatorische Logik Alan Turing Turing-Maschine Mathematische Präzisierung Effektiv Berechenbare

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Vorrechnen von Aufgabenblatt 1. Wohlgeformte Klammerausdrücke 3. Teile und Herrsche Agenda 1.

Mehr

Rekursionen (Teschl/Teschl 8.1/8.2)

Rekursionen (Teschl/Teschl 8.1/8.2) Rekursionen (Teschl/Teschl 8.1/8.2) treten in vielen Algorithmen auf: Eine Rekursion ist eine Folge von Zahlen a 0, a 1, a 2,.., bei der jedes a n aus seinen Vorgängern berechnet wird: Beispiele a n =

Mehr

Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990.

Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990. Ein polynomieller Algorithmus für das N-Damen Problem 1 Einführung Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre

Mehr

Klausur Algorithmen und Datenstrukturen SS August Arbeitszeit 90 min

Klausur Algorithmen und Datenstrukturen SS August Arbeitszeit 90 min TU Ilmenau, Fakultät für Informatik und Automatisierung FG Komplexitätstheorie und Effiziente Algorithmen Univ.-Prof. Dr. M. Dietzfelbinger, Dipl.-Ing. C. Mattern Klausur Algorithmen und Datenstrukturen

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2016 Marc Bux, Humboldt-Universität zu Berlin Organisation Vorlesung: Montag 11 13 Uhr Marius Kloft RUD 26, 0 115 Mittwoch 11 13 Uhr Marius Kloft RUD

Mehr

Bayern Teil 1. Aufgabe 1. Abitur Mathematik: Musterlösung. Der Term unter der Wurzel darf nicht negativ werden. Es muss also gelten:

Bayern Teil 1. Aufgabe 1. Abitur Mathematik: Musterlösung. Der Term unter der Wurzel darf nicht negativ werden. Es muss also gelten: Abitur Mathematik: Bayern 2013 Teil 1 Aufgabe 1 a) 1. SCHRITT: DEFINITIONSMENGE BESTIMMEN Der Term unter der Wurzel darf nicht negativ werden. Es muss also gelten: 3x + 9 0 x 3 2. SCHRITT: NULLSTELLEN

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Technische Universität München SoSe 2017 Fakultät für Informatik, I-16 Lösungsblatt 4 Dr. Stefanie Demirci 31. Mai 2017 Rüdiger Göbl, Mai Bui Algorithmen und Datenstrukturen Aufgabe 1 Komplexität Berechnung

Mehr

Registermaschine (RAM), Church-Turing-These. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

Registermaschine (RAM), Church-Turing-These. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Registermaschine (RAM), Church-Turing-These Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 22 Registermaschinen (RAM) Programm b c(0) c(1) c(2) c(3) c(4)...

Mehr

5. Übungsblatt zu Algorithmen II im WS 2017/2018

5. Übungsblatt zu Algorithmen II im WS 2017/2018 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders Dr. Thomas Worsch, Dr. Simon Gog Demian Hespe, Yaroslav Akhremstev 5. Übungsblatt zu Algorithmen II im WS

Mehr

$Id: integral.tex,v /05/05 14:57:29 hk Exp hk $ ln(1 + t) 2 = ln 2 ln 3 + ln 2 = ln

$Id: integral.tex,v /05/05 14:57:29 hk Exp hk $ ln(1 + t) 2 = ln 2 ln 3 + ln 2 = ln $Id: integral.tex,v.5 2009/05/05 4:57:29 hk Exp hk $ 2 Integralrechnung 2.3 Die Integrationsregeln Wir wollen noch eine letzte kleine Anmerkung zur Substitutionsregel machen. Der letzte Schritt bei der

Mehr

6.4 Entscheidbarkeit. nein sein müssen, ist klar. THEO 6.4 Entscheidbarkeit 205/307 c Ernst W. Mayr

6.4 Entscheidbarkeit. nein sein müssen, ist klar. THEO 6.4 Entscheidbarkeit 205/307 c Ernst W. Mayr 6.4 Entscheidbarkeit Wortproblem Leerheit Äquivalenz Schnittproblem Typ 3 ja ja ja ja DCFL ja ja ja nein (*) Typ 2 ja ja nein (*) nein Typ 1 ja nein (*) nein nein Typ 0 nein (*) nein nein nein (*) Diese

Mehr

Asymptotische Komplexität

Asymptotische Komplexität Asymptotische Komplexität f B n hängt wesentlich von der Variablen x i ab,, 1 i n, wenn es Werte a j für 1 j n, j i, derart gibt, dass f(a 1,..., a i 1, 0, a i+1,..., a n ) f(a 1,..., a i 1, 1, a i+1,...,

Mehr

Asymptotik und Laufzeitanalyse

Asymptotik und Laufzeitanalyse und Vorkurs Informatik SoSe13 08. April 2013 und Algorithmen = Rechenvorschriften Wir fragen uns: Ist der Algorithmus effizient? welcher Algorithmus löst das Problem schneller? wie lange braucht der Algorithmus

Mehr

Kapitel 1 Parallele Modelle Wie rechnet man parallel?

Kapitel 1 Parallele Modelle Wie rechnet man parallel? PRAM- PRAM- DAG- R UND R Coles und Kapitel 1 Wie rechnet man parallel? Vorlesung Theorie Paralleler und Verteilter Systeme vom 11. April 2008 der Das DAG- Das PRAM- Das werkmodell Institut für Theoretische

Mehr

Übung zu Algorithmen und Datenstrukturen (für ET/IT)

Ü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

Mehr

Grundlagen: Algorithmen und Datenstrukturen

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

Mehr

Monotone Approximationen durch die Stirlingsche Formel. Wir beginnen mit einem einfachen Beweis einer schwachen Form von Stirlings

Monotone Approximationen durch die Stirlingsche Formel. Wir beginnen mit einem einfachen Beweis einer schwachen Form von Stirlings Monotone Approximationen durch die Stirlingsche Formel Wir beginnen mit einem einfachen Beweis einer schwachen Form von Stirlings Formel für n!: e n n e n n! e n n+/2 e n Genauer zeigen wir, dass die Folge

Mehr

Kapitel 2. Weitere Beispiele Effizienter Algorithmen

Kapitel 2. Weitere Beispiele Effizienter Algorithmen Kapitel 2 Weitere Beispiele Effizienter Algorithmen Sequentielle Suche Gegeben: Array a[1..n] Suche in a nach Element x Ohne weitere Zusatzinformationen: Sequentielle Suche a[1] a[2] a[3] Laufzeit: n Schritte

Mehr

Syntax von LOOP-Programmen

Syntax von LOOP-Programmen LOOP-Berechenbarkeit Syntax von LOOP-Programmen Definition LOOP-Programme bestehen aus: Variablen: x 0, x 1, x 2, x 3,... Konstanten: 0, 1, 2, 3,... Trennsymbolen:; und := Operationen: + und Befehlen:

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 2 (23.4.2018) Sortieren II, Asymptotische Analyse, O-Notation Algorithmen und Komplexität Laufzeit Zeitmessung SelectionSort n 2 Laufzeit/n

Mehr

Die Komplexitätsklassen P und NP

Die Komplexitätsklassen P und NP Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen November 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und

Mehr

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07 Vortrag am 17.11.2006 Nichtdeterministische Turingmaschinen und NP Yves Radunz Inhaltsverzeichnis 1 Wiederholung 3 1.1 Allgemeines........................................

Mehr

Einführung (1/3) Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (1) Vorlesungen zur Komplexitätstheorie.

Einführung (1/3) Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (1) Vorlesungen zur Komplexitätstheorie. Einführung (1/3) 3 Wir verfolgen nun das Ziel, Komplexitätsklassen mit Hilfe von charakteristischen Problemen zu beschreiben und zu strukturieren Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit

Mehr

Mathematik II für Studierende der Informatik (Analysis und lineare Algebra) im Sommersemester 2018

Mathematik II für Studierende der Informatik (Analysis und lineare Algebra) im Sommersemester 2018 (Analysis und lineare Algebra) im Sommersemester 2018 2. Juli 2018 1/1 Wir geben einige wesentliche Sätze über bestimmte Integrale an, deren Beweise man in den Standardlehrbüchern der Analysis findet.

Mehr

Algorithmen für die Speicherhierarchie

Algorithmen für die Speicherhierarchie und : Obere und n [Aggarwal, Vitter 1988] Lehrstuhl für Effiziente Algorithmen Fakultät für Informatik Technische Universität München Vorlesung 22. Oktober 2007 k-wege Merge Verschmelzen und I/O eispiel

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Rekursion

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Rekursion Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Rekursion Rekursion Neue Denkweise Wikipedia: Als Rekursion bezeichnet man den Aufruf

Mehr

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen?

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen? Einige Fragen Ziel: Wir suchen Antworten auf die folgenden Fragen: Wie kann man das intuitiv Berechenbare formal fassen? Was ist ein Algorithmus? Welche Indizien hat man dafür, dass ein formaler Algorithmenbegriff

Mehr

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013 Vorlesung 3, Donnerstag 7.

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013 Vorlesung 3, Donnerstag 7. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013 Vorlesung 3, Donnerstag 7. November 2013 (O-Notation, Theta, Omega) Junior-Prof. Dr. Olaf Ronneberger

Mehr

Quantenalgorithmus für die Faktorisierung ganzer Zahlen

Quantenalgorithmus für die Faktorisierung ganzer Zahlen Quantenalgorithmus für die Faktorisierung ganzer Zahlen Ausgehend von dem allgemeinen Algorithmus für das Hidden Subgroup Problem behandlen wir in diesem Abschnitt den Quantenalgorithmus für die Faktorisierung

Mehr

Ordnen Sie die folgenden Funktionen nach ihrer asymptotischer Komplexität in aufsteigender Reihenfolge: i=1 4i + n = 4 n. i=1 i + 3n = 4 ( n(n+1)

Ordnen Sie die folgenden Funktionen nach ihrer asymptotischer Komplexität in aufsteigender Reihenfolge: i=1 4i + n = 4 n. i=1 i + 3n = 4 ( n(n+1) für Informatik Prof. aa Dr. Ir. Joost-Pieter Katoen Tutoriumslösung - Übung (Abgabe 9.04.05) Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder Tutoraufgabe (Asymptotische Komplexität):

Mehr

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

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

Mehr

11. Übungsblatt. x y(top(push(x, y)) = y)

11. Übungsblatt. x y(top(push(x, y)) = y) Logik, Berechenbarkeit und Komplexität Sommersemester 2012 Hochschule RheinMain Prof. Dr. Steffen Reith 11. Übungsblatt 1. Ein Keller (engl. stack) ist eine bekannte Datenstruktur. Sei die Signatur S =

Mehr

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014 Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014 Klausurnummer Nachname: Vorname: Matr.-Nr.: Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 8 4 7 5 6 8 tats. Punkte Gesamtpunktzahl: Note: Punkte Aufgabe

Mehr

Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP-Programme

Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP-Programme Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP-Programme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 29. November 2007 Turing-mächtige

Mehr

Technische Universität München SoSe 2015 Institut für Informatik I Mai 2015 Dr. Tobias Lasser. Aufgabe 1 Rechnen mit Landau-Symbolen

Technische Universität München SoSe 2015 Institut für Informatik I Mai 2015 Dr. Tobias Lasser. Aufgabe 1 Rechnen mit Landau-Symbolen Technische Universität München SoSe 2015 Institut für Informatik I-16 27. Mai 2015 Dr. Tobias Lasser Lösungsvorschläge zur Musterklausur zu Algorithmen und Datenstrukturen Aufgabe 1 Rechnen mit Landau-Symbolen

Mehr

PRIMES is in P. Ein Vortrag von Holger Szillat.

PRIMES is in P. Ein Vortrag von Holger Szillat. PRIMES is in P Ein Vortrag von Holger Szillat szillat@informatik.uni-tuebingen.de Übersicht Geschichte Notationen und Definitionen Der Agrawal-Kayal-Saxena-Algorithmus Korrektheit und Aufwand Fazit Geschichte

Mehr

Die asymptotische Notation

Die asymptotische Notation Die asymptotische Notation f, g : N R 0 seien Funktionen, die einer Eingabelänge n N eine nicht-negative Laufzeit f (n), bzw. g(n) zuweisen. Asymptotik 1 / 9 Die asymptotische Notation f, g : N R 0 seien

Mehr