... direkte Umsetzung in Scheme. Prozeduren und von ihnen erzeugte Prozesse Gültigkeitsbereiche und Rekursion
|
|
- Viktor Fertig
- vor 7 Jahren
- Abrufe
Transkript
1 Prozeduren und von ihnen erzeugte Prozesse Gültigkeitsbereiche und Rekursion Stand: Wir kennen Elementare ( primitive ) Operationen Kombination dieser Operationen Abstraktion zusammengesetzter Operationen Analogie zum Schachspiel: Wir kennen die Regeln, aber nicht auf welche Züge es ankommt (welche Prozeduren wir wie kombinieren sollen) was die Konsequenzen eines Zuges sind (was die Ausführung einer Prozedur bewirkt) Beachte: Lokales vs. globales Verhalten... direkte Umsetzung in Scheme (define (fact n) (if (= n 1) ; 1! = 1 1 (* n (fact (- n 1))))) Hinweis: Ausführliche Diskussion in Algorithmik 1, Kap. 8 (Partielle) Korrektheit gemäss Spezifikation Zusammenhang zwischen Rekursionsschema und vollständiger Induktion Termination Keine zirkuläre Definition: fact wird nicht durch sich selbst definiert vermindertes Teilproblem G. Görz, FAU, Inf G. Görz, FAU, Inf Lineare Rekursion und Iteration Prozedur: Schema für die lokale Entwicklung eines Berechnungsprozesses Beispiel: Fakultätsfunktion, n N n! =n (n 1) (n 2) Also: 1! = 1 und n! ist n (n 1)! für alle n>1 n! = n ((n 1) (n 2) ) = n (n 1)! Anwendung des Substitutionsmodells auf die Berechnung von (fact 6) (fact 6) (* 6 (fact 5)) (* 6 (* 5 (fact 4))) (* 6 (* 5 (* 4 (fact 3)))) (* 6 (* 5 (* 4 (* 3 (fact 2))))) (* 6 (* 5 (* 4 (* 3 (* 2 (fact 1)))))) (* 6 (* 5 (* 4 (* 3 (* 2 1))))) (* 6 (* 5 (* 4 (* 3 2)))) (* 6 (* 5 (* 4 6))) (* 6 (* 5 24)) (* 6 120) 720 Linear rekursiver Prozeß zur Berechnung von 6! G. Görz, FAU, Inf G. Görz, FAU, Inf.8 3 4
2 Lineare Rekursion: Anmerkungen Anmerkungen zum Berechnungsprozeß: Zwei Phasen: Expansion und Kontraktion Während der Expansion werden Berechnungsschritte aufgeschoben : (n 1) Multiplikationen Buchhaltung über Zwischeninformation! Aufwand der Buchhaltung hier linear proportional zu n In der Kontraktion werden die Multiplikationen ausgeführt Es gibt keine Zwischenergebnisse Zwischenzustände ergeben sich aus der Buchhaltung Linear iterativer Prozeß Motivation: Wir nehmen im Beispiel eine andere Perspektive ein: Beschreibung einer Regel zur Berechnung von n!, indem wir zuerst 1 mit 2, dann das Ergebnis mit 3, dann mit 4, etc. multiplizieren, bis wir n erreicht haben. D.h.: Wir halten in jedem Schritt ein Produkt fest zusammen mit einem Zähler, der von 1 bis n läuft. In jedem Schritt ändern sich der Zähler und das Produkt gleichzeitig nach der Regel product counter product counter counter +1, wobei n! gleich dem Wert des Produkts ist, wenn der Zähler n überschreitet. G. Görz, FAU, Inf G. Görz, FAU, Inf Lineares Rekursionsschema Beispiel: Fakultät iterativ 1. Finde heraus, wie ein Rekursions-Schritt durchzuführen ist. (define (fact n) ; Blockstruktur! 2. Zerlege das Problem in Arbeitsschritt und vermindertes Teilproblem 3. Lege fest, wann das (schon gelöste) Basisproblem erreicht ist (Rekursionsende) Schema für linear rekursive Funktionen: (define (f_linrec...) (cond (P <STOP>) { (Q (g (f_linrec...))) } (else (h (f_linrec...))) )) (define (fact-iter product counter) (if (> counter n) product (fact-iter (* counter product) (+ counter 1)) )) (fact-iter 1 1)) G. Görz, FAU, Inf G. Görz, FAU, Inf.8 3 8
3 Beispiel: Linear iterativer Prozeß Schema für rest-rekursive Funktionen Linear iterativer Prozeß zur Berechnung von 6! (erste Version) (fact 6) (fact-iter 1 1) (fact-iter 1 2) (fact-iter 2 3) (fact-iter 6 4) (fact-iter 24 5) (fact-iter 120 6) (fact-iter 720 7) 720 auch: end-rekursiv, rumpf-rekursiv ( tail recursive ) (define (f_tailrec...) (cond (P <STOP>) { (Q (f_tailrec...)) } (else (f_tailrec...)) )) Anforderung an jede Scheme-Implementation: Rest-rekursive Prozeduren müssen intern als iterative Prozesse ausgeführt werden keine Belastung der internen Buchhaltung Hinweis: Verschränkte Restrekursion (Beispiel: Algorithmik 1) G. Görz, FAU, Inf G. Görz, FAU, Inf Anmerkungen zum Berechnungsprozeß Keine verschiedenen Phasen Zwischeninformation in den Variablen product, counter, max-count (bzw. n) Zwischenergebnisse werden explizit in der Akkumulatorvariablen product festgehalten (akkumuliert) Aufwand ist ebenfalls linear (Sequentielle Aufzählung der Elemente des Definitionsbereichs: natürliche Zahlen) Der durch fact-iter verursachte Berechnungsprozeß ist iterativ; die Prozedur fact selbst jedoch (rest-) rekursiv Iterativ vs. rekursiv in Bezug auf Prozesse betrifft die Buchhaltung und die Aufschiebung von Berechnungsschritten Äquivalenz der linear-rekursiven und der rest-rekursiven Version (define (fact n) (if (= n 1) 1 (* n (fact (- n 1))))) (define (fact-i n product) (if (= n 1) product (fact-i (- n 1) (* product n)))) Vereinfachte Variante der rest-rekursiven Fakultätsfunktion: zählt abwärts Beh.: n 1. (fact n) = (fact-i n 1) G. Görz, FAU, Inf G. Görz, FAU, Inf
4 n = 1: (fact 1) = 1 = (fact-i 1 1) n > 1: (fact n) = (* n (fact (- n 1))) Definition = (* n (fact-i (- n 1) 1)) Induktionsannahme = (fact-i (- n 1) (* n 1)) Lemma = (fact-i (- n 1) (* 1 n)) = (fact-i n 1) Definition Lemma: (* a (fact-i n z)) = (fact-i n (* a z)) n = 1: (* a (fact-i 1 z)) = (* a z) = (fact-i 1 (* a z)) Baumrekursion Beispiel: Fibonacci (Leonardo von Pisa: Kaninchenaufgabe) Rekursionsgleichungen: F 0 = 0 F 1 = 1 F n = F n 1 + F n 2 ergibt die Folge: G. Görz, FAU, Inf G. Görz, FAU, Inf n > 1: (* a (fact-i n z)) = (* a (fact-i (- n 1) (* z n))) Definition = (fact-i (- n 1) (* a (* z n))) Induktionsannahme = (fact-i (- n 1) (* (* a z) n)) Assoziativität = (fact-i n (* a z)) Definition Als Scheme-Prozedur: (define (fib n) (cond ((= n 0) 0) ((= n 1) 1) (else (+ (fib (- n 1)) (fib (- n 2)))) )) G. Görz, FAU, Inf G. Görz, FAU, Inf
5 Fibonacci-Baum Die Fibonacci-Prozedur ist ein charakteristisches Beispiel für Baum-Rekursion: (fib 20) = 6765, (fib 30) = Baum-Rekursion Folge der Verarbeitungsschritte bildet strukturell den zu verarbeitenden Baum nach! baum-rekursiv Schema für baum-rekursive Funktionen: (define (f_treerec...)... (G (f_treerec...) (f_treerec...)...)...) G. Görz, FAU, Inf G. Görz, FAU, Inf Fibonacci-Baum (Forts.) Der Fibonacci-Baum enthält fib(n +1) Blätter: fib(0) bzw. fib(1) Wie groß ist fib(n) ungefähr? Sei φ definiert durch: φ 2 = φ +1 also: φ =(1+ 5)/ ( goldenes Verhältnis ) Dann: fib(n) φ n / 5 D.h., der Fibonacci-Baum wächst exponentiell in Bezug auf die Blätteranzahl: exponentiell abhängig von n Die meiste Zeit wird zur (erneuten) Berechnung bereits berechneter Zwischenergebnisse verbraucht; z.b. die Hälfte zur Berechnung von F n 2, was bereits bei der Berechnung von F n 1 verwendet worden war. Speicherbedarf = Anzahl der Ebenen im Baum: linear proportional zu n Fibonacci iterativ Die baum-rekursive Fibonacci-Prozedur ist in höchstem Maß ineffizient, Umbau in eine iterative Prozedur mit zwei Akkumulatorvariablen a, b: Anfangswertea=1,b=0 Simultane Transformationen a a+b b a G. Görz, FAU, Inf G. Görz, FAU, Inf
6 Iterationsschritte: n=1 a=1 b=0 n=2 a=1 b=1 n=3 a=2 b=1 n=4 a=3 b=2 n=5 a=5 b=3 n=6 a=8 b=5 n = 7 a = 13 b = 8 i fib(i) fib(i 1) Aufwände von Algorithmen und Komplexitätsmaße Rekapitulation: Algorithmik 1, Kap. 13 Um die Effizienz von Algorithmen vergleichen zu können, braucht man eine Abschätzung der Zeit oder des Speicherplatzes, die sie abhängig von der benötigen. Sei n ein Eingabeparameter ( Größe der Eingabe ); es werden die Funktionen } T (n) Zeitbedarf Ressourcen P (n) Platzbedarf untersucht, wobei die Größenordnung O des Ressourcenbedarfs (Ordnung des Aufwands) interessiert. G. Görz, FAU, Inf G. Görz, FAU, Inf (define (fib n) Fibonacci: rest-rekursiv (define (fib-iter a b count) (if (= count 0) b (fib-iter (+ a b) a (- count 1)))) (fib-iter 1 0 n)) Aufwände der rekursiven Beispiele Rekursive Fakultät: T (n) P (n) Iterative Fakultät: T (n) P (n) Rekursive Fibonacci-Prozedur: Iterative Fibonacci-Prozedur: = O(n) = O(n) = O(n) = O(1) T (n) = O(φ n ) P (n) = O(n) Rest-rekursiv: konstanter Speicherbedarf, linearer Zeitbedarf ( Zwischenwerte werden jeweils nur einmal berechnet!) T (n) P (n) = O(n) = O(1) G. Görz, FAU, Inf G. Görz, FAU, Inf
7 Beispiel: Exponentiation (Potenzbildung) Basis b, Exponent n (integer 0) Rekursive Fassung: b 0 =1 b n = b b n 1 (define (expt b n) (if (= n 0) 1 (* b (expt b (- n 1))))) T (n) =O(n) P (n) =O(n) Schnelle Exponentiation Verwendung von Quadraten, z.b. b 8 =(b 4 ) 2 =((b 2 ) 2 ) 2 Umformung allgemein: b n = { (b n/2 ) 2 n gerade b b n 1 n ungerade (define (fast-expt b n) (cond ((= n 0) 1) ((even? n) (square (fast-expt b (/ n 2)))) (else (* b (fast-expt b (- n 1)))))) G. Görz, FAU, Inf G. Görz, FAU, Inf Iterative Fassung: (define (expt b n) T (n) =O(n) (define (expt-iter counter product) (if (= counter 0) product (expt-iter (- counter 1) (* b product)))) (expt-iter n 1)) P (n) =O(1) b 2n benötigt eine Multiplikation mehr als b n, damit: z.b. n = 1000: 14 Multiplikationen T (n) = O(log n) P (n) = O(log n) G. Görz, FAU, Inf G. Görz, FAU, Inf
8 Vorgehen Ein weiteres Beispiel: Primzahltest Suche die kleinste Zahl 2, dien teilt. n ist Primzahl die gefundene Zahl ist n selbst. Um eine Rekursion zu ermöglichen, wird die Fragestellung verallgemeinert: Suche die kleinste Zahl t, die n teilt. Ansatz: Ist t 2 >n? ja: nur n selbst teilt n nein: t teilt n? ja: t ist der kleinste Teiler von n nein: Suche weiter ab t +1 Primzahltest (3) (define (prime? n) (define (smallest-divisor n) ; n eliminierbar... (find-divisor n 2)) (define (find-divisor n test-divisor) (cond ((> (square test-divisor) n) n) ((divides? test-divisor n) test-divisor) (else (find-divisor n (+ test-divisor 1))))) (define (divides? a b) (= (remainder b a) 0)) (= n (smallest-divisor n))) Aufwandsordnung der Schrittzahl, um n als Primzahl zu identifizieren: T (n) =O( n) G. Görz, FAU, Inf G. Görz, FAU, Inf Primzahltest (2) Spezifikationsskizze: 1. n ist Primzahl, falls gilt: t teilt n t =1 t = n, d.h.n hat keine echten Teiler 2. Jede Zahl hat mindestens zwei Teiler. Für Primzahlen gilt: zweitkleinster-teiler(n) =n 3. zweitkleinster-teiler(n): kleinster Teiler von n, dergrößer ist als 1 (smallest-divisor n) 4. Prozedur finde-größeren-teiler : (find-divisor n test-divisor) test-divisor ist der kleinste Teiler, der versucht wird. Abbruchkriterium: Ist n keine Primzahl, so muß es einen Teiler n haben. Denn: Falls d teilt n, soauchn/d teilt n; entwederd oder n/d n Schneller Primzahltest: Fermat-Test Zwei Zahlen heißen kongruent modulo n, wenn sie beide bei der Division durch n denselben Rest haben. Der Divisionsrest einer Zahl a bei der Division durch n heißt auch der Rest von a modulo n oder einfach a modulo n. Kleiner Fermatscher Satz: Wenn n Primzahl und a natürliche Zahl mit 2 a<n, so gilt: a n a mod n Idee des Fermat-Tests: Wähle ein a<nund berechne Rest von a n mod n. Falls Rest = a, dannistn eventuell eine Primzahl, andernfalls keine. Iteriert probabilistischer Algorithmus G. Görz, FAU, Inf G. Görz, FAU, Inf
9 Beispiel zum Fermat-Test Fermat-Test vervollständigt Beispiel: n =5 1 5 = 1 1mod5 2 5 = 32 2mod5 3 5 = 243 3mod5 4 5 = mod5 5 5 = mod5 Gegenbeispiel: n =4 1 4 = 1 1mod4 2 4 = 16 0mod4 3 4 = 81 1mod4 (define (fermat-test n) (define a (+ 2 (random (- n 2)))) (= (exptmod a n n) a)) Idee zum Zeitgewinn: Wähle a (1 <a<n) zufällig aus mittels Zufallszahlen-Generators (random r). Test mit mehreren, aber nicht allen a. Jedes a, das den Test besteht, ist ein Indiz für n prim. G. Görz, FAU, Inf G. Görz, FAU, Inf exptmod Für den Fermat-Test wird der Rest von b e mod m gesucht, d.h. Erster Ansatz: b e x mod m (define (exptmod2 b e m) (modulo (fast-expt b e) m)) (define (fast-prime? n times) (cond ((= times 0) #t) ((fermat-test n) (fast-prime? n (- times 1))) (else #f))) Aufwand: O(log n) gegenüber O( n) für prime?! exptmod2 ist ungeeignet für den Fermat-Test, denn z.b. beim Test von 997 wird benötigt: a 997 a mod 997? Aber: (fast-expt a 997) für a<997 funktioniert nur für kleine a ( 4) Gesucht: ein kleineres exptmod! (s. Anhang) G. Görz, FAU, Inf G. Görz, FAU, Inf
10 Anmerkungen zu fast-prime? Verfahren ist probabilistisch: Ergebnis #t gibt Evidenz für Primzahl, keine Sicherheit Es gibt Zahlen, die das Verfahren irreführen: 561, 1105,... (Carmichaelsche Zahlen 16 Stück < bei 8500 Primzahlen) Es gibt Varianten des Verfahrens, die nicht in die Irre geführt werden können Es gibt Verfahren mit geringerer Fehlerwahrscheinlichkeit als Wahrscheinlichkeit eines Hardwarefehlers während Laufzeit Primzahltests haben praktischen Nutzen, z.b. sind sie in der Kryptographie Basis der meisten modernen unbreakable Codes Zur Komplexitätsabschätzung Gut: f(n) ist Polynom (polynomiale Komplexität) Schlecht: sonst (exponentielle Komplexität) Beachte: worst case Abschätzungen (ungünstigster Fall) Exponentielle Lösungen können sehr wohl brauchbar sein, wenn: ein Programm nur wenige Male verwendet wird; ein Programm nur mit kleinen Eingaben benutzt wird; eine effizientere Lösung ist so kompliziert ist, dass sie nicht mehr modifiziert werden kann; Zeiteffizienz auf Kosten von Platzeffizienz geht. G. Görz, FAU, Inf G. Görz, FAU, Inf Abschließende Bemerkungen Die meisten der behandelten rekursiven Prozesse (Ausnahme z.b. fib) haben dieselbe Ordnung im Wachstum von Zeit- und Speicherbedarf Bezeichnungen für die gängigen Fälle: Iteration für konstanten Platzbedarf Rekursion für nicht-konstanten Platzbedarf Lineare Iteration und lineare Rekursion für Prozesse, bei denen alle Anforderungen mit Ausnahme des Platzbedarfs für einen Iterationsschritt linear sind ANHANG ZUR SELBSTÄNDIGEN NACHARBEIT G. Görz, FAU, Inf G. Görz, FAU, Inf
11 Ein kleineres exptmod exptmod (Forts.) Das Problem: Falls e gerade: dann: b e x mod m b e =(b e/2 ) 2 b e (b e/2 ) 2 mod m a 2 mod m mit (b e/2 ) 2 a mod m (define (exptmod b e m) (cond ((= e 0) 1) ((even? e) (remainder (square (exptmod b (/ e 2) m)) m)) (else (remainder (* b (exptmod b (- e 1) m)) m)))) G. Görz, FAU, Inf G. Görz, FAU, Inf Entsprechend für e ungerade: Vorgehen analog zu fast-expt gleiche Rekursionsidee: dann: b e = b b e 1 b e a 1 a 2 mod m mit b a 1 mod m b e 1 a 2 mod m Fallunterscheidung für gerade und ungerade Exponenten sukzessives Quadrieren, sodass die Anzahl der Schritte logarithmisch mit dem Exponenten wächst T (n) =O(log n) P (n) =O(log n) G. Görz, FAU, Inf G. Görz, FAU, Inf
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( )= 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
MehrKomplexitä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
Mehr2. 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
MehrBemerkung: 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)
MehrIsomorphismus. Definition Gruppen-Isomorphismus. Seien (G, +) und (G, ) Gruppen. Die Abbildung f : G G heißt Gruppen-Isomorphismus, falls gilt
Isomorphismus Definition Gruppen-Isomorphismus Seien (G, +) und (G, ) Gruppen. Die Abbildung f : G G heißt Gruppen-Isomorphismus, falls gilt 1 f ist bijektiv f (u + v) = f (u) f (v) für alle u, v G, die
MehrDiskrete Mathematik 1
Ruhr-Universität Bochum Lehrstuhl für Kryptologie und IT-Sicherheit Prof. Dr. Alexander May M. Ritzenhofen, M. Mansour Al Sawadi, A. Meurer Lösungsblatt zur Vorlesung Diskrete Mathematik 1 WS 008/09 Blatt
MehrExponentiation: 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:
MehrExponentiation: 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:
MehrKryptographische Protokolle
Kryptographische Protokolle Lerneinheit 2: Generierung von Primzahlen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Wintersemester 2018/2019 15.11.2018 Einleitung Einleitung Diese Lerneinheit
MehrProbabilistische Primzahltests
23.01.2006 Motivation und Überblick Grundsätzliches Vorgehen Motivation und Überblick Als Primzahltest bezeichnet man ein mathematisches Verfahren, mit dem ermittelt wird, ob eine gegebene Zahl eine Primzahl
MehrStabilitätsabschätzungen Vorlesung vom
Stabilitätsabschätzungen Vorlesung vom 8.12.17 Auswertungsbäume zur systematischen Stabilitätsabschätzung Auswertungsbaum: Knoten, gerichtete Kanten, Wurzel, Blätter Zerlegung in Teilbäume Von den Blättern
MehrÜberblick. Notwendigkeit der Rekursion (1)
Überblick 1. Die Prozedur als Kernbegriff der Programmierung 2. Prozeduren zur Bildung von Abstraktionsbarrieren: Lokale Deklarationen 3. Prozeduren versus Prozesse 4. Ressourcenbedarf Größenordnungen
MehrProgrammieren und Problemlösen
Dennis Komm Programmieren und Problemlösen Komplexität von Algorithmen Frühling 2019 27. Februar 2019 Komplexität von Algorithmen Aufgabe Primzahltest Schreibe ein Programm, das eine ganze Zahl x als Eingabe
MehrRelationen und DAGs, starker Zusammenhang
Relationen und DAGs, starker Zusammenhang Anmerkung: Sei D = (V, E). Dann ist A V V eine Relation auf V. Sei andererseits R S S eine Relation auf S. Dann definiert D = (S, R) einen DAG. D.h. DAGs sind
MehrKapitel 5: Paradigmen des Algorithmenentwurfs. 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
MehrAbschnitt 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
MehrGrundlagen der Programmierung 2 (1.B)
Grundlagen der Programmierung 2 (1.B) Prof. Dr. Manfred Schmidt-Schauß Künstliche Intelligenz und Softwaretechnologie 20. April 2011 Aufrufhierarchie und Rekursive Definitionen f, g, f i seien Haskell-definierte
MehrBeispiel: Fibonacci-Zahlen
Beispiel: Fibonacci-Zahlen Fibonacci Zahlen in der Natur Unendliche Reihe: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34,... Fibonacci-Kaninchen: Pinienzapfen Blumenkohl L. P. Fibonacci (1170-1250) G. Zachmann Informatik
MehrBeispiel für simultane Kongruenz
Beispiel für simultane Kongruenz Jetzt wollen wir das Lemma der letzten Einheit anwenden. Wenn man eine Zahl sucht, die kongruent zu y modulo m und kongruent zu z modulo n ist, so nehme man zam + ybn wobei
Mehr4 Kryptologie. Übersicht
4 Kryptologie Übersicht 4.1 Der erweiterte euklidische Algorithmus................................ 38 4.2 Rechnen mit Restklassen modulo p................................... 39 4.3 Der kleine Satz von
MehrVolker Kaatz. Faktorisierung. Faktorisierung. Problem und Algorithmen. Relevanz in der Kryptographie
Faktorisierung Problem und Algorithmen Relevanz in der Kryptographie Inhalt Begriff Faktorisierung Algorithmen (Übersicht) Strategie und Komplexität Pollard p-1 Algorithmus Pseudocode, mathematische Basis,
MehrDer Primzahltest von Agrawal, Kayal und Saxena. Dr. Gerold Jäger
Der Primzahltest von Agrawal, Kayal und Saxena Dr. Gerold Jäger Habilitationsvortrag Christian-Albrechts-Universität zu Kiel Institut für Informatik 19. Januar 2011 Dr. Gerold Jäger Habilitationsvortrag
MehrProgrammierung 1 - Repetitorium
WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage: http://info1.marcwagner.info Dienstag, den 08.04.03 Kapitel 4 Laufzeit 4.1 Vorbemerkungen Im folgenden betrachten
MehrPseudo-Zufallsgeneratoren basierend auf dem DLP
Seminar Codes und Kryptografie SS 2004 Struktur des Vortrags Struktur des Vortrags Ziel Motivation 1 Einleitung Ziel Motivation 2 Grundlegende Definitionen Zufallsgeneratoren 3 Generator Sicherheit 4 Generator
MehrGrundlagen der Programmierung 2 (1.B)
Grundlagen der Programmierung 2 (1.B) Prof. Dr. Manfred Schmidt-Schauß Künstliche Intelligenz und Softwaretechnologie 27. April 2012 Beispiel: Aufrufhierarchie quadrat x = x*x quadratsumme x y = (quadrat
MehrÜ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
Mehr13 Berechenbarkeit und Aufwandsabschätzung
13 Berechenbarkeit und Aufwandsabschätzung 13.1 Berechenbarkeit Frage: Gibt es für jede Funktion, die mathematisch spezifiziert werden kann, ein Programm, das diese Funktion berechnet? Antwort: Nein! [Turing
Mehr2. Effizienz von Algorithmen
Effizienz von Algorithmen 2. Effizienz von Algorithmen Effizienz von Algorithmen, Random Access Machine Modell, Funktionenwachstum, Asymptotik [Cormen et al, Kap. 2.2,3,4.2-4.4 Ottman/Widmayer, Kap. 1.1]
Mehr2. Hausübung Algorithmen und Datenstrukturen
Prof. Dr. Gerd Stumme, Folke Eisterlehner, Dominik Benz Fachgebiet Wissensverarbeitung 7.4.009. Hausübung Algorithmen und Datenstrukturen Sommersemester 009 Abgabetermin: Montag, 04.05.009, 10:00 Uhr 1
MehrRSA Parameter öffentlich: N = pq mit p, q prim und e Z RSA Parameter geheim: d Z φ(n)
RSA Parameter { öffentlich: N = pq mit p, q prim und e Z RSA Parameter φ(n) geheim: d Z φ(n) mit ed = 1 mod φ(n). Satz RSA Parameter Generierung RSA-Parameter (N, e, d) können in Zeit O(log 4 N) generiert
MehrÜ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
MehrZunä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
Mehr3.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,
MehrKomplexitä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
MehrLö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
MehrForm der Äquivalenzklassen
Form der Äquivalenzklassen Anmerkung: Es gilt a = a ± m = a ± 2m =... = a + km mod m für alle k Z. Wir schreiben auch {x Z x = a + mk, k Z} = a + mz. Es gibt m verschiedene Äquivalenzklassen modulo m:
MehrKomplexität von Algorithmen:
Komplexität von Algorithmen: Ansatz: Beschreiben/erfassen der Komplexität über eine Funktion, zur Abschätzung des Rechenaufwandes abhängig von der Größe der Eingabe n Uns interessiert: (1) Wie sieht eine
MehrWiederholung. Gruppen. Untergruppen. Gruppenisomorphismen. Ordnung: Gruppe, Element Satz von Euler: a ord(g) = 1 Elementordung teilt Gruppenordnung
Wiederholung Gruppen Ordnung: Gruppe, Element Satz von Euler: a ord(g) = 1 Elementordung teilt Gruppenordnung Untergruppen Satz von Lagrange Untergruppenordnung teilt Gruppenordnung Nebenklassen von Untergruppen
Mehr2: Restklassen 2.1: Modulare Arithmetik
2: Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32, 64} Prüfziffern mod 10 oder mod 11... 71 S. Lucks Diskr Strukt.
MehrBsp: Die kleinsten Carmichael-Zahlen sind 561, 1105, 1729, Es gibt unendlich viele Carmichael-Zahlen (Beweis 1994).
Primzahltest Wir wollen testen, ob eine gegebene Zahl n eine Primzahl ist Effizienter Algorithmus zum Faktorisieren ist unbekannt Kontraposition des Kleinen Satzes von Fermat liefert: Falls a n 1 1 mod
MehrStichpunktezettel fürs Tutorium
Stichpunktezettel fürs Tutorium Moritz und Dorian 18. November 2009 1 Chomskys Erstschlag 1.1 Reguläre Sprachen und Grammatiken Aufgabe 1. Wie sieht die Sprache zu den folgenden Grammatiken aus? 1. G =
MehrEinfü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
MehrInhalt 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
MehrVL-04: Rekursionsgleichungen. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger
VL-04: Rekursionsgleichungen (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger SS 2017, RWTH DSAL/SS 2017 VL-04: Rekursionsgleichungen 1/37 Organisatorisches Vorlesung: Gerhard Woeginger (Zimmer
MehrBabeș-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
MehrWieviel Vorfahren? Grundlagen der Programmierung 2. Beispiel: Aufrufhierarchie. Aufrufhierarchie und Rekursive Definitionen. Haskell: Auswertung
Wieviel Vorfahren? Grundlagen der Programmierung 2 Haskell: Auswertung Prof. Dr. Manfred Schmidt-Schauß Sommersemester 2017..................... Oma-M Opa-M Oma-V Opa-V Mutter ich Vater Aufgabe: Wieviele
Mehr4 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
MehrEffiziente Algorithmen mit Python. D. Komm, T. Kohn
Effiziente Algorithmen mit Python D. Komm, T. Kohn Copyright c 2017, ABZ, ETH Zürich http://www.abz.inf.ethz.ch/ Version vom 7. September 2017. Effiziente Algorithmen mit Python 3 1 Effizienz Effizient
MehrZahlentheorie, Arithmetik und Algebra
Zahlentheorie, Arithmetik und Algebra Seminar Hallo Welt für Fortgeschrittene 2008 Matthias Niessner June 20, 2008 Erlangen 1 von 29 Matthias Niessner Zahlentheorie, Arithmetik und Algebra Übersicht 1
MehrKryptographie und Komplexität
Kryptographie und Komplexität Einheit 4.2 Primzahltests 1. Deterministische Primzahltests 2. Der Primzahltest von Solovay-Strassen 3. Der Milner-Rabin Test Wozu Primzahltests? RSA Schlüssel benötigen sehr
MehrKryptographie und Komplexität
Kryptographie und Komplexität Einheit 4.2 Primzahltests 1. Deterministische Primzahltests 2. Der Primzahltest von Solovay-Strassen 3. Der Milner-Rabin Test Wozu Primzahltests? RSA Schlüssel benötigen sehr
Mehrp Z >1 ist Primzahl, wenn gilt Euklid:
Grundlegende Tatsachen über den Ring Z Z; +, ist ein nullteilerfreier Ring Divisionseigenschaft a Z, b Z > q, r Z : a = b q + r, r < b Arithmetik Grundlegende Tatsachen über den Ring Z Euklidischer Algorithmus
MehrRekursion. Rekursive Funktionen, Korrektheit, Terminierung, Rekursion vs. Iteration, Sortieren
Rekursion Rekursive Funktionen, Korrektheit, Terminierung, Rekursion vs. Iteration, Sortieren Mathematische Rekursion o Viele mathematische Funktionen sind sehr natürlich rekursiv definierbar, d.h. o die
MehrAlgorithmentheorie Randomisierung
Algorithmentheorie 03 - Randomisierung Prof. Dr. S. Albers Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten
MehrBeispiel: Fibonacci-Zahlen
Beispiel: Fibonacci-Zahlen Unendliche Reihe: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34,... Fibonacci-Kaninchen: L. P. Fibonacci (1170-1250) G. Zachmann Informatik 1 - WS 05/06 Rekursion 23 Fibonacci Zahlen in der
MehrRekursion. Rekursive Funktionen, Korrektheit, Terminierung, Rekursion vs. Iteration, Sortieren
Rekursion Rekursive Funktionen, Korrektheit, Terminierung, Rekursion vs. Iteration, Sortieren Mathematische Rekursion o Viele mathematische Funktionen sind sehr natürlich rekursiv definierbar, d.h. o die
Mehr3.6.4 Rekursive Funktionen
Klassifizierung von Funktionen mit Hilfe der Abstützrelation (Wenn eine Funktionsdefinition für f eine Funktion g aufruft, dann besteht zwischen beiden Definitionen die Relation f benutzt g ) Klasse 0
MehrPraktisch modulo n rechnen
Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 1 Praktisch modulo n rechnen Addition und Multiplikation modulo n sind auch dann algorithmisch kein großes Problem, wenn mit großen Zahlen gerechnet
Mehr2008W. Vorlesung im 2008W Institut für Algebra Johannes Kepler Universität Linz
Mathematik Institut für Algebra Johannes Kepler Universität Linz Vorlesung im http://www.algebra.uni-linz.ac.at/students/win/ml Inhalt Definierende Eigenschaften Definition 0 ist eine natürliche Zahl;
MehrFunktionale Programmierung ALP I. Die Natur rekursiver Funktionen SS Prof. Dr. Margarita Esponda. Prof. Dr.
ALP I Die Natur rekursiver Funktionen SS 2011 Die Natur rekursiver Funktionen Rekursive Funktionen haben oft folgende allgemeine Form: f :: a -> a f 0 = c f (n+1) = h (f n ) Diese Art der Definitionen
MehrZahlentheorie, Arithmetik und Algebra I. Felix Teufel Hallo Welt! -Seminar - LS 2
Zahlentheorie, Arithmetik und Algebra I Felix Teufel 26.07.2017 Hallo Welt! -Seminar - LS 2 Überblick Modulare Arithmetik Größter gemeinsamer Teiler Primzahlen Eulersche Φ-Funktion RSA Quellen 26.07.2017
MehrProbabilistische Algorithmen
Probabilistische Algorithmen Michal Švancar Gerardo Balderas Hochschule Zittau/Görlitz 21. Dezember 2014 Michal Švancar, Gerardo Balderas (HSZG) Probabilistische Algorithmen 21. Dezember 2014 1 / 40 Inhaltsverzeichnis
MehrSAGE Computeralgebrapraktikum: Elementare Zahlentheorie und Anwendungen. Prof. Dr. Wolfram Koepf Prof. Dr. Werner Seiler WS 2014
SAGE Computeralgebrapraktikum: Elementare Zahlentheorie und Anwendungen Prof. Dr. Wolfram Koepf Prof. Dr. Werner Seiler WS 2014 Frühstudium Alle Teilnehmer dieses Praktikums können sich zum Frühstudium
MehrNumerische 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)
Mehr9. 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
MehrAlgorithmen und Datenstrukturen SoSe 2008 in Trier. Henning Fernau Universität Trier
Algorithmen und Datenstrukturen SoSe 2008 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Algorithmen und Datenstrukturen Gesamtübersicht Organisatorisches / Einführung Grundlagen: RAM,
MehrMathematische Rekursion
Rekursion Mathematische Rekursion o Viele mathematische Funktionen sind sehr natürlich rekursiv definierbar, d.h. o die Funktion erscheint in ihrer eigenen Definition. Mathematische Rekursion o Viele mathematische
MehrProseminar Datensicherheit & Versicherungsmathematik RSA-Verfahren
Proseminar Datensicherheit & Versicherungsmathematik RSA-Verfahren Herwig Stütz 2007-11-23 1 Inhaltsverzeichnis 1 Einführung 2 2 Das RSA-Verfahren 2 2.1 Schlüsselerzeugung.................................
MehrDer euklidische Algorithmus für ganze Zahlen
Der euklidische Algorithmus für ganze Zahlen Ein unverzichtbares Verfahren in der Kryptographie ist der euklidische Algorithmus. In diesem Kapitel stellen wir die erste Version für ganze Zahlen vor. Sei
MehrPrimzahltest für Mersenne-Primzahlen
Primzahltest für Mersenne-Primzahlen Satz Lucas-Lehmer Test Sei n = 2 p 1 N für p P\{2}. Wir definieren die Folge S k durch S 1 = 4 und S k = S 2 k 1 2. Falls n S p 1, dann ist n prim. Beweis: Seien ω
MehrProf. 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
MehrProf. 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.
MehrInformatik 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
Mehr2. Algorithmen und Algorithmisierung Algorithmen und Algorithmisierung von Aufgaben
Algorithmen und Algorithmisierung von Aufgaben 2-1 Algorithmisierung: Formulierung (Entwicklung, Wahl) der Algorithmen + symbolische Darstellung von Algorithmen Formalismen für die symbolische Darstellung
MehrFallstudie: Nim Spiel
Fallstudie: Nim Spiel Angeblich chinesischen Ursprungs (Jianshizi) Interessant für Spieltheorie: vollständig analysierbar Frühzeitig computerisiert 1939 Nimatron (Weltausstellung New York) 1951 Nimrod
MehrIT-Security. Teil 14: Primzahltest
IT-Security Teil 14: Primzahltest 08.05.17 1 Literatur [14-1] Willems, Wolfgang: Codierungstheorie und Kryptographie. Mathematik Kompakt, Birkhäuser, 2008 [14-2] Socher, Rolf: Algebra für Informatiker.
Mehr2 Wachstumsverhalten von Funktionen
Algorithmen und Datenstrukturen 40 2 Wachstumsverhalten von Funktionen Beim Vergleich der Worst-Case-Laufzeiten von Algorithmen in Abhängigkeit von der Größe n der Eingabedaten ist oft nur deren Verhalten
MehrKapitel 6: Das quadratische Reziprozitätsgesetz
Kapitel 6: Das quadratische Reziprozitätsgesetz Ziel dieses Kapitels: die Untersuchung der Lösbarkeit der Kongruenzgleichung X also die Frage, ob die ganze Zahl Z eine Quadratwurzel modulo P besitzt. Im
MehrRekursionen (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 =
MehrHallo Welt für Fortgeschrittene
Hallo Welt für Fortgeschrittene Zahlentheorie, Arithmetik und Algebra 1 Florian Habur Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Modulare Arithmetik Rechenregeln Fast Exponentiation
Mehr= 1. Falls ( a n. ) r i. i=1 ( b p i
Das Jacobi-Symbol Definition Jacobi-Symbol Sei n N ungerade mit Primfaktorzerlegung n = s definieren das Jacobi-Symbol ( a ( ) ri n) := s a i=1 p i. i=1 pr i i. Wir Anmerkungen: Falls a quadratischer Rest
MehrAlgorithmen und Datenstrukturen SS Übungsblatt 1: Grundlagen
Ludwig-Maximilians-Universität München München, 16.04.2018 Institut für Informatik Prof. Dr. Thomas Seidl Anna Beer, Florian Richter Algorithmen und Datenstrukturen SS 2018 Übungsblatt 1: Grundlagen Tutorien:
Mehrggt 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,
Mehr26 Hierarchisch strukturierte Daten
Algorithmik II Peter Wilke Sommersemester 2005 Teil III Funktionale Programmierung 26 Hierarchisch strukturierte Daten Peter Wilke Algorithmik II Sommersemester 2005 1 Peter Wilke Algorithmik II Sommersemester
MehrÜbersicht. Datenstrukturen und Algorithmen. Die Teile-und-Beherrsche-Methode. Übersicht. Vorlesung 3: Rekursionsgleichungen (K4)
Datenstrukturen und Algorithmen Vorlesung 3: (K4) 1 e für rekursive Algorithmen Prof. Dr. Erika Ábrahám 2 Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/ datenstrukturen-und-algorithmen/
MehrSchleifeninvarianten. 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
MehrLösung Probeklausur Informatik I
Lösung Probeklausur Informatik I 1 Lösung Aufgabe 1 (5 Punkte) Algorithmen und Programme Was ist der Unterschied zwischen einem Algorithmus und einem Programm? Ein Algorithmus ist eine Vorschrift zur Durchführung
MehrAlgorithmische Kryptographie
Algorithmische Kryptographie Walter Unger Lehrstuhl für Informatik I 16. Februar 2007 Public-Key-Systeme: Rabin 1 Das System nach Rabin 2 Grundlagen Körper Endliche Körper F(q) Definitionen Quadratwurzel
MehrKontrollfluss. man Verzweigungen und Sprünge. o bisher linear (von oben nach unten) o Für interessante Programme braucht
Kontrollanweisungen Kontrollfluss o bisher linear (von oben nach unten) o Für interessante Programme braucht man Verzweigungen und Sprünge Kontrollfluss o bisher linear (von oben nach unten) o Für interessante
MehrInhalt 2007W. Vorlesung im 2007W
Institut für Algebra Johannes Kepler Universität Linz Vorlesung im http://www.algebra.uni-linz.ac.at/students/win/ml Inhalt Definierende Eigenschaften 0 ist eine natürliche Zahl; Zu jeder natürlichen Zahl
Mehr11. 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Ü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
MehrFolgen 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
MehrWahrscheinlichkeitsrechnung und Statistik
Babeş-Bolyai Universität Fakultät für Mathematik und Informatik Oktober 2018 Im Alltag... Laut den meteorologischen Vorhersagen wird es morgen regnen. Ob ich riskiere und die Wette verlieren werde? Ich
MehrAlgorithmen 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