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

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

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

Transkript

1 Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Motivation: IT gestützte Steuerung, Überwachung, Fertigung, Produktion,. : erfordert effiziente Berechnungsvorschriften Ziel: Methoden kennen zu lernen, wie man systematisch die Effizienz eines Algorithmus A bestimmt Ansatz: Bestimmen einer Funktion g, die das Laufzeitwachstum T(n) des Algorithmus A anhängig von den (sehr großen) Eingaben bestimmt: logarithmisch, linear, quadratisch,.. Vorgehen: RAM-Modell, Abstraktion von konkretem Rechner Bestimmen (grob) der Anzahl der Berechnungsschritte bei Eingabe n Beschreiben des Wachstumsverhaltens mittels Abschätzungen: Landau-Funktionen: T(n) = Ө(g), T(n) = O(g), z.b. T(n) = O(n) Kapitel 4: Grundlagen des Algorithmen-Entwurfs Entwurfsprinzipien: Iteration, Teile&Herrsche, Rekursion Rekursion: Beispiel Fakultätsfunktion: fac(n) = n! Frage: Effizienz? AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert Analyse von ausgewählten Algorithmen Beispiel: Berechnung der Fakultät Zur Erinnerung: f(n) = n! = n (n 1) (n 2) Rekursives Programm fact(n) Analyse der Laufzeit T(n): Anweisungen 1 und 2 benötigen O(1). Anweisung 3 benötigt O(1) + T(n-1). D.h mit Konstanten c und d ergibt sich: function fact(n) % Berechnung der Fakultaet 1 if n<=1 2 fact = 1; 3 fact = n*fact(n-1); end ( )= c+t(n-1) n>1 T n d n=1 AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert 2 Laufzeitanalyse der Fakultätsfunktion (Forts.) mit n > 2 kann T(n-1) entwickelt werden T(n-1) = c + T(n-2) if n>2 und somit also T(n) = c + T(n-1) = c + c +T(n-2) = 2 c + T(n-2) if n>2 T(n) = 3 c + T(n-3) if n>3 und T(n) = i c + T(n-i) wenn i = n-1 if n>i T(n) = (n-1) c + T(1) = (n-1) c + d, d.h. T(n) = Ο(n) Beispiel: Effiziente Multiplikation Aufgabe: Berechnung des Produktes x y Ansatz 1: Berechnung durch x-fache Addition der Zahl y Erforderlich sind O(x) Additionen Beispiel: y = y 0 ; while x > 0, AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert 3 AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert 4

