Konzepte und Methoden der Programmierung Lösungen P. Fierz / FS 2012

Größe: px
Ab Seite anzeigen:

Download "Konzepte und Methoden der Programmierung Lösungen P. Fierz / FS 2012"

Transkript

1 Kapitel 1 Rekursion Alle Programme finden Sie im mitgelieferten zip-file. Aufgabe 1.1 [Fakultät] Für diese Übung brauchen Sie die Klassen Factorial Skelett und MyTimer. n! ist rekursiv folgendermassen definiert: 0! = 1 n! = n n 1! für n > 0 1. Implementieren Sie die Methode facrecursiv, die n! rekursiv berechnet.. Implementieren Sie die Methode faciterativ, die n! iterativ berechnet. 3. Berechnen Sie mit beiden Methoden n! für n = beachten Sie die Overflows nicht und messen Sie die Zeit mit MyTimer. 4. Kommentieren Sie die Resultate. Die Messung ergibt, dass die iterative Lösung etwas effizienter ist. Der Unterschied ist aber gering. Man kann daraus den Schluss ziehen, dass rekursive Implementationen durchaus berechtigt sind. 5. Implementieren Sie die beiden Methoden facrecursivbig und faciterativbig, die n! berechnen aber mit dem Java-Type BigInteger. 6. Wiederhohlen Sie die Zeitmessung für die beiden neuen Methoden. Auch in diesem Fall ist die iterative Lösung etwas schneller aber nur gering. Factorial.java Aufgabe 1. [Potenzen] Für diese Übung brauchen Sie die Klassen Power Skelett und MyTimer. Die Potenzfunktion ist rekursiv folgendermassen definiert: x 0 = 1 x n = x x n 1 1-1

2 1. Implementieren Sie die Potenzfunktion power rekursiv.. Implementieren Sie die Potenzfunktion fastpower rekursiv. Benutzen Sie die Tatsache, dass x n = x n gilt, um die Implementation zu verschnellern. 3. Berechnen Sie mit beiden Methoden 5 n für n = und messen Sie die Zeit mit MyTimer. Die Messung ergibt, dass fastpower viel schneller ist als power. 4. Wie viele rekursive Aufrufe benötigen power und fastpower um x n zu berechnen? power: Die Funktion wird n mal rekursiv aufgerufen. Dabei werden also n Multiplikationen durchgeführt. fastpower: Da bei mindestens jedem zweiten Aufruf n durch dividiert wird ist die Anzahl rekursiver Aufrufe und Multiplikationen maximal log n. Power.java Aufgabe 1.3 [Minimum und Maximum] Für diese Übung brauchen Sie die Klasse Min- Max Skelett. 1. Implementieren Sie eine rekursive Methode minmaxrec um in einem Array von n ganzen Zahlen das Minimum und das Maximum zu finden. Ihre Methode soll ein Paar min, max zurückgeben. Führen Sie einen Zähler ein, der die Anzahl Vergleiche von Arrayelementen zählt. Tip: Bestimmen Sie das Minimum und das Maximum in der linken und rechten Hälfte des Arrays und betimmen Sie aus diesen Teilresultaten das Resultat.. Berechnen Sie für n wie viele Vergleiche von Arrayelementen Ihre Methode benutzt und vergleichen Sie das Resultat mit dem Zähler aus Ihrem Programm. Nehmen Sie an, dass n eine Zweierpotenz ist n = r. Dazu nehmen wir an, dass n die Form n = k hat. Wir können nun die Anzahl Vergleiche V k zählen. Bei jedem Durchgang rufen wir die Prozedur minmaxrek zwei mal auf, aber mit einem halbierten Array. Anschliessend werden noch zwei Vergleiche angestellt. Falls k = 1 ist, so brauchen wir nur einen Vergleich. Dies führt zu der folgenden Rekursionsformel. V 1 = 1 V k = V k 1 + Die Lösung dieser Rekursionsformel ist relativ einfach: V k = V k 1 + = V k = V k = k 1 + k 1 i=1 i = n + k 1 = 3n 1 1-

3 3. Bestimmen Sie die maximale und minimale Anzahl Vergleiche von Arrayelementen in der iterativen Lösung minmax. Anzahl Vergleiche im Durchschnitt: Der Array wird einmal durchlaufen. Der erste Vergleich wird immer ausgeführt. Der zweite Vergleich nur dann, wenn der erste fehlschlägt also im Durchschnitt nur in der Hälfte der Fälle. Es sind also n 1 + n 1 = 3n 3 Vergleiche nötig. Im besten Fall sind n 1 Vergleiche nötig. Dies ist der Fall, wenn im Loop immer nur der erste Vergleich durchgeführt wird. Dies ist nur dann der Fall, wenn die Elemente alle verschieden und im Array sortiert abgelegt sind. Im schlechtesten Fall sind n 1 Vergleiche notwendig. Dies ist der Fall, wenn der zweite Vergleich immer ausgeführt wird und dies wiederum ist der Fall, wenn das Maximum im Element 0 des Arrays gespeichert ist. MinMax.java Aufgabe 1.4 [Fibonacci-Zahlen] Für diese Übung brauchen Sie die Klasse Fibonacci Skelett und MyTimer. Die Fibonacci-Zahlen sind rekursiv folgendermassen definiert: F 0 = 0 F 1 = 1 F n = F n + F n 1 für n 1. Implementieren Sie die Methode fibonaccirec um die Fibonacci-Zahlen rekursiv zu berechnen.. Geben Sie die Fibonacci-Zahlen von aus mit Zeitmessung. Was ist Ihre Beobachtung? Am Anfang werden die Zahlen schnell berechnet aber mit wachsendem n wird die Berechnung immer langsamer. Es gilt in etwa die Formel ZeitfibonacciRecn 3 ZeitfibonacciRecn 1 3. Schätzen Sie grob ab, wie viele rekursive Aufrufe die Methode braucht. Wir können den Zeitaufwand T n folgendermassen berechnen: T n = { 1 für n < T n 1 + T n + 1 für n Diese Funktion sieht ja aus wie die Fibonacci Funktion. Es gilt: Beweis: n 0 : T n > F n

4 Inductionsanfang: T 0 = 1, F 1 = 1 T 0 F 1 und T 1 = 1, F = 1 T 1 F Inductionsannahme: T n F n + 1 für n = 0, 1,... k Induktionsschluss: T k + 1 = T k + T k F k F k + 1 nach Induktionsannahme = F k nach Definition von F F k + Wir müssen also bestimmen, wie gross F n ist. Die Fibonacci Zahlen können ohne Beweis nach der folgenden Formel berechnet werden: F n = 1 n n Der zweite Term ist ca. 0.6 und geht für grosse n gegen 0. Der erste Term ist ca Das heisst, F wächst exponentiel man schreibt: 3 n F n = O Damit ist also gezeigt, dass der Zeitaufwand zur rekursiven Berechnung von Fibonacci exponentiell wächst. 4. Implementieren Sie die Methode fibonaccimem um die Fibonacci-Zahlen rekursiv zu berechnen. Benutzen Sie dabei einen Array F[] in dem die schon berechneten Werte zwischengespeichert werden. 5. Die Fibonacci-Zahlen können auch mit Hilfe der folgenden Matrix berechnet werden: Es gilt die Formel: M n = M = Fn+1 F n F n F n 1 Die Multiplikation von x Matritzen ist folgendermassen definiert: a11 a 1 b11 b 1 a11 b 11 + a 1 b 1 a 11 b 1 + a 1 b a 1 a b 1 b = a 1 b 11 + a b 1 a 1 b 1 + a b 1.3 Die Multiplikation ist zwar nicht kommutativ aber sie ist assoziativ. Implementieren Sie die Methode fibonaccimat mit Hilfe der Formeln 1.1, 1. und Vergleichen Sie das Laufzeitverhalten der drei Methoden fibonacciiter, fibonaccimem und fibonaccimat. Am schnellsten ist fibonaccimat. fibonaccimem und fibonacciiter sind in etwa gleich schnell. 1-4

5 Fibonacci.java Aufgabe 1.5 [Substrings] 1. Implementieren Sie mit Hilfe von Rekursion die Klasse SubstringGenerator, die alle Substrings eines Strings generiert.. Implementieren Sie mit Hilfe von Rekursion die Klasse SubsetGenerator, die alle Teilmengen einer gegebenen Menge generiert. 3. Überlegen Sie, wie alle Permutationen eines Strings iterativ gefunden werden können. SubstringGenerator, SubsetGenerator Aufgabe 1.6 [Türme von Hanoi] Für diese Übung brauchen Sie die Klasse TowerOfHanoi. Das Spiel Türme von Hanoi besteht aus drei Stäben A, B und C, auf die mehrere gelochte Scheiben gelegt werden, alle verschieden groß. Zu Beginn liegen alle Scheiben auf Stab A, der Größe nach geordnet, mit der größten Scheibe unten und der kleinsten oben. Ziel des Spiels ist es, den kompletten Scheiben-Stapel von A nach C zu versetzen. Bei jedem Zug darf die oberste Scheibe eines beliebigen Stabes auf einen der beiden anderen Stäbe gelegt werden, vorausgesetzt, dort liegt nicht schon eine kleinere Scheibe. Folglich sind zu jedem Zeitpunkt des Spieles die Scheiben auf jedem Feld der Größe nach geordnet. 1. Implementieren Sie das Spiel Türme von Hanoi rekursiv.. Wie viele Züge sind notwendig um ein Turm der Höhe n von Stab A nach Stab B zu bringen. Um einen Turm der Höhe n von Stab A nach Stab C zu verschieben wird zuerst der Turm der Höhe n 1 nach B verschoben anschliessend wird die grösste Scheibe von A nach C gebracht und zuletzt der Turm der Höhe n 1 von B nach C verschoben. Dies ergibt die folgende rekursive Gleichung für M Anzahl Moves: Mn = Wir lösen nun diese Rekursive Gleichung auf: { 0 für n = 0 Mn für n > 0 Mn = Mn = Mn = 4 Mn = 4 Mn = 8 Mn = n M0 + n 1 i=0 i = n 1 3. Begründen Sie wieso Ihre Lösung funktioniert. Wir können dies mit vollständiger Induktion über die Höhe h des Turms beweisen. 1-5

6 Induktionsanfang: Für h = 1 hat es nur eine Scheibe. Diese kann von jedem Stab nach den beiden anderen Stäben bewegt werden. Induktionsannahme: Ein Turm der Höhe h kann von einem Stab nach den anderen beiden bewegt werden. Induktionsschluss: Aus der Annahme, dass ein Turm der Höhe h bewegt werden kann, muss man beweisen, dass ein Turm der höhe h + 1 bewegt werden kann. Nach Induktionsannahme können die Scheiben 1... h von Stab A nach Stab B bewegt werden. Dabei spielt die Scheibe h + 1 keine Rolle siehe Abbildung. A B C h h+1 Anshliessend kann die Scheibe h + 1 nach C bewegt werden. Nun können nach Induktionsvoraussetzung die Scheiben 1... h von B nach C bewegt werden. TowerOfHanoi, HanoiComponent, HanoiFrame, HanoiModel Aufgabe 1.7 [Binäre Sequenz] Die Folge W n von Bit-Strings ist folgendermassen definiert: W 0 = ɛ W 1 = 0 W n wird erzeugt indem in W n 1 jede 0 durch 001 und jede 1 durch 0 ersetzt wird. einige Glieder der Sequenz: W = 001 W 3 = W 4 = Problem: Gesucht ist der Wert des N-ten bits im kleinsten Bit-String der Folge W n, dessen Länge grösser oder gleich N ist. 1. Überlegen Sie ob das Problem besser rekursiv oder iterativ gelöst werden kann.. Schreiben Sie ein Programm, das das Problem auch für sehr grosse N löst. Für sehr grosse N z.bsp N = kann der String nicht aufgebaut werden. Wir müssen zuerst suchen, ob der String W n rekursiv aus den vorhergehenden Strings der Folge kreiert werden kann. Behauptung: W n = W n 1W n 1W n für n 3 Beweis: Induktionsanfang: W 3 = W W W 1 = stimmt. Induktionsannahme: W n = W n 1W n 1W n für n = 0, 1,... k Induktionsschluss: 1-6

7 Wir konstruieren nun W k + 1 mit Hilfe der Konstruktionsvorschrift 0 durch 001 und 1 durch 0 in W k ersetzen. Nach Induktionsvoraussetzung ist aber nach dem Ersetzen erhalten wir also W k = W k 1W k 1W k W k + 1 = W kw kw k 1 Aus der gefundenen Formel kann man leicht die Längen Ln der Strings W n bestimmen und in einem Array ablegen. Nun benutzen wir den folgenden Rekursiven Ansatz um das N te Bit des Strings W n zu bestimmen. Falls N <= 3 gib das entsprechende Bit des String 001 zurück. falls N > Ln 1 bestimme das Bit N Ln 1 im String W n. falls Ln 1 < N Ln 1 bestimme das Bit N Ln 1 im String W n 1. falls N Ln 1 bestimme das Bit N im String W n 1. BinSequence.java Aufgabe 1.8 [Syntax Bäume] Für diese Übung brauchen Sie die Klassen BinTree und ArithTokenizer. Beixxspiele für die Verwendung sind in der Klasse TreeExample und ArithTokenizer vorhanden. 1. Schreiben Sie ein Programm, das aus einem Arithmetischen Ausdruck den entsprechenden Syntaxbaum konstruiert. Die Ausdrücke enthalten Integerkonstanten, Javaidentifier, die Operatoren +,-,*,/ mit der üblichen Priorität und die Klammern,. Traversieren Sie anschliessend den Baum in Pre-, In- und Postorder und geben Sie den Inhalt der Knoten aus siehe TreeExample. 3. Evaluieren Sie den Ausdruck mit Hilfe des konstruierten Baumes Identifier haben dabei den Wert 0. ArithTree.java, ArithTokenizer.java, BinNode.java, BinTree.java 1-7

2. Algorithmische Methoden 2.1 Rekursion. 18. April 2017

2. Algorithmische Methoden 2.1 Rekursion. 18. April 2017 2. Algorithmische Methoden 2.1 Rekursion 18. April 2017 Rekursiver Algorithmus Ein rekursiver Algorithmus löst ein Problem, indem er eine oder mehrere kleinere Instanzen des gleichen Problems löst. Beispiel

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

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

4 Rekursionen. 4.1 Erstes Beispiel

4 Rekursionen. 4.1 Erstes Beispiel 4 Rekursionen Viele Algorithmen besitzen sowohl eine iterative als auch eine rekursive Lösung. Sie unterscheiden sich darin, dass die iterative Version meist einen etwas längeren Kode besitzt, während

Mehr

= =

= = 9. Januar 2007 Arbeitsblatt 9 Übungen zu Mathematik I für das Lehramt an der Grund- und Mittelstufe sowie an Sonderschulen I. Gasser, H. Strade, B. Werner WiSe 06/07 19.12.06 Präsenzaufgaben: 1. Zu Beginn

Mehr

Datenstrukturen. Mariano Zelke. Sommersemester 2012

Datenstrukturen. Mariano Zelke. Sommersemester 2012 Datenstrukturen Mariano Zelke Sommersemester 2012 Mariano Zelke Datenstrukturen 2/19 Das Teilfolgenproblem: Algorithmus A 3 A 3 (i, j bestimmt den Wert einer maximalen Teilfolge für a i,..., a j. (1 Wenn

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

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

9. Rekursion. 1 falls n 1 n (n 1)!, andernfalls. Experiment: Die Türme von Hanoi. Links Mitte Rechts. Mathematische Rekursion

9. Rekursion. 1 falls n 1 n (n 1)!, andernfalls. Experiment: Die Türme von Hanoi. Links Mitte Rechts. Mathematische Rekursion Experiment: Die Türme von Hanoi. Rekursion Mathematische Rekursion, Terminierung, der Aufrufstapel, Beispiele, Rekursion vs. Iteration Links Mitte Rechts Mathematische Rekursion Viele mathematische Funktionen

Mehr

3. rekursive Definition einer Folge

3. rekursive Definition einer Folge 3. rekursive Definition einer Folge In vielen Fällen ist eine explizite Formel für das n-te Glied nicht bekannt, es ist hingegen möglich, aus den gegebenen Gliedern das nächste Glied zu berechnen, d.h.

Mehr

Kapitel 1. Grundlegendes

Kapitel 1. Grundlegendes Kapitel 1 Grundlegendes Abschnitt 1.4 Vollständige Induktion Charakterisierung der natürlichen Zahlen Die Menge N 0 = {0, 1, 2, 3,...} der natürlichen Zahlen läßt sich wie folgt charakterisieren: 1. 0

Mehr

Numerische Verfahren und Grundlagen der Analysis

Numerische Verfahren und Grundlagen der Analysis Numerische Verfahren und Grundlagen der Analysis Rasa Steuding Hochschule RheinMain Wiesbaden Wintersemester 2011/12 R. Steuding (HS-RM) NumAna Wintersemester 2011/12 1 / 26 1. Folgen R. Steuding (HS-RM)

Mehr

Vollständige Induktion. Analysis I. Guofang Wang. Universität Freiburg

Vollständige Induktion. Analysis I. Guofang Wang. Universität Freiburg Universität Freiburg 26.10.2011 Vollständige Induktion Wir unterbrechen jetzt die Diskussion der Axiome der reellen Zahlen, um das Beweisverfahren der vollständigen Induktion kennenzulernen. Wir setzen

Mehr

Fachwissenschaftliche Grundlagen

Fachwissenschaftliche Grundlagen Fachwissenschaftliche Grundlagen Vorlesung im Wintersemester 2011/2012, Universität Landau Roland Gunesch 8. Vorlesung Roland Gunesch (Mathematik) Fachwissenschaftliche Grundlagen 8. Vorlesung 1 / 25 Themen

Mehr

19. Dynamic Programming I

19. Dynamic Programming I 495 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.

Mehr

19. Dynamic Programming I

19. Dynamic Programming I 495 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Dynamische Programmierung Einführung Ablaufkoordination von Montagebändern Längste gemeinsame Teilsequenz Optimale

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

Hausaufgaben. zur Vorlesung. Vollständige Induktion. 1. Beweist folgende Formeln (zu beweisen ist nur die Gleichheit mit dem. i=1 (4 + i)!

Hausaufgaben. zur Vorlesung. Vollständige Induktion. 1. Beweist folgende Formeln (zu beweisen ist nur die Gleichheit mit dem. i=1 (4 + i)! WS 015/1 Hausaufgaben zur Vorlesung Vollständige Induktion 1. Beweist folgende Formeln zu beweisen ist nur die Gleichheit mit dem! -Zeichen : a 5 + + 7 + 8 + + 4 + n n 4 + i! nn+9 b 1 + + 9 + + n 1 n 1

Mehr

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle 119 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 120 Das Suchproblem Gegeben

Mehr

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge

Mehr

Institut fu r Informatik

Institut fu r Informatik Technische Universita t Mu nchen Institut fu r Informatik Lehrstuhl fu r Bioinformatik Einfu hrung in die Programmierung fu r Bioinformatiker Prof. B. Rost, L. Richter WS 2013/14 Aufgabenblatt 5 2. Dezember

Mehr

Lernmodul 7 Algorithmus von Dijkstra

Lernmodul 7 Algorithmus von Dijkstra Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I LOOP Programme, rekursive Funktionen und der Turm von Hanoi Prof. Dr. Nikolaus Wulff Berechenbarkeit Mitte des 20. Jahrhunderts beantworteten Pioniere, wie Alan M. Turing

Mehr

Informatik II Übung 10. Pascal Schärli

Informatik II Übung 10. Pascal Schärli Informatik II Übung 0 Pascal Schärli pascscha@student.ethz.ch 09.0.0 Was gibts heute? Best-of Vorlesung: Teile und Herrsche Türme von Hanoi Mergesort O-Notation Vorbesprechung: U0A, - Mergesort U0A Türme

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

Übung zur Vorlesung Diskrete Strukturen I

Übung zur Vorlesung Diskrete Strukturen I Technische Universität München WS 00/0 Institut für Informatik Aufgabenblatt 10 Prof. Dr. J. Csirik 7. Januar 00 randt & Stein Übung zur Vorlesung Diskrete Strukturen I Abgabetermin: Tutorübungen am 16.

Mehr

Vollständige Induktion

Vollständige Induktion 30. September 008 Gliederung 1 3 4 Gliederung 1 3 4 Gliederung 1 3 4 Gliederung 1 3 4 Die Peano Axiome für die Menge der Natürlichen Zahlen N I. 0 ist eine natürliche Zahl, d.h. 0 N. II. Jede natürliche

Mehr

Grundbegriffe der Informatik Musterlösung zu Aufgabenblatt 2. Jeder Frosch ist glücklich, wenn alle seiner Kinder quaken können.

Grundbegriffe der Informatik Musterlösung zu Aufgabenblatt 2. Jeder Frosch ist glücklich, wenn alle seiner Kinder quaken können. Aufgabe 2.1 (3 Punkte) Gegeben sind folgende Aussagen: Grundbegriffe der Informatik Musterlösung zu Aufgabenblatt 2 Jeder Frosch ist glücklich, wenn alle seiner Kinder quaken können. Alle grünen Frösche

Mehr

Induktion und Rekursion

Induktion und Rekursion Induktion und Rekursion Induktion und Rekursion Sommersemester 2018 Ronja Düffel 16. März 2018 Induktion und Rekursion > Mathematische Beweistechniken > Vollständige Induktion Der kleine Gauß Induktion

Mehr

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge von Datensätzen. Beispiele

Mehr

Ein Algorithmus heißt rekursiv, wenn er sich selbst aufruft. Meist werden nur einzelne Module eines Gesamtalgorithmus rekursiv verwendet.

Ein Algorithmus heißt rekursiv, wenn er sich selbst aufruft. Meist werden nur einzelne Module eines Gesamtalgorithmus rekursiv verwendet. 3.6 Rekursion Ein Algorithmus heißt rekursiv, wenn er sich selbst aufruft. Meist werden nur einzelne Module eines Gesamtalgorithmus rekursiv verwendet. Klassisches Beispiel: Berechnung von n! (Fakultät

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Datenstrukturen und Algorithmen VO 708.031 27.10.2011 stefan.klampfl@tugraz.at 1 Wiederholung Wir vergleichen Algorithmen anhand des ordnungsmäßigen Wachstums von T(n), S(n), Asymptotische Schranken: O-Notation:

Mehr

: das Bild von ) unter der Funktion ist gegeben durch

: das Bild von ) unter der Funktion ist gegeben durch % 1.3 Funktionen Seien und Mengen nennt man Funktion oder Abbildung. Beachte: Zuordnung ist eindeutig. Bezeichnungen: : Definitionsbereich : Bildbereich (Zielmenge) von Der Graph einer Funktion: graph!

Mehr

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle 122 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 123 Das Suchproblem Gegeben Menge von Datensätzen.

Mehr

Vollständige Induktion

Vollständige Induktion 30. September 008 Gliederung 1 3 4 Die Peano Axiome für die Menge der Natürlichen Zahlen N I. 0 ist eine natürliche Zahl, d.h. 0 N. II. Jede natürliche Zahl hat genau einen Nachfolger d.h. n : (n N! n

Mehr

(2 n + 1) = (n + 1) 2

(2 n + 1) = (n + 1) 2 Schülerzirkel Mathematik Fakultät für Mathematik. Universität Regensburg Induktion 0 +... Aufgaben und Lösungen Aufgabe 1 Summen von ungeraden Zahlen ). 1. Zeige durch vollständige Induktion, dass für

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

Folgen und Funktionen in der Mathematik

Folgen und Funktionen in der Mathematik Folgen und Funktionen in der Mathematik Anhand von einigen exemplarischen Beispielen soll die Implementierung von mathematischen Algorithmen in C/C++ gezeigt werden: Reelle Funktionen in C/C++ Diese wird

Mehr

ALP I Induktion und Rekursion

ALP I Induktion und Rekursion ALP I Induktion und Rekursion WS 2012/2013 Vollständige Induktion (Mafi I) Die Vollständige Induktion ist eine mathematische Beweistechnik, die auf die Menge der natürlichen Zahlen spezialisiert ist. Vorgehensweise:

Mehr

Schleifeninvarianten. Dezimal zu Binär

Schleifeninvarianten. Dezimal zu Binär Schleifeninvarianten Mit vollstandiger Induktion lasst sich auch die Korrektheit von Algorithmen nachweisen. Will man die Werte verfolgen, die die Variablen beim Ablauf eines Algorithmus annehmen, dann

Mehr

(X Y )(a) = X (a) Y (a).

(X Y )(a) = X (a) Y (a). Aufgabe Teilaufgabe a) Seien X, Y zwei Zufallsvariablen, so definieren wir das Produkt dieser Zufallsvariablen X Y wie folgt: (X Y )(a) = X (a) Y (a). Teilaufgabe b) Gegenbeispiel: Betrachten wir uns folgenden

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 07..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum

Mehr

n(n + 1)(2n + 1). 6 j 2 = Hinweis: Setze für n IN n(n + 1)(2n + 1) 6 A(n) : und wähle die Bezeichnung s n := n (2j + 1) = n2 (2j + 1) = (n + 1)2

n(n + 1)(2n + 1). 6 j 2 = Hinweis: Setze für n IN n(n + 1)(2n + 1) 6 A(n) : und wähle die Bezeichnung s n := n (2j + 1) = n2 (2j + 1) = (n + 1)2 15. Dezember 2006 Arbeitsblatt 9 Übungen zu Mathematik I für das Lehramt an der Grund- und Mittelstufe sowie an Sonderschulen I. Gasser, H. Strade, B. Werner WiSe 06/07 19.12.06 Präsenzaufgaben: 1. Zu

Mehr

Seite 1. Folgen. Folgen. Klaus Messner,

Seite 1. Folgen. Folgen. Klaus Messner, Seite 1 Klaus Messner, klaus_messner@web.de Seite 2 Begriffe Die Schreibweise stellt eine Folge dar. Die a i nennt man glieder und i ist der Index bzw. die Nummer eines speziellen glieds. In den Lehrbüchern

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

Exponentiation: das Problem Gegeben: (multiplikative) Halbgruppe (H, ), Element a H, n N Aufgabe: berechne das Element

Exponentiation: das Problem Gegeben: (multiplikative) Halbgruppe (H, ), Element a H, n N Aufgabe: berechne das Element Problemstellung Banale smethode : das Problem Gegeben: (multiplikative) Halbgruppe (H, ), Element a H, n N Aufgabe: berechne das Element a n = } a a a {{ a } H n (schreiben ab jetzt a n statt a n ) Hinweis:

Mehr

Informatik I. Jan-Georg Smaus. Iteration vs. Rekursion. Iterativer Algorithmus Beweis der Korrektheit Python- Programm Zusammenfassung

Informatik I. Jan-Georg Smaus. Iteration vs. Rekursion. Iterativer Algorithmus Beweis der Korrektheit Python- Programm Zusammenfassung 20. Albert-Ludwigs-Universität Freiburg 1. Februar 2011 1 / 31 2 / 31 Wir haben am Beispiel von der Fakultätsfunktion und den Methoden für verlinkte Listen gesehen, dass man manche Probleme sowohl mit

Mehr

Technische Universität München Zentrum Mathematik Mathematik 1 (Elektrotechnik) Übungsblatt 1

Technische Universität München Zentrum Mathematik Mathematik 1 (Elektrotechnik) Übungsblatt 1 Technische Universität München Zentrum Mathematik Mathematik 1 (Elektrotechnik) Prof. Dr. Anusch Taraz Dr. Michael Ritter Übungsblatt 1 Hausaufgaben Aufgabe 1.1 Zeigen Sie mit vollständiger Induktion:

Mehr

1 Folgen und Stetigkeit

1 Folgen und Stetigkeit 1 Folgen und Stetigkeit 1.1 Folgen Eine Folge ist eine durchnummerierte Zusammenfassung von reellen Zahlen. Sie wird geschrieben als (a 1, a 2, a 3,...) = (a n ) n N. Es ist also a n R. Der Index n gibt

Mehr

Exponentiation: das Problem

Exponentiation: das Problem Problemstellung Exponentiation: das Problem Gegeben: (multiplikative) Halbgruppe (H, ), Element a H, n N Aufgabe: berechne das Element a n = } a a a {{ a } H n (schreiben ab jetzt a n statt a n ) Hinweis:

Mehr

Wiederholung. Divide & Conquer Strategie

Wiederholung. Divide & Conquer Strategie Wiederholung Divide & Conquer Strategie Binäre Suche O(log n) Rekursives Suchen im linken oder rechten Teilintervall Insertion-Sort O(n 2 ) Rekursives Sortieren von a[1..n-1], a[n] Einfügen von a[n] in

Mehr

Folgen und Reihen. 1. Folgen

Folgen und Reihen. 1. Folgen 1. Folgen Aufgabe 1.1. Sie kennen alle die Intelligenztests, bei welchen man zu einer gegebenen Folge von Zahlen die nächsten herausfinden soll. Wie lauten die nächsten drei Zahlen bei den folgenden Beispielen?

Mehr

Algorithmen und Datenstrukturen 1-5. Seminar -

Algorithmen und Datenstrukturen 1-5. Seminar - Algorithmen und Datenstrukturen 1-5. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Wintersemester 2009/10 Outline 5.+6. Übungsserie: 5 Aufgaben, insgesamt 40 Punkte A17 Baum-Traversierung

Mehr

9 Minimum Spanning Trees

9 Minimum Spanning Trees Im Folgenden wollen wir uns genauer mit dem Minimum Spanning Tree -Problem auseinandersetzen. 9.1 MST-Problem Gegeben ein ungerichteter Graph G = (V,E) und eine Gewichtsfunktion w w : E R Man berechne

Mehr

1 Fibonacci-Zahlen und Teilbarkeit

1 Fibonacci-Zahlen und Teilbarkeit 3. Juli 2002 Fabian Meier Fibonacci-Zahlen und Teilbarkeit Dies ist das Skript zu dem Vortrag, den ich auf der Sommerakademie 200 und 2002 gehalten habe. Fehler bitte an folgende Adresse: an@fabianmeier.de..

Mehr

Grundbegriffe der Informatik Musterlösung zu Aufgabenblatt 1

Grundbegriffe der Informatik Musterlösung zu Aufgabenblatt 1 Grundbegriffe der Informatik Musterlösung zu Aufgabenblatt 1 Aufgabe 1.1 ( Punkte) Schreiben Sie die Definitionen von Injektivität und Surjektivität einer Funktion als prädikatenlogische Formeln auf. Lösung

Mehr

Vorlesung. Vollständige Induktion 1

Vorlesung. Vollständige Induktion 1 WS 015/16 Vorlesung Vollständige Induktion 1 1 Einführung Bei der vollständigen Induktion handelt es sich um ein wichtiges mathematisches Beweisverfahren, mit dem man Aussagen, die für alle natürlichen

Mehr

Programmieren 1 C Überblick

Programmieren 1 C Überblick Programmieren 1 C Überblick 1. Einleitung 2. Graphische Darstellung von Algorithmen 3. Syntax und Semantik 4. Einstieg in C: Einfache Sprachkonstrukte und allgemeiner Programmaufbau 5. Skalare Standarddatentypen

Mehr

Grundzüge von Algorithmen und Datenstrukturen, WS 15/16: Lösungshinweise zum 13. Übungsblatt

Grundzüge von Algorithmen und Datenstrukturen, WS 15/16: Lösungshinweise zum 13. Übungsblatt U N S A R I V E R S A V I E I T A S N I S S Grundzüge von Algorithmen und Datenstrukturen, WS /6: Lösungshinweise zum 3. Übungsblatt Christian Hoffmann, Fabian Bendun Aufgabe 3. (a) Sei j i + = n die Größe

Mehr

Maple-Praktikum für Lehramt Blatt 3 Dieses Blatt wird in Kalenderwoche 18 (ab 30. April) testiert.

Maple-Praktikum für Lehramt Blatt 3 Dieses Blatt wird in Kalenderwoche 18 (ab 30. April) testiert. Maple-Praktikum für Lehramt 2018 - Blatt 3 Dieses Blatt wird in Kalenderwoche 18 (ab 30. April) testiert. Aufgaben: 8 > restart; Ein wichtiges Konzept in der Analysis sind Grenzwerte von Folgen. ÜBUNG

Mehr

A N A L Y S I S I F Ü R T P H, U E ( ) 1. Übungstest (FR, ) (mit Lösung )

A N A L Y S I S I F Ü R T P H, U E ( ) 1. Übungstest (FR, ) (mit Lösung ) Institut für Analysis und Scientific Computing TU Wien W. Auzinger WS 05/6 A N A L Y S I S I F Ü R T P H, U E (03.088). Übungstest (FR, 6..05) (mit Lösung ) Aufgabe. a ) Wandeln Sie die periodische Dezimalzahl

Mehr

3.3 Optimale binäre Suchbäume

3.3 Optimale binäre Suchbäume 3.3 Optimale binäre Suchbäume Problem 3.3.1. Sei S eine Menge von Schlüsseln aus einem endlichen, linear geordneten Universum U, S = {a 1,,...,a n } U und S = n N. Wir wollen S in einem binären Suchbaum

Mehr

ggt mit Euklid Satz: Um ggt(k, l) mit dem Euklidischen Algorithmus zu berechnen, braucht man höchstens log Φ k < 3 2 log 2 k rekursive Aufrufe.

ggt mit Euklid Satz: Um ggt(k, l) mit dem Euklidischen Algorithmus zu berechnen, braucht man höchstens log Φ k < 3 2 log 2 k rekursive Aufrufe. ggt mit Euklid Satz: Um ggt(k, l) mit dem Euklidischen Algorithmus zu berechnen, braucht man höchstens log Φ k < 3 2 log 2 k rekursive Aufrufe. Das heißt, um den ggt von zwei 1000-Bit-Zahlen zu ermitteln,

Mehr

Algebraische und arithmetische Algorithmen

Algebraische und arithmetische Algorithmen Kapitel 1 Algebraische und arithmetische Algorithmen 1.1 Das algebraische Berechnungsmodell Struktur: Körper (oder Ring) mit den Operationen +,,, (/) Eingabe: endliche Folge von Zahlen Ausgabe: endliche

Mehr

Bemerkung: der goldene Schnitt ϕ ist die positive Lösung der Gleichung: x 2 = 1 + x

Bemerkung: der goldene Schnitt ϕ ist die positive Lösung der Gleichung: x 2 = 1 + x Rekursive Definition der Fibonacci-Zahlen Erste Werte f 0 = 0, f 1 = 1, f n = f n 1 + f n 2 (n 2) n 0 1 2 3 4 5 6 7 8 9 10... 25... f n 0 1 1 2 3 5 8 13 21 34 55... 75025... Exakte Formel (de Moivre, 1718)

Mehr

Inhalt Kapitel 2: Rekursion

Inhalt Kapitel 2: Rekursion Inhalt Kapitel 2: Rekursion 1 Beispiele und Definition 2 Partialität und Terminierung 3 Formen der Rekursion Endständige Rekursion 4 Einbettung 29 Beispiele und Definition Rekursion 30 Man kann eine Funktion

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 4: Wörter (und vollständige Induktion) Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Oktober 2008 1/29 Überblick Wörter Wörter Das leere Wort Mehr zu

Mehr

Informatik I. Informatik I Iteration vs. Rekursion. Iteration vs. Rekursion Iteration vs. Rekursion. 20. Iteration vs.

Informatik I. Informatik I Iteration vs. Rekursion. Iteration vs. Rekursion Iteration vs. Rekursion. 20. Iteration vs. Informatik I 1. Februar 2011 20. Informatik I 20. Jan-Georg Smaus 20.1 Albert-Ludwigs-Universität Freiburg 1. Februar 2011 Jan-Georg Smaus (Universität Freiburg) Informatik I 1. Februar 2011 1 / 31 Jan-Georg

Mehr

Algorithmen und Datenstrukturen 04

Algorithmen und Datenstrukturen 04 (17. Mai 2012) 1 Besprechung Blatt 3 Hinweise 2 Induktion Allgemeines Beispiele 3 Rekursion Lineare Rekursion und Endrekursion Entrekursivierung Weitere Rekursionstypen 4 O-Kalkül Allgemein Wichtige Formeln

Mehr

Testprüfung (so könnte ein Teil der Prüfung aussehen)

Testprüfung (so könnte ein Teil der Prüfung aussehen) Universität Stuttgart WS 2004/2005 Fakultät 5, Institut FMI Dowertill + Schmid EfidI 1 Zusatzkurs 3. März 2005 Bearbeitungszeit 120 min Testprüfung (so könnte ein Teil der Prüfung aussehen) Zur Beachtung:

Mehr

Theoretische Informatik SS 03 Übung 5

Theoretische Informatik SS 03 Übung 5 Theoretische Informatik SS 03 Übung 5 Aufgabe 1 Im Buch von Schöning ist auf S. 106-108 beschrieben, wie eine Turing-Maschine durch ein GOTO-Programm simuliert werden kann. Zeigen Sie, wie dabei die Anweisungen

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

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

Mehr

4. Übungsblatt zur Mathematik II für Inf, WInf

4. Übungsblatt zur Mathematik II für Inf, WInf Fachbereich Mathematik Prof Dr Streicher Dr Sergiy Nesenenko Pavol Safarik SS 010 11 15 Mai 4 Übungsblatt zur Mathematik II für Inf, WInf Gruppenübung Aufgabe G13 (Basistransformation) ( ) 15 05 Die lineare

Mehr

2. Symmetrische Gruppen

2. Symmetrische Gruppen 14 Andreas Gathmann 2 Symmetrische Gruppen Im letzten Kapitel haben wir Gruppen eingeführt und ihre elementaren Eigenschaften untersucht Wir wollen nun eine neue wichtige Klasse von Beispielen von Gruppen

Mehr

Lösungsvorschlag Serie 2 Rekursion

Lösungsvorschlag Serie 2 Rekursion (/) Lösungsvorschlag Serie Rekursion. Algorithmen-Paradigmen Es gibt verschiedene Algorithmen-Paradigmen, also grundsätzliche Arten, wie man einen Algorithmus formulieren kann. Im funktionalen Paradigma

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

Übungen zur Vorlesung Datenstrukturen und Algorithmen SS 2006 Blatt 13

Übungen zur Vorlesung Datenstrukturen und Algorithmen SS 2006 Blatt 13 Übungen zur Vorlesung Datenstrukturen und Algorithmen SS 2006 Blatt 13 Sven Grothklags University of Paderborn 10. Juli 2006 Sven Grothklags (University of Paderborn) DuA Übungsblatt 13 10. Juli 2006 1

Mehr

Einführung in die Objektorientierte Programmierung Vorlesung 17: Dynamische Programmierung. Sebastian Küpper

Einführung in die Objektorientierte Programmierung Vorlesung 17: Dynamische Programmierung. Sebastian Küpper Einführung in die Objektorientierte Programmierung Vorlesung 17: Dynamische Programmierung Sebastian Küpper Redundanz Rekursiver Lösungen Rekursion kann elegante Bescheibungen zur Problemlösung ergeben

Mehr

Informatik II Übung 8

Informatik II Übung 8 Informatik II Übung 8 Gruppe 2 Carina Fuss cfuss@student.ethz.ch 25.4.2018 Carina Fuss 25.4.2018 1 Übung 8 Nachbesprechung Übung 7 Vorbesprechung Übung 8 binäre Suche Backtracking anhand vom Rucksackproblem

Mehr

b liegt zwischen a und c.

b liegt zwischen a und c. 2 DIE ANORDNUNGSAXIOME 5 (2.4) a, b, c R : (a < b 0 < c) ac < bc Monotoniegesetz der Multiplikation Bezeichnungen a > b : b < a (> wird gelesen: größer als ) a b : a < b oder a = b a b : a > b oder a =

Mehr

ist (oder besser Abspalten von Linearfaktoren beschäftigen. Zu einem beliebigen Körper K betrachten wir die Menge (j,k) N N j+k=n

ist (oder besser Abspalten von Linearfaktoren beschäftigen. Zu einem beliebigen Körper K betrachten wir die Menge (j,k) N N j+k=n 8. Polynomringe Das Umgehen mit Polynomen, d.h. mit Ausdrücken der Form a 0 + a 1 x + a 2 x 2 +... + a n x n ist aus der Schule vertraut, falls die Koeffizienten a 0,..., a n ganze oder rationale oder

Mehr

Serie 4 2 = 10. ) ist). Dann gilt für alle n n 0

Serie 4 2 = 10. ) ist). Dann gilt für alle n n 0 Serie 4. Aufgabe 336 Punkte) Gegeben seien zwei reelle Zahlenfolgen durch a n : 0 n, n N b n : n n, n N Bestimmen Sie die Grenzwerte a bzw. b der Folgen a n ) n N bzw. b n ) n N. Geben Sie jeweils zu gegebenem

Mehr

Rekursive Funktionen

Rekursive Funktionen Um Rekursion zu verstehen, muss man vor allem Rekursion verstehen. http://www2.norwalk-city.k12.oh.us/wordpress/precalc/files/2009/05/mona-lisa-jmc.jpg Rekursive Funktionen OOPM, Ralf Lämmel Was ist Rekursion?

Mehr

1. Die rekursive Datenstruktur Liste

1. Die rekursive Datenstruktur Liste 1. Die rekursive Datenstruktur Liste 1.3 Rekursive Funktionen Ideen zur Bestimmung der Länge einer Liste: 1. Verwalte ein globales Attribut int laenge. Fügt man ein Element zur Liste oder löscht es, wird

Mehr

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 ETH Zürich Institut für Theoretische Informatik Prof. Dr. Angelika Steger Florian Meier, Ralph Keusch HS 2017 Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 Lösungsvorschlag zu Aufgabe 1

Mehr

3. Vortrag: Arithmetische Relationen und Gödelisierung

3. Vortrag: Arithmetische Relationen und Gödelisierung 3. Vortrag: Arithmetische Relationen und Gödelisierung 1. Arithmetische und arithmetische Mengen und Relationen 2. Verkettung von Zahlen 3. Gödelisierung Arithmetische und arithmetische Mengen und Relationen

Mehr

HM I Tutorium 2. Lucas Kunz. 3. November 2016

HM I Tutorium 2. Lucas Kunz. 3. November 2016 HM I Tutorium 2 Lucas Kunz 3. November 2016 Inhaltsverzeichnis 1 Theorie 2 1.1 Reelle Zahlen.................................. 2 1.2 Intervalle..................................... 2 1.3 Beträge.....................................

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

Informatik II Übung 2

Informatik II Übung 2 Informatik II Übung 2 Gruppe 2 Carina Fuss cfuss@student.ethz.ch 7.3.2018 Carina Fuss 7.3.2018 1 Übersicht Tipps zu Eclipse Nachbesprechung Übung 1 Vorbesprechung Übung 2 Wurzelbäume Sortieralgorithmus

Mehr

Vollständige Induktion

Vollständige Induktion Seite 1 Klaus Messner, klaus_messner@web.de Seite 2 Problem: Problem Man hat eine Aussage (z.b. eine Formel) und soll zeigen, dass diese Aussage für alle natürlichen Zahlen gilt. Beispiel: Es soll gezeigt

Mehr

Fibonacci-Zahlen und goldener Schnitt

Fibonacci-Zahlen und goldener Schnitt Fibonacci-Zahlen und goldener Schnitt Suche eine Darstellung der Form F n = x n für reelle Zahl x > 0. Aus der definierenden Gleichung folgt sofort x 2 = x + 1. Dann liefert die p-q-formel: x 1,2 = 1 2