2 Aufgabe: Berechnung des Produktes x y Ansatz 2: Links Shift : Multiplikation mit Faktor 2 Rechts Shift: Division durch 2 Beispiel: 4*5 y = y 0 ; While x > 0, if odd(x) { x = x/2; y = 2*y; Aufgabe: Berechnung des Produktes x y Ansatz 2: Links Shift Multiplikation mit Faktor 2 Rechts Shift Division durch 2 Laufzeitverhalten T(n) = O(log x) D.h. Reduktion der Zeitkomplexität von O(x) auf O(log x) y = y 0 ; While x > 0, { if odd(x) { x = x/2; y = 2*y; AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert 5 AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert 6 Von Folie 12 hierher verschoben Zahlenbeispiel x = 9, y = 17, y z = = y 0 0 ; z = =17; x = 9 1 = 8; x = 8/2 = 4; y = 2*17 = 34; x = 4/2 = 2; y = 2*34 = 68; x = 2/2 = 1; y = 2*68 = 136; z = = 153; x = 1 1 = 0; O(log x) Additionen While x > 0, { if odd(x) { x = x/2; y = 2*y; AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert 7 Beispiel: Fibonacci-Reihe Bildungsgesetz mit rekursiver Berechnung f 1 = f 2 = 1 f k = f k-1 + f k-2 für k > 2 F = Fib( k ) Rekursive Berechnung: % Rekursive Berechnung der F = Fib(k 1) + Fib(k 2); T rek (k-1) 3 Operationen T rek (k-2) AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert 8

3 Beispiel: k= 8 Erkenntnis: AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert 9 AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert 10 Fibonacci-Zahlen: gehen zurück auf Leonardo von Pisa (1175) z.b. Bestimmung der Nachkommenschaft eines Kaninchenpaares Jedes Kaninchen wird im Alter von 2 Monaten gebärfähig Jedes Paar bringt von da an ein Paar Kaninchen pro Monat zur Welt Monatliche Entwicklung der Anzahl der Kaninchenpaare: Fibonacci Zahlen Beispiel: Laufzeitanalyse Fibonacci-Zahl-Berechnung Wiederholung: Berechnung f 1 = f 2 = 1, f k = f k-1 + f k-2 für k > 2 Laufzeitanalyse: Berechnung der k-ten Fibonacci-Zahl Wiederholung: Beispiel k=8 für Berechnungsansatz: 1. Monat 2. Monat 3. Monat 4. Monat 5. Monat 6. Monat Nicht gebärfähig gebärfähig AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert 11 AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert 12

4 Laufzeitanalyse: Berechnung der k-ten Fibonacci-Zahl Berechnung f 1 = f 2 = 1, f k = f k-1 + f k-2 für k > 2 T rek (1) = T rek (2) = 0 F = Fib( k ) T(k) = T rek (k 1) + T rek (k 2) + 3, k 3 T rek (k) + 3 = T rek (k 1) + T rek (k 2) Sei: D(k) = T rek (k) + 3 Neue Rekursionsgleichung D(1) = D(2) = 3 (Rekursionsbeginn) D(k) = D(k 1) + D(k 2), k 3 % Rekursive Berechnung der F = Fib(k 1) + Fib(k 2); AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert 13 Rekursive Berechnung der k-ten Fibonacci Zahl erfordert T rek ( k ) = D(k) 3 = 3 (f k 1) Abschätzung für die k te Fibonacci Zahl Operationen k -1 2 k 2 f k k N, k > 2 : 2 2 Die Laufzeit für die Berechnung ist O(2 k ), d.h. exponentieller Rechenaufwand für die rekursive Berechnung der k ten Fibonacci Zahl f k. Für k = 100, sind mehr als Operationen erforderlich. Abschätzung unter Annahme von 1 ns pro Operation liefert über eine Woche Rechenzeit als untere Schranke. Tatsächlich sind es mehr als 8000 Jahre! AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert 14 Fazit: Die Entwurfsentscheidung, Rekursion zu verwenden, ist schlecht! Begründung: Rekursive Berechnung von f k-1 ist extrem ineffizient! Exponentielles Wachstum der Rechenzeit, denn durch die Rekursion werden die Teilprobleme f k-1 und f k-2 unabhängig voneinander berechnet. Es ist aber effizienter zur Berechnung von f k-1 auf das Ergebnis von f k-2 und f k-3 zurückzugreifen. Eine effizientere Lösung des Problems lässt sich iterativ erreichen. AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert 15 Iterative Berechnung der Fibonacci-Zahlen Idee: Addition der 2 jeweils vorhergehenden Zahlen Einfache Realisierung Beispiel k=8 F = Fibonacci( k ) % iterative Berechnung der { G = 1; for i=3 to k Temp = F + G; G = F; F = Temp; AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert 16

5 Abschätzen der Komplexität: Zählen der Anweisungen F = Fibonacci( k ) % iterative Berechnung der { G = 1; for i=3 to k Temp = F + G; G = F; F = Temp; AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert 17 Laufzeitanalyse der iterativen Berechnung T iter (1) = T iter (2) = 0 T iter (k) = 3 + T iter (k 1), k 3 Rekursionsgleichung T iter (k) = T iter (k 1) + 3 = T iter (k 2) = = T iter (k i) + 3 i, bis i = k 2 = T iter (k (k 2)) + 3 (k 2), mit T iter (2) = 0 T iter (k) = 3 (k 2) Der Rechenaufwand für die iterative Berechnung der k ten Fibonacci Zahl hat lineare Komplexität O(k). Beispiel: Berechnung von f in einer Sekunde bei 1 µs Rechenzeit pro Operation. AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert Induktion Motivation: Die Beweistechnik des Schließens mittels vollständiger Induktion wird vielfach benötigt, z.b. für Laufzeitanalysen Definition: Induktion bzw. induktives Schließen bezeichnet in der Logik und den Naturwissenschaften das Schließen vom Besonderen auf das Allgemeine zum Zweck des Erkenntnisgewinns. Bem.: bei der Rekursion wird ein Problem durch Abbildung auf Teilprobleme gelöst, während bei der Induktion der umgekehrte Weg gegangen wird. AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert 20

6 Vollständige Induktion wird in der Mathematik angewandt, um Aussagen nicht nur für endliche Mengen, sondern auch für unendliche Mengen (z.b. die Menge der natürlichen Zahlen) treffen zu können. Allgemeines Vorgehen: Induktions-Prinzip: Zunächst wird gezeigt, dass die Aussage A für ein festes n (in der Regel n=0 bzw. n=1) gilt (Induktionsanfang). Nun muss noch gezeigt werden, dass wenn für alle Zahlen x n die Aussage A(x) gilt, die Aussage auch für A(n+1) gilt. (Induktionsschritt) Induktionsbeweis zum Beweis einer Annahme: 1. Induktionsanfang 2. Induktionsvoraussetzung 3. Induktionsschritt 4. Induktionsschluss Beispiel 1: Zu beweisende Aussage: Induktionsanfang: n=0 Induktionsschritt: n n+1: AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert 21 AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert 22 Beispiel 2: Summe der Quadratzahlen Zu beweisende Aussage: Induktionsanfang: n=0 Induktionsschritt: n n+1: Wichtige Anwendung der Induktion: Terminierungsbeweise Definition Terminierung: Ein Algorithmus muss für alle zulässigen Eingabeparameter in endlich vielen Schritten eine Lösung finden. Zum Beweis der Terminierung von rekursiven Funktionen kann die Induktion verwendet werden. Zum Beweis werden so genannte Abstiegsfunktionen verwendet. AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert 23 AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert 24

7 Beweis der Terminierung durch Abstiegsfunktionen Eine Abstiegsfunktion g bildet die Menge der Eingabeparameter einer vorgelegten Funktion f auf eine natürliche Zahl ab. Wahl der Abstiegsfunktion: sie gibt eine obere Grenze für die Anzahl der rekursiven Aufrufe (Aufruftiefe) an. Es muss gezeigt werden, dass die Funktion f für alle Aufrufe mit Parametern, die auf einen Minimalwert (typischerweise 0 oder 1) abgebildet werden, sofort terminiert. Kann für die gewählte Abstiegsfunktion g bewiesen werden, dass für jeden Aufruf der Wert der Abstiegsfunktion abnimmt und durch den Minimalwert nach unten begrenzt ist, so ist damit auch die Terminierung bewiesen. AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert 25 Beweis der Terminierung durch Induktion 1. Induktionsanfang: Terminierung muss für das Minimum der Abstiegsfunktion bei Anwendung auf die zulässigen Argumente (typischerweise 0 oder 1) nachgewiesen werden. 2. Induktionsannahme: Die Terminierung sei für alle Aufrufe mit Argumenten, für die die Abstiegsfunktion einen Wert kleiner gleich n annimmt, nachgewiesen. 3. Induktionsschritt: Aufrufe mit Argumenten, für die die Abstiegsfunktion den Wert n+1 annimmt. Nachzuweisen ist, dass innerhalb dieser Aufrufe nur rekursive Aufrufe mit Argumenten arg auftreten, für die gilt: f(arg) n. Laut Induktionsannahme terminieren aber diese Aufrufe. AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert Induktionsschluss: Die Funktion terminiert auch für Aufrufe mit Argumenten bei denen die Abstiegsfunktion den Wert n+1 annimmt. Somit terminiert die Funktion für alle Aufrufe. Beispiel: Terminierung der Summe function sum(n) Abstiegsfunktion f(n) = n if n =0 then 0 zz: sum(arg) terminiert sofort, oder für alle rekursiven Unteraufrufe n= n+ sum(n-1) mit den Argumenten arg gilt: f(arg) > f(arg ) Induktionsanfang: n = 0, d.h. arg=0, d.h. f(0) = 0 Induktionsannahme: Beispiel: g=fac(n) Induktionsschritt: n n+1 zz f(arg) = n+1, falls arg=n+1 Es gilt: AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert 27 AuD, Kapitel 4 Algorithmenentwurf, WS10/11, C. Eckert 28

Ü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

Komplexität von Algorithmen

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

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

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

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

Komplexität von Algorithmen

Komplexität von Algorithmen Komplexität von Algorithmen Ziel Angabe der Effizienz eines Algorithmus unabhängig von Rechner, Programmiersprache, Compiler. Page 1 Eingabegröße n n Integer, charakterisiert die Größe einer Eingabe, die

Mehr

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise)

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise) WS 2014/15 Diskrete Strukturen Kapitel 2: Grundlagen (Beweise) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_14

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

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

Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.

Ü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.

Mehr

Programmiertechnik II

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

Mehr

3.2. Korrektheit und Komplexität am Beispiel: Sortieren Sortieren ist eine wichtige Basis-Operation für komplexe Algorithmen

3.2. Korrektheit und Komplexität am Beispiel: Sortieren Sortieren ist eine wichtige Basis-Operation für komplexe Algorithmen 3.2. Korrektheit und Komplexität am Beispiel: Sortieren Sortieren ist eine wichtige Basis-Operation für komplexe Algorithmen Sortierproblem Eingabe: Folge von n natürlichen Zahlen a 1, a 2,, a n, die Folge

Mehr

Induktion und Rekursion

Induktion und Rekursion Mathematische Beweistechniken Vorkurs Informatik SoSe13 10. April 013 Mathematische Beweistechniken Ziel Mathematische Beweistechniken Ziel beweise, dass eine Aussage A(n) für alle n N gilt. Beispiel Für

Mehr

Kapitel III. Aufbau des Zahlensystems

Kapitel III. Aufbau des Zahlensystems Kapitel III. Aufbau des Zahlensystems 1 Addition und Multiplikation natürlicher Zahlen Wir wollen erklären, wie man natürliche Zahlen addiert und multipliziert und dabei nur den Begriff das Zählens verwenden.

Mehr

... direkte Umsetzung in Scheme. Prozeduren und von ihnen erzeugte Prozesse Gültigkeitsbereiche und Rekursion

... direkte Umsetzung in Scheme. Prozeduren und von ihnen erzeugte Prozesse Gültigkeitsbereiche und Rekursion Prozeduren und von ihnen erzeugte Prozesse Gültigkeitsbereiche und Rekursion Stand: Wir kennen Elementare ( primitive ) Operationen Kombination dieser Operationen Abstraktion zusammengesetzter Operationen

Mehr

2. Algorithmenbegriff

2. Algorithmenbegriff 2. Algorithmenbegriff Keine Algorithmen: Anleitungen, Kochrezepte, Wegbeschreibungen,... Algorithmus: Berechnungsvorschrift, die angibt, wie durch Ausführung bestimmter Elementaroperationen aus Eingabegrößen

Mehr

Prof. Dr. Margarita Esponda

Prof. Dr. Margarita Esponda Die O-Notation Analyse von Algorithmen Die O-Notation Prof. Dr. Margarita Esponda Freie Universität Berlin ALP II: Margarita Esponda, 5. Vorlesung, 26.4.2012 1 Die O-Notation Analyse von Algorithmen Korrektheit

Mehr

11. Rekursion, Komplexität von Algorithmen

11. Rekursion, Komplexität von Algorithmen 11. Rekursion, Komplexität von Algorithmen Teil 2 Java-Beispiele: Power1.java Hanoi.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 23. Nov. 2015 Anwendung der Rekursion Rekursiv

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 / 16 4. Groß-O R. Steuding (HS-RM)

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

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Fortgeschrittene Rekursion Prof. Dr. Nikolaus Wulff Problematische Rekursion Mittels Rekursion lassen sich Spezifikationen recht elegant und einfach implementieren. Leider

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

Induktive Beweise und rekursive Definitionen

Induktive Beweise und rekursive Definitionen Induktive Beweise und rekursive Definitionen Vorlesung Logik in der Informatik, HU Berlin 1. Übungsstunde Beweis durch vollständige Induktion über N Aufgabe 1 Zeige, dass für alle n N gilt: n 2 i = 2 n+1

Mehr

Vorkurs: Mathematik für Informatiker

Vorkurs: Mathematik für Informatiker Vorkurs: Mathematik für Informatiker Teil 3 Wintersemester 2016/17 Steven Köhler mathe@stevenkoehler.de mathe.stevenkoehler.de 2 c 2016 Steven Köhler Wintersemester 2016/17 Inhaltsverzeichnis Teil 1 Teil

Mehr

3 Vom Zählen zur Induktion

3 Vom Zählen zur Induktion 7 3 Vom Zählen zur Induktion 3.1 Natürliche Zahlen und Induktions-Prinzip Seit unserer Kindheit kennen wir die Zahlen 1,, 3, 4, usw. Diese Zahlen gebrauchen wir zum Zählen, und sie sind uns so vertraut,

Mehr

Abschnitt: Algorithmendesign und Laufzeitanalyse

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

Mehr

Theoretische Informatik SS 03 Übung 3

Theoretische Informatik SS 03 Übung 3 Theoretische Informatik SS 03 Übung 3 Aufgabe 1 a) Sind die folgenden Funktionen f : partiell oder total: f(x, y) = x + y f(x, y) = x y f(x, y) = x y f(x, y) = x DIV y? Hierbei ist x DIV y = x y der ganzzahlige

Mehr

4 Effizienz und Komplexität 3.1 1

4 Effizienz und Komplexität 3.1 1 4 Effizienz und Komplexität 3.1 1 Effizienz (efficiency): auf den Ressourcen-Verbrauch bezogene Programmeigenschaft: hohe Effizienz bedeutet geringen Aufwand an Ressourcen. Typische Beispiele: Speichereffizienz

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

Algorithmen & Programmierung. Rekursive Funktionen (1)

Algorithmen & Programmierung. Rekursive Funktionen (1) Algorithmen & Programmierung Rekursive Funktionen (1) Berechnung der Fakultät Fakultät Die Fakultät N! einer nichtnegativen ganzen Zahl N kann folgendermaßen definiert werden: d.h. zur Berechnung werden

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

Informatik I: Einführung in die Programmierung

Informatik I: Einführung in die Programmierung Informatik I: Einführung in die Programmierung 7. Albert-Ludwigs-Universität Freiburg Bernhard Nebel 31. Oktober 2014 1 31. Oktober 2014 B. Nebel Info I 3 / 20 Um zu, muss man zuerst einmal. Abb. in Public

Mehr

11. Folgen und Reihen.

11. Folgen und Reihen. - Funktionen Folgen und Reihen Folgen Eine Folge reeller Zahlen ist eine Abbildung a: N R Statt a(n) für n N schreibt man meist a n ; es handelt sich also bei einer Folge um die Angabe der Zahlen a, a

Mehr

Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion

Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion Saskia Klaus 07.10.016 1 Motivation In den ersten beiden Vorträgen des Vorkurses haben wir gesehen, wie man aus schon bekannten Wahrheiten

Mehr

Vollständige Induktion

Vollständige Induktion Schweizer Mathematik-Olympiade smo osm Vollständige Induktion Aktualisiert: 1 Dezember 01 vers 100 Eine der wichtigsten Beweistechniken der Mathematik überhaupt ist die (vollständige) Induktion Wir nehmen

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

Funktionale Programmierung Teil 2 Methodik: Spezifikation, Implementierung, Verifikation

Funktionale Programmierung Teil 2 Methodik: Spezifikation, Implementierung, Verifikation Grundlagen der Programm- und Systementwicklung Funktionale Programmierung Teil 2 Methodik: Spezifikation, Implementierung, Verifikation Technische Universität München Institut für Informatik Software &

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 20 Einstieg in die Informatik mit Java Rekursion Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 20 1 Überblick 2 Rekursion 3 Rekursive Sortieralgorithmen 4 Backtracking

Mehr

Induktive Beweise und rekursive Definitionen

Induktive Beweise und rekursive Definitionen Induktive Beweise und rekursive Definitionen Vorlesung Logik in der Informatik, HU Berlin 1. Übungsstunde Beweis durch vollständige Induktion über N Aufgabe 1 Zeige, dass für alle n N gilt: n 2 i = 2 n+1

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 0..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

Ersetzbarkeitstheorem

Ersetzbarkeitstheorem Ersetzbarkeitstheorem Die Abgeschlossenheit läßt sich auch folgendermaßen formulieren: Ersetzbarkeitstheorem Seien F und G Formeln mit F G. SeienH und H Formeln, so daß H aus H hervorgeht, indem ein Vorkommen

Mehr

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 3, Donnerstag 6.

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

Mehr

Algorithmen und Datenstrukturen 1. EINLEITUNG. Algorithmen und Datenstrukturen - Ma5hias Thimm 1

Algorithmen und Datenstrukturen 1. EINLEITUNG. Algorithmen und Datenstrukturen - Ma5hias Thimm 1 Algorithmen und Datenstrukturen 1. EINLEITUNG Algorithmen und Datenstrukturen - Ma5hias Thimm (thimm@uni-koblenz.de) 1 Allgemeines Einleitung Zu den Begriffen: Algorithmen und Datenstrukturen systematische

Mehr

Algorithmen und Datenstrukturen 1-1. Seminar -

Algorithmen und Datenstrukturen 1-1. Seminar - Algorithmen und Datenstrukturen 1-1. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Wintersemester 2009/10 Inhalt der ersten beiden Vorlesungen Algorithmenbegriff Komplexität, Asymptotik

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Programmierung und Modellierung

Programmierung und Modellierung Programmierung und Modellierung Martin Wirsing in Zusammenarbeit mit Moritz Hammer SS 2009 2 2. Rekursive Funktionen und Induktion 1. Dateien laden, Kommentare und Fallunterscheidungen 2. Rekursive Funktionen

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen Wintersemester 2014/15 3. Vorlesung Laufzeitanalyse Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Recap: Diskutieren Sie mit Ihrer NachbarIn! 1. 2. 3. Was sind

Mehr

Programmierung 1 - Repetitorium

Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage: http://info1.marcwagner.info Donnerstag, den 10.04.03 Kapitel 7 Korrektheit 7.1 Abstrakte Prozeduren Abstrakte Prozedur

Mehr

1.2 Eigenschaften der ganzen Zahlen

1.2 Eigenschaften der ganzen Zahlen Lineare Algebra I WS 2015/16 c Rudolf Scharlau 13 1.2 Eigenschaften der ganzen Zahlen Dieser Abschnitt handelt von den gewöhlichen ganzen Zahlen Z und ihren Verknüpfungen plus und mal. Man kann die natürlichen

Mehr

Rekursionsanfang, Rekursionsschritt oder äquivalente Antworten. (z.b.: Abbruchbedingung (= Basisfall), eigentliche Rekursion (= Selbstaufruf))

Rekursionsanfang, Rekursionsschritt oder äquivalente Antworten. (z.b.: Abbruchbedingung (= Basisfall), eigentliche Rekursion (= Selbstaufruf)) Formale Methoden der Informatik WS / Lehrstuhl für Datenbanken und Künstliche Intelligenz Prof.Dr.Dr.F.J.Radermacher H. Ünver T. Rehfeld J. Dollinger 8. Aufgabenblatt Besprechung in den Tutorien vom..

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Große Übung #6 Phillip Keldenich, Arne Schmidt 26.02.2017 Heute: Master-Theorem Phillip Keldenich, Arne Schmidt Große Übung 2 Vorbetrachtungen Wir betrachten rekursive Gleichungen

Mehr

Abschnitt 18: Effizientes Suchen in Mengen

Abschnitt 18: Effizientes Suchen in Mengen Abschnitt 18: Effizientes Suchen in Mengen 18. Effizientes Suchen in Mengen 18.1 Vollständig ausgeglichene binäre Suchbäume 18.2 AVL-Bäume 18.3 Operationen auf AVL-Bäumen 18.4 Zusammenfassung 18 Effizientes

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

Donnerstag, 11. Dezember 03 Satz 2.2 Der Name Unterraum ist gerechtfertigt, denn jeder Unterraum U von V ist bzgl.

Donnerstag, 11. Dezember 03 Satz 2.2 Der Name Unterraum ist gerechtfertigt, denn jeder Unterraum U von V ist bzgl. Unterräume und Lineare Hülle 59 3. Unterräume und Lineare Hülle Definition.1 Eine Teilmenge U eines R-Vektorraums V heißt von V, wenn gilt: Unterraum (U 1) 0 U. (U ) U + U U, d.h. x, y U x + y U. (U )

Mehr

Laufzeit und Komplexität

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

Mehr

In diesem Abschnitt betrachten wir nur quadratische Matrizen mit Komponenten aus einem Körper K, also A K n n für ein n N. Wenn (mit einem n > 1)

In diesem Abschnitt betrachten wir nur quadratische Matrizen mit Komponenten aus einem Körper K, also A K n n für ein n N. Wenn (mit einem n > 1) 34 Determinanten In diesem Abschnitt betrachten wir nur quadratische Matrizen mit Komponenten aus einem Körper K, also A K n n für ein n N Wenn (mit einem n > 1) a 11 a 12 a 1n a 21 a 22 a 2n A =, (1)

Mehr

Praktische Informatik I Der Imperative Kern Rekursive Funktionen

Praktische Informatik I Der Imperative Kern Rekursive Funktionen Praktische Informatik I Der Imperative Kern Rekursive Funktionen Prof. Dr. Stefan Edelkamp Institut für Künstliche Intelligenz Technologie-Zentrum für Informatik und Informationstechnik (TZI) Am Fallturm

Mehr

6.1 Natürliche Zahlen 6.2 Induktion und Rekursion 6.3 Ganze, rationale, reelle und komplexe Zahlen 6.4 Darstellung von Zahlen

6.1 Natürliche Zahlen 6.2 Induktion und Rekursion 6.3 Ganze, rationale, reelle und komplexe Zahlen 6.4 Darstellung von Zahlen 6. Zahlen 6.1 Natürliche Zahlen 6.2 Induktion und Rekursion 6.3 Ganze, rationale, reelle und komplexe Zahlen 6.4 Darstellung von Zahlen 6. Zahlen GM 6-1 6.1 Natürliche Zahlen Vom lieben Gott gemacht Menschenwerk:

Mehr

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Stefan Lucks Diskrete Strukturen (WS 2009/10) 57 2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32,

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

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

Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Mittwoch den

Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Mittwoch den Fachbereich Mathematik Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Mittwoch den 8.9.011 Vorkurs Mathematik WS 011/1 Die mit * gekennzeichneten Aufgaben sind etwas schwerer. Dort braucht

Mehr

Technische Universität München WS 2012/13 Fakultät für Informatik Lösungsvorschläge zu Blatt 4 Dr. C. Herzog, M. Maalej 12.

Technische Universität München WS 2012/13 Fakultät für Informatik Lösungsvorschläge zu Blatt 4 Dr. C. Herzog, M. Maalej 12. 4/1 Technische Universität München WS 2012/13 Fakultät für Informatik Lösungsvorschläge zu Blatt 4 Dr. C. Herzog, M. Maalej 12. November 2012 Übungen zu Grundlagen der Programmierung Aufgabe 14 (Lösungsvorschlag)

Mehr

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie Hochschuldozent Dr. Christian Schindelhauer Paderborn, den 21. 2. 2006 Lösungen zur 1. Klausur in Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie Name :................................

Mehr

Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung

Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung Gliederung 1. Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs 6. Ausgewählte

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra

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)

Mehr

3 Vollständige Induktion

3 Vollständige Induktion 3.1 Natürliche Zahlen In den vorherigen Kapiteln haben wir die Menge der natürlichen Zahlen schon mehrfach als Beispiel benutzt. Das Konzept der natürlichen Zahlen erscheint uns einfach, da wir es schon

Mehr

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

Konzepte und Methoden der Programmierung Lösungen P. Fierz / FS 2012 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

Mehr

Vorkurs: Mathematik für Informatiker

Vorkurs: Mathematik für Informatiker Vorkurs: Mathematik für Informatiker Lösungen Wintersemester 2016/17 Steven Köhler mathe@stevenkoehler.de mathe.stevenkoehler.de 2 c 2016 Steven Köhler Wintersemester 2016/17 Kapitel I: Mengen Aufgabe

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

16. All Pairs Shortest Path (ASPS)

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

Mehr

Fachwissenschaftliche Grundlagen

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

Mehr

Teil III. Komplexitätstheorie

Teil III. Komplexitätstheorie Teil III Komplexitätstheorie 125 / 160 Übersicht Die Klassen P und NP Die Klasse P Die Klassen NP NP-Vollständigkeit NP-Vollständige Probleme Weitere NP-vollständige Probleme 127 / 160 Die Klasse P Ein

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Berechenbarkeit und Komplexität Prof. Dr. Nikolaus Wulff Berechenbarkeit Im Rahmen der Turingmaschine fiel zum ersten Mal der Begriff Berechenbarkeit. Ein Funktion f heißt

Mehr

Kombinatorik von Zahlenfolgen

Kombinatorik von Zahlenfolgen 6. April 2006 Vorlesung in der Orientierungswoche 1 Kombinatorik von Zahlenfolgen Einige Beispiele Jeder kennt die Fragen aus Intelligenztests, in denen man Zahlenfolgen fortsetzen soll. Zum Beispiel könnten

Mehr

Kettenbrüche. dar, und allgemein: a 1 + 1

Kettenbrüche. dar, und allgemein: a 1 + 1 Kettenbrüche Um die Verfahren der höheren Mathematik besser verstehen zu können, ist es ratsam, sich über die verwendeten Zahlen Gedanken zu machen. Der Grieche Hippasos (5. Jahrh. v. Chr.) entdeckte,

Mehr

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen 1 Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Ziele 2 Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:

Mehr

Einführung in die Informatik 1

Einführung in die Informatik 1 Einführung in die Informatik 1 Algorithmen und algorithmische Sprachkonzepte Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag,

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 6: Induktives Vorgehen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische

Mehr

Themen: Kubische Gleichungen, Ungleichungen, Induktion

Themen: Kubische Gleichungen, Ungleichungen, Induktion Lo sungen zu U bungsblatt Mathematik fu r Ingenieure Maschinenbauer und Sicherheitstechniker), 1. Semester, bei Prof. Dr. G. Herbort im WiSe1/14 Dipl.-Math. T. Pawlaschyk, 05.11.1 Themen: Kubische Gleichungen,

Mehr

Musterlösungen zu Datenstrukturen und Algorithmen SS 2005 Blatt 2, Aufgabe 3 Wir schreiben zunächst alle Funktionen zur Basis 2.

Musterlösungen zu Datenstrukturen und Algorithmen SS 2005 Blatt 2, Aufgabe 3 Wir schreiben zunächst alle Funktionen zur Basis 2. Prof. Dr. Johannes Blömer Paderborn, den. August 005 Musterlösungen zu Datenstrukturen und Algorithmen SS 005 Blatt, Aufgabe 3 Wir schreiben zunächst alle Funktionen zur Basis. Dann erhalten wir 3 n log(n)

Mehr

Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Donnerstag den x > 1 3x > 3 3x + 3 > 6 6x + 3 > 3x + 6.

Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Donnerstag den x > 1 3x > 3 3x + 3 > 6 6x + 3 > 3x + 6. Fachbereich Mathematik Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Donnerstag den 7.9.01 Vorkurs Mathematik WS 01/13 Die mit * gekennzeichneten Aufgaben sind etwas schwerer. Dort braucht

Mehr

Kapitel 3. Natürliche Zahlen und vollständige Induktion

Kapitel 3. Natürliche Zahlen und vollständige Induktion Kapitel 3 Natürliche Zahlen und vollständige Induktion In Kapitel 1 haben wir den direkten Beweis, den modus ponens, kennen gelernt, der durch die Tautologie ( A (A = B) ) = B gegeben ist Dabei war B eine

Mehr

Speicher und Adressraum

Speicher und Adressraum Linearer Speicher (Adressraum) Technische Universität München Speicher und Adressraum Freie Speicherhalde (Heap) Freier Speicherstapel (Stack) Globale Variablen Bibliotheksfunktionen Laufzeitsystem Programmcode

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

Handout zu Beweistechniken

Handout zu Beweistechniken Handout zu Beweistechniken erstellt vom Lernzentrum Informatik auf Basis von [Kre13],[Bün] Inhaltsverzeichnis 1 Was ist ein Beweis? 2 2 Was ist Vorraussetzung, was ist Behauptung? 2 3 Beweisarten 3 3.1

Mehr

Kapitel 3. Konvergenz von Folgen und Reihen

Kapitel 3. Konvergenz von Folgen und Reihen Kapitel 3. Konvergenz von Folgen und Reihen 3.1. Normierte Vektorräume Definition: Sei V ein Vektorraum (oder linearer Raum) über (dem Körper) R. Eine Abbildung : V [0, ) heißt Norm auf V, falls die folgenden

Mehr

Algorithmen und Datenstrukturen 1 Kapitel 3

Algorithmen und Datenstrukturen 1 Kapitel 3 Algorithmen und Datenstrukturen 1 Kapitel 3 Technische Fakultät robert@techfak.uni-bielefeld.de Vorlesung, U. Bielefeld, Winter 2005/2006 3.6 Dynamische Programmierung Die rekursive Problemzerlegung kann

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

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

Elementare Beweismethoden

Elementare Beweismethoden Elementare Beweismethoden Christian Hensel 404015 Inhaltsverzeichnis Vortrag zum Thema Elementare Beweismethoden im Rahmen des Proseminars Mathematisches Problemlösen 1 Einführung und wichtige Begriffe

Mehr

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

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

Rechenregeln für Summen

Rechenregeln für Summen Rechenregeln für Summen Im Umgang mit Summen sind gewisse Regeln zu beachten. 1 Summe gleicher Summanden Betrachten wir folgende Summe: x Hier enthält x keinen Summationsindex, d.h. es wird x einfach n-mal

Mehr

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:

Mehr

2. Teilbarkeit. Euklidischer Algorithmus

2. Teilbarkeit. Euklidischer Algorithmus O. Forster: Einführung in die Zahlentheorie 2. Teilbarkeit. Euklidischer Algorithmus 2.1. Wir benutzen die folgenden Bezeichnungen: Z = {0, ±1, ±2, ±3,...} Menge aller ganzen Zahlen N 0 = {0, 1, 2, 3,...}

Mehr

Achtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass

Achtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass Achtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass f O g und auch g O f. Wähle zum Beispiel und G. Zachmann Informatik

Mehr

Rekursive Auswertungsprozesse in Haskell

Rekursive Auswertungsprozesse in Haskell Rekursive Auswertungsprozesse in Haskell Auswertungsprozess, der durch eine rekursive Funktion bewirkt wird Beispiel: Auswertung der rekursiven Fakultätsfunktion 0! := 1 n! := n (n 1)! fakultaet x = if

Mehr

Algorithmen und Datenstrukturen Laufzeitabschätzung

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,

Mehr

Dezimaldarstellung ganzer Zahlen (Division mit Rest) 1 Division mit Rest in der Hochschule

Dezimaldarstellung ganzer Zahlen (Division mit Rest) 1 Division mit Rest in der Hochschule Berufsfeldbezogenes Fachseminar - Zahlentheorie Lisa Laudan Prof. Dr. Jürg Kramer Wintersemester 2014/2015 Dezimaldarstellung ganzer Zahlen (Division mit Rest) 1 Division mit Rest in der Hochschule 1.1

Mehr

Komplexität. G. Zachmann Clausthal University, Germany Leistungsverhalten von Algorithmen

Komplexität. G. Zachmann Clausthal University, Germany Leistungsverhalten von Algorithmen lausthal Informatik II Komplexität von Algorithmen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Leistungsverhalten von Algorithmen Speicherplatzkomplexität: Wird primärer & sekundärer

Mehr