Mehr

5 Bäume. 5.1 Suchbäume. ein geordneter binärer Wurzelbaum. geordnete Schlüsselwertmenge. heißt (schwach) sortiert, g.d.w. gilt:

5 Bäume. 5.1 Suchbäume. ein geordneter binärer Wurzelbaum. geordnete Schlüsselwertmenge. heißt (schwach) sortiert, g.d.w. gilt: 5 Bäume 5.1 Suchbäume Sei ein geordneter binärer Wurzelbaum. Sei Abbildung der Knotenmenge eine in eine vollständig geordnete Schlüsselwertmenge. heißt (schwach) sortiert, g.d.w. gilt: Falls sortiert ist,

Mehr

Strukturelle Rekursion und Induktion

Strukturelle Rekursion und Induktion Kapitel 2 Strukturelle Rekursion und Induktion Rekursion ist eine konstruktive Technik für die Beschreibung unendlicher Mengen (und damit insbesondere für die Beschreibung unendliche Funktionen). Induktion

Mehr

Induktion und Rekursion

Induktion und Rekursion Induktion und Rekursion Induktion und Rekursion Vorkurs Informatik Theoretischer Teil WS 013/14. Oktober 013 Vorkurs Informatik WS 013/14 1/1 Vollständige Induktion Vorkurs Informatik WS 013/14 /1 Ziel

Mehr

Lineare Algebra I. Voraussetzung: Sei A ein kommutativer Ring und eine Kongruenzrelation auf A. a b a n b n.

Lineare Algebra I. Voraussetzung: Sei A ein kommutativer Ring und eine Kongruenzrelation auf A. a b a n b n. Universität Konstanz Wintersemester 2009/2010 Fachbereich Mathematik und Statistik Lösungsblatt 5 Prof Dr Markus Schweighofer 02122009 Aaron Kunert / Sven Wagner Lineare Algebra I Lösung 51: Voraussetzung:

Mehr

1 Das Prinzip der vollständigen Induktion

1 Das Prinzip der vollständigen Induktion 1 1 Das Prinzip der vollständigen Induktion 1.1 Etwas Logik Wir nennen eine Formel oder einen Satz der Alltagssprache eine Aussage, wenn sie wahr oder falsch sein kann. Die Formeln 2 = 3, 2 4, 5 5 sind

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