Mathematische Rekursion. Rekursion. Rekursion in C++ Mathematische Rekursion. Definition. 1, falls n 1. n! = n (n-1)!, falls n > 1
|
|
- Ursula Brodbeck
- vor 7 Jahren
- Abrufe
Transkript
1 Mathematische Rekursio Rekursio o Viele mathematische Fuktioe sid sehr atürlich rekursiv defiierbar, d.h. o die Fuktio erscheit i ihrer eigee Defiitio. Mathematische Rekursio o Viele mathematische Fuktioe sid sehr atürlich rekursiv defiierbar, d.h. o die Fuktio erscheit i ihrer eigee Defiitio. Rekursio i C++ o modelliert oft direkt die mathematische Rekursiosformel! =, falls (-)!, falls >
2 Rekursio i C++ o modelliert oft direkt die mathematische Rekursiosformel. // POST: retur value is! Uedliche Rekursio o ist so leicht zu erzeuge wie eie uedliche Schleife, o sollte aber geauso vermiede werde. usiged it fac (usiged it ) if ( <= ) retur ; retur * fac(-); // > void f() Uedliche Rekursio o ist so leicht zu erzeuge wie eie uedliche Schleife, o sollte aber geauso vermiede werde. f(); // calls f(), calls f(), calls f(), Termiierug vo rekursive Fuktiosaufrufe Wie bei Schleife brauche wir o Fortschritt Richtug Termiierug fac() : termiiert sofort für, aderfalls wird die Fuktio rekursiv mit Argumet < aufgerufe.
3 Termiierug vo rekursive Fuktiosaufrufe Wie bei Schleife brauche wir o Fortschritt Richtug Termiierug fac() : termiiert sofort für, aderfalls wird die Fuktio rekursiv mit Argumet < aufgerufe. Auswertug rekursiver Fuktiosaufrufe (z.b. fac()) // POST: retur value is! usiged it fac (usiged it ) if ( <= ) retur ; retur * fac(-); // > wird mit jedem Aufruf kleier. Auswertug rekursiver Fuktiosaufrufe (z.b. fac()) // POST: retur value is! usiged it fac (usiged it ) // = if ( <= ) retur ; retur * fac(-); // > Auswertug rekursiver Fuktiosaufrufe (z.b. fac()) // POST: retur value is! usiged it fac (usiged it ) // = if ( <= ) retur ; retur * fac(-); // > Iitialisierug des formale Argumets mit dem Wert des Aufrufargumets Ausführe des Fuktiosrumpfs: Auswertug des Rückgabeausdrucks
4 Auswertug rekursiver Fuktiosaufrufe (z.b. fac()) // POST: retur value is! usiged it fac (usiged it ) // = if ( <= ) retur ; retur * fac(-); // > Ausführe des Fuktiosrumpfs: Rekursiver Aufruf vo fac mit Aufrufargumet - == Auswertug rekursiver Fuktiosaufrufe (z.b. fac()) // POST: retur value is! usiged it fac (usiged it ) // = if ( <= ) retur ; retur * fac(-); // > Iitialisierug des formale Argumets mit dem Wert des Aufrufargumets Auswertug rekursiver Fuktiosaufrufe (z.b. fac()) // POST: retur value is! usiged it fac (usiged it ) // = if ( <= ) retur ; retur * fac(-); // > Es gibt jetzt zwei! Das vo fac (), ud das vo fac () Iitialisierug des formale Argumets mit dem Wert des Aufrufargumets Auswertug rekursiver Fuktiosaufrufe (z.b. fac()) // POST: retur value is! usiged it fac (usiged it ) // = if ( <= ) retur ; retur * fac(-); // > Wir ehme das Argumet des aktuelle Aufrufs, fac () Iitialisierug des formale Argumets mit dem Wert des Aufrufargumets
5 Der Aufrufstapel Bei Auswertug jedes Fuktiosaufrufs: o Wert des Aufrufargumets kommt auf eie Stapel (erst =, da =,) o es wird stets mit dem oberste Wert gearbeitet o ach Ede des Fuktiosaufrufs wird der oberste Wert vom Stapel gelöscht Der Aufrufstapel Bei Auswertug jedes Fuktiosaufrufs: o Wert des Aufrufargumets kommt auf eie Stapel (erst =, da =,) o es wird stets mit dem oberste Wert gearbeitet o ach Ede eies Fuktiosaufrufs wird der oberste Wert vom Stapel gelöscht Bei mehrere Argumete aalog (alle komme auf de Stapel, wir arbeite jeweils mit der oberste Versio jedes Argumets) Grösster gemeisamer Teiler Euklidischer Algorithmus o fidet de grösste gemeisame Teiler gcd (a, b) zweier atürlicher Zahle a ud b Grösster gemeisamer Teiler Euklidischer Algorithmus o fidet de grösste gemeisame Teiler gcd (a, b) zweier atürlicher Zahle a ud b o basiert auf folgedem Lemma (Beweis im Skript): gcd (a, b) = gcd (b, a mod b) für b >.
6 Grösster gemeisamer Teiler // POST: retur value is the greatest commo // divisor of a ad b usiged it gcd (usiged it a, usiged it b) if (b == ) retur a; retur gcd(b, a % b); // b!= Grösster gemeisamer Teiler // POST: retur value is the greatest commo // divisor of a ad b usiged it gcd (usiged it a, usiged it b) if (b == ) retur a; retur gcd(b, a % b); // b!= Korrektheit: gcd (a, ) = a gcd (a, b) = gcd (b, a mod b), b > Lemma! Grösster gemeisamer Teiler // POST: retur value is the greatest commo // divisor of a ad b usiged it gcd (usiged it a, usiged it b) if (b == ) retur a; retur gcd(b, a % b); // b!= Termiierug: a mod b < b, also wird b i jedem rekursive Aufruf kleier. Grösster gemeisamer Teiler // POST: retur value is the greatest commo // divisor of a ad b usiged it gcd (usiged it a, usiged it b) if (b == ) retur a; retur gcd(b, a % b); // b!= Korrektheit ud Termiierug müsse bei rekursive Fuktioe stets separat bewiese werde! 6
7 Fiboacci-Zahle o F := o F := o F := F - + F -, > Fiboacci-Zahle o F := o F := o F := F - + F -, >,,,,,, 8,,, Fiboacci-Zahle o F := o F := o F := F - + F -, >,,,,,, 8,,, Fiboacci-Zahle o F := o F := o F := F - + F -, >,,,,,, 8,,, o Leoardo vo Pisa (Fiboacci) modellierte damit Hasepopulatioe () 7
8 Fiboacci-Zahle // POST: retur value is the -th // Fiboacci umber F_ usiged it fib (usiged it ) if ( == ) retur ; if ( == ) retur ; retur fib(-) + fib(-); // > Fiboacci-Zahle // POST: retur value is the -th // Fiboacci umber F_ usiged it fib (usiged it ) if ( == ) retur ; if ( == ) retur ; retur fib(-) + fib(-); // > Korrektheit ud Termiierug sid klar. Fiboacci-Zahle // POST: retur value is the -th // Fiboacci umber F_ usiged it fib (usiged it ) if ( == ) retur ; if ( == ) retur ; retur fib(-) + fib(-); // > fib () dauert ewig, de es berechet Laufzeit: F 8 -mal, F 7 -mal, F 6 -mal, F 8-mal, F -mal, Rekursio ud Iteratio Rekursio ka im Prizip ersetzt werde durch o Iteratio (Schleife) ud o explizite Aufrufstapel (z.b. Feld). Oft sid direkte rekursive Formulieruge eifacher, aber machmal auch weiger effiziet. 8
9 Edrekursio Eie Fuktio ist edrekursiv, we sie geau eie rekursive Aufruf gaz am Ede ethält. Edrekursio Eie Fuktio ist edrekursiv, we sie geau eie rekursive Aufruf gaz am Ede ethält. // POST: retur value is the greatest commo // divisor of a ad b usiged it gcd (usiged it a, usiged it b) if (b == ) retur a; retur gcd(b, a % b); // b!= Edrekursio o ist leicht iterativ zu schreibe. Edrekursio o ist leicht iterativ zu schreibe. // POST: retur value is the greatest commo divisor of a ad b usiged it gcd (usiged it a, usiged it b) while (b!= ) usiged it a_prev = a; a = b; b = a_prev % b; retur a; // POST: retur value is the greatest commo divisor of a ad b usiged it gcd (usiged it a, usiged it b) while (b!= ) usiged it a_prev = a; a = b; b = a_prev % b; retur a; (a,b) (b, a mod b) 9
10 Edrekursio o ist leicht iterativ zu schreibe. Edrekursio o ist leicht iterativ zu schreibe. // POST: retur value is the greatest commo divisor of a ad b usiged it gcd (usiged it a, usiged it b) while (b!= ) usiged it a_prev = a; a = b; b = a_prev % b; retur a; (a,b) (b, a mod b) // POST: retur value is the greatest commo divisor of a ad b usiged it gcd (usiged it a, usiged it b) while (b!= ) usiged it a_prev = a; a = b; b = a_prev % b; retur a; (a,b) (b, a mod b) Edrekursio o ist leicht iterativ zu schreibe. // POST: retur value is the greatest commo divisor of a ad b usiged it gcd (usiged it a, usiged it b) while (b!= ) usiged it a_prev = a; a = b; b = a_prev % b; retur a; (a,b) (b, a mod b) Fiboacci-Zahle iterativ Idee: o bereche jede Zahl geau eimal, i der Reihefolge F, F, F, F, o speichere die jeweils letzte beide berechete Zahle (Variable a, b), da ka die ächste Zahl durch eie Additio erhalte werde. aber die rekursive Versio is lesbarer ud (fast) geauso effiziet.
11 Fiboacci-Zahle iterativ // POST: retur value is the -th Fiboacci umber F_ usiged it fib (usiged it ) if ( == ) retur ; if ( <= ) retur ; usiged it a = ; // F_ usiged it b = ; // F_ for (usiged it i = ; i <= ; ++i) usiged it a_prev = a; // F_i- a = b; // F_i- b += a_prev; // F_i- += F_i- -> F_i retur b; Fiboacci-Zahle iterativ // POST: retur value is the -th Fiboacci umber F_ usiged it fib (usiged it ) if ( == ) retur ; if ( <= ) retur ; usiged it a = ; // F_ usiged it b = ; // F_ for (usiged it i = ; i <= ; ++i) usiged it a_prev = a; // F_i- a = b; // F_i- b += a_prev; // F_i- += F_i- -> F_i retur b; ( F i-, F i- ) ( F i-, F i ) a b Fiboacci-Zahle iterativ // POST: retur value is the -th Fiboacci umber F_ usiged it fib (usiged it ) if ( == ) retur ; if ( <= ) retur ; usiged it a = ; // F_ usiged it b = ; // F_ for (usiged it i = ; i <= ; ++i) usiged it a_prev = a; // F_i- a = b; // F_i- b += a_prev; // F_i- += F_i- -> F_i retur b; ( F i-, F i- ) ( F i-, F i ) Fiboacci-Zahle iterativ // POST: retur value is the -th Fiboacci umber F_ usiged it fib (usiged it ) if ( == ) retur ; if ( <= ) retur ; usiged it a = ; // F_ usiged it b = ; // F_ for (usiged it i = ; i <= ; ++i) usiged it a_prev = a; // F_i- a = b; // F_i- b += a_prev; // F_i- += F_i- -> F_i retur b; ( F i-, F i- ) ( F i-, F i ) a b a b
12 Fiboacci-Zahle iterativ // POST: retur value is the -th Fiboacci umber F_ usiged it fib (usiged it ) if ( == ) retur ; sehr schell auch bei fib() if ( <= ) retur ; usiged it a = ; // F_ usiged it b = ; // F_ for (usiged it i = ; i <= ; ++i) usiged it a_prev = a; // F_i- a = b; // F_i- b += a_prev; // F_i- += F_i- -> F_i retur b; ( F i-, F i- ) ( F i-, F i ) Die Ackerma-Fuktio +, falls m = A (m, ) = A (m-, ), falls m >, = A (m-, A (m, -)), falls m >, > a b Die Ackerma-Fuktio +, falls m = A (m, ) = A (m-, ), falls m >, = A (m-, A (m, -)), falls m >, > o o ist berechebar, aber icht primitiv rekursiv (ma dachte Afag des. Jahrhuderts, dass es diese Kombiatio gar icht gibt) wächst extrem schell Die Ackerma-Fuktio // POST: retur value is the Ackerma fuctio // value A(m,) usiged it A (usiged it m, usiged it ) if (m == ) retur +; if ( == ) retur A(m-,); retur A(m-, A(m, -));
13 Die Ackerma-Fuktio + m Die Ackerma-Fuktio + + m Die Ackerma-Fuktio m Die Ackerma-Fuktio m
14 Die Ackerma-Fuktio Die Ackerma-Fuktio + + m m Turm vo + Zweierpoteze icht mehr praktisch berechebar Die Ackerma-Fuktio - Moral o Rekursio ist sehr mächtig o aber auch gefährlich: Die Ackerma-Fuktio - Moral o Rekursio ist sehr mächtig o aber auch gefährlich: Es ist leicht, harmlos aussehede rekursive Fuktioe hizuschreibe, die theoretisch korrekt sid ud termiiere, praktisch aber jede Berechebarkeitsrahme sprege.
15 Sortiere Wie schell ka ma Zahle (oder Wörter,) aufsteiged sortiere? Sortiere Wie schell ka ma Zahle (oder Wörter,) aufsteiged sortiere? Wir habe i de Übuge bereits sortiert, us aber keie Gedake über die Effiziez gemacht Sortiere Wie schell ka ma Zahle (oder Wörter,) aufsteiged sortiere? Wir habe i de Übuge bereits sortiert, us aber keie Gedake über die Effiziez gemacht Das hole wir jetzt ach, de Sortiere ist eie der grudlegede Operatioe i der Iformatik Miimum-sort ist ei sehr eifaches Sortierverfahre habe eiige wahrscheilich i de Übuge implemetiert
16 Miimum-sort ist ei sehr eifaches Sortierverfahre habe eiige wahrscheilich i de Übuge implemetiert Miimum-sort ist ei sehr eifaches Sortierverfahre habe eiige wahrscheilich i de Übuge implemetiert Fide die kleiste Zahl ud vertausche sie mit der erste Zahl. Miimum-sort ist ei sehr eifaches Sortierverfahre habe eiige wahrscheilich i de Übuge implemetiert Miimum-sort ist ei sehr eifaches Sortierverfahre habe eiige wahrscheilich i de Übuge implemetiert Fide die kleiste Zahl ud vertausche sie mit der erste Zahl. 6
17 Miimum-sort ist ei sehr eifaches Sortierverfahre habe eiige wahrscheilich i de Übuge implemetiert Miimum-sort ist ei sehr eifaches Sortierverfahre habe eiige wahrscheilich i de Übuge implemetiert Fide die kleiste Zahl Fide die kleiste Zahl usw. Miimum-sort // PRE: [first, last) is a valid rage // POST: the elemets *p, p i [first, last) are i // ascedig order void miimum_sort (it* first, it* last) for (it* p = first; p!= last; ++p) // fid miimum i oempty rage described by [p, last) it* p_mi = p; // poiter to curret miimum it* q = p; // poiter to curret elemet while (++q!= last) if (*q < *p_mi) p_mi = q; // iterchage *p with *p_mi std::iter_swap (p, p_mi); p last Miimum-sort // PRE: [first, last) is a valid rage // POST: the elemets *p, p i [first, last) are i // ascedig order void miimum_sort (it* first, it* last) for (it* p = first; p!= last; ++p) // fid miimum i oempty rage described by [p, last) it* p_mi = p; // poiter to curret miimum it* q = p; // poiter to curret elemet while (++q!= last) if (*q < *p_mi) p_mi = q; // iterchage *p with *p_mi std::iter_swap (p, p_mi); p p_mi Fide die kleiste Zahl..ud vertausche sie mit der erste Zahl 7
18 Miimum-sort // PRE: [first, last) is a valid rage // POST: the elemets *p, p i [first, last) are i // ascedig order void miimum_sort (it* first, it* last) for (it* p = first; p!= last; ++p) // fid miimum i oempty rage described by [p, last) it* p_mi = p; // poiter to curret miimum it* q = p; // poiter to curret elemet while (++q!= last) if (*q < *p_mi) p_mi = q; // iterchage *p with *p_mi std::iter_swap (p, p_mi); p p_mi ud vertausche sie mit der erste Zahl Miimum-sort // PRE: [first, last) is a valid rage // POST: the elemets *p, p i [first, last) are i // ascedig order void miimum_sort (it* first, it* last) for (it* p = first; p!= last; ++p) // fid miimum i oempty rage described by [p, last) it* p_mi = p; // poiter to curret miimum it* q = p; // poiter to curret elemet while (++q!= last) if (*q < *p_mi) p_mi = q; // iterchage *p with *p_mi std::iter_swap (p, p_mi); p p_mi #iclude<algorithm>..ud vertausche sie mit der erste Zahl Miimum-sort: Laufzeit hägt vo der Plattform ab. Miimum-sort: Laufzeit hägt vo der Plattform ab Trotzdem gibt es ei plattformuabhägiges Laufzeitmass: Azahl der Vergleiche *q < *p_mi 8
19 Miimum-sort: Laufzeit hägt vo der Plattform ab Trotzdem gibt es ei plattformuabhägiges Laufzeitmass: Azahl der Vergleiche *q < *p_mi Azahl aderer Operatioe ist wesetlich kleier oder proportioal dazu Miimum-sort: Laufzeit // PRE: [first, last) is a valid rage // POST: the elemets *p, p i [first, last) are i // ascedig order void miimum_sort (it* first, it* last) Elemete for (it* p = first; p!= last; ++p) // fid miimum i oempty rage described by [p, last) it* p_mi = p; // poiter to curret miimum it* q = p; // poiter to curret elemet while (++q!= last) if (*q < *p_mi) p_mi = q; // iterchage *p with *p_mi std::iter_swap (p, p_mi); Vergleiche = ( -) / Miimum-sort: Laufzeit // PRE: [first, last) is a valid rage // POST: the elemets *p, p i [first, last) are i // ascedig order void miimum_sort (it* first, it* last) Elemete for (it* p = first; p!= last; ++p) // fid miimum i oempty rage described by [p, last) it* p_mi = p; // poiter to curret miimum it* q = p; // poiter to curret elemet while (++q!= last) if (*q < *p_mi) p_mi = q; // iterchage *p with *p_mi std::iter_swap (p, p_mi); jeweils Operatioe (wesetlich kleier) Miimum-sort: Laufzeit // PRE: [first, last) is a valid rage // POST: the elemets *p, p i [first, last) are i // ascedig order void miimum_sort (it* first, it* last) Elemete for (it* p = first; p!= last; ++p) // fid miimum i oempty rage described by [p, last) it* p_mi = p; // poiter to curret miimum it* q = p; // poiter to curret elemet while (++q!= last) if (*q < *p_mi) p_mi = q; // iterchage *p with *p_mi std::iter_swap (p, p_mi); höchstes ( -) / Operatioe (proportioal) 9
20 Miimum-sort: Laufzeit // PRE: [first, last) is a valid rage // POST: the elemets *p, p i [first, last) are i // ascedig order void miimum_sort (it* first, it* last) Elemete for (it* p = first; p!= last; ++p) // fid miimum i oempty rage described by [p, last) it* p_mi = p; // poiter to curret miimum it* q = p; // poiter to curret elemet while (++q!= last) if (*q < *p_mi) p_mi = q; // iterchage *p with *p_mi std::iter_swap (p, p_mi); Miimum-sort: Laufzeit Auf jeder Plattform: Gesamtlaufzeit ist proportioal zur Zeit, die mit de Vergleiche *q < *p_mi verbracht wird ( -) / + Operatioe (proportioal) Miimum-sort: Laufzeit Auf jeder Plattform: Gesamtlaufzeit ist proportioal zur Zeit, die mit de Vergleiche *q < *p_mi verbracht wird Diese wiederum ist proportioal zur Azahl ( ) / dieser Vergleiche Miimum-sort: Laufzeit Auf jeder Plattform: Gesamtlaufzeit ist proportioal zur Zeit, die mit de Vergleiche *q < *p_mi verbracht wird Diese wiederum ist proportioal zur Azahl ( ) / dieser Vergleiche Azahl der Vergleiche ist deshalb ei gutes Mass für die Gesamtlaufzeit!
21 Miimum-sort: Laufzeit (PC) auf Eigabe, -,, -, Miimum-sort: Laufzeit (PC) auf Eigabe, -,, -,,,, 8,,6,,,, 8,,6, Gcomp (Milliarde Vergleiche) Laufzeit i mi : s :7 :7 8 : 8:6 8 7: Gcomp (Milliarde Vergleiche) Laufzeit i mi : s :7 :7 8 : 8:6 8 7: Laufzeit / GComp (s)..... Laufzeit / GComp (s)..... Ugefähr kostat! Azahl Vergleiche ist ei gutes Laufzeitmass! Miimum-sort: Laufzeit (PC) auf Eigabe, -,, -, Gcomp (Milliarde Vergleiche) Laufzeit i mi : s Laufzeit / GComp (s), :7., :7., 8 :. 8, 8:6.,6, 8 7:. D.h.: für,, Zahle bräuchte Miimum-sort ca. Tage! Merge-sort ei schelleres (ud rekursives) Sortierverfahre folgt dem Paradigma Teile ud Herrsche (Divide & Coquer) Teile das Problem i kleiere Teilprobleme des gleiche Typs auf, löse diese rekursiv, ud bereche die Gesamtlösug aus de Lösuge der Teilprobleme
22 Merge-sort Aalogie: Sortiere eies Kartestapels Karte sid mit Zahle beschriftet 6 Merge-sort: Teile Aalogie: Sortiere eies Kartestapels Karte sid mit Zahle beschriftet Schritt : Teile de Stapel i zwei gleich grosse Stapel 6 6 Merge-sort: Teile Aalogie: Sortiere eies Kartestapels Karte sid mit Zahle beschriftet Schritt : Sortiere beide Stapel getret 6 6 Merge-sort: Herrsche Aalogie: Sortiere eies Kartestapels Karte sid mit Zahle beschriftet Schritt : Mische die beide sortierte Stapel zu eiem sortierte Stapel: lege dazu jeweils die kleiere der beide obere Karte umgedreht auf eie eue Stapel
23 Merge-sort i C++ // PRE: [first, last) is a valid rage // POST: the elemets *p, p i [first, last) are i // ascedig order void merge_sort (it* first, it* last) it = last - first; if ( <= ) retur; // othig to do it* middle = first + /; merge_sort (first, middle); // sort first half merge_sort (middle, last); // sort secod half merge (first, middle, last); // merge both halfs Merge-sort i C++: Teile // PRE: [first, last) is a valid rage // POST: the elemets *p, p i [first, last) are i // ascedig order void merge_sort (it* first, it* last) it = last - first; if ( <= ) retur; // othig to do it* middle = first + /; merge_sort (first, middle); // sort first half merge_sort (middle, last); // sort secod half merge (first, middle, last); // merge both halfs / Elemete ( / abgerudet) / Elemete ( / aufgerudet) Merge-sort i C++: Herrsche // PRE: [first, last) is a valid rage // POST: the elemets *p, p i [first, last) are i // ascedig order void merge_sort (it* first, it* last) it = last - first; if ( <= ) retur; // othig to do it* middle = first + /; merge_sort (first, middle); // sort first half merge_sort (middle, last); // sort secod half merge (first, middle, last); // merge both halfs Diese Fuktio überimmt das Mische zu eiem Stapel Die Merge-Fuktio // PRE: [first, middle), [middle, last) are valid rages; i // both of them, the elemets are i ascedig order void merge (it* first, it* middle, it* last) it = last - first; // total umber of cards it* deck = ew it[]; // ew deck to be built it* left = first; // top card of left deck it* right = middle; // top card of right deck for (it* d = deck; d!= deck + ; ++d) // put ext card oto ew deck if (left == middle) *d = *right++; // left deck is empty else if (right == last) *d = *left++; // right deck is empty else if (*left < *right) *d = *left++; // smaller top card left else *d = *right++; // smaller top card right // copy ew deck back ito [first, last) it *d = deck; while (first!= middle) *first++ = *d++; while (middle!= last) *middle++ = *d++; delete[] deck;
24 Merge-sort: Laufzeit ist wieder proportioal zur Azahl der Vergleiche *left < *right (das muss ma aber icht sofort sehe) Alle Vergleiche werde vo der Fuktio merge durchgeführt Merge-sort: Laufzeit ist wieder proportioal zur Azahl der Vergleiche *left < *right (das muss ma aber icht sofort sehe) Alle Vergleiche werde vo der Fuktio merge durchgeführt Beim Mische zweier Stapel zu eiem Stapel der Grösse braucht merge höchstes - Vergleiche (maximal eier für jede Karte des eue Stapels, ausser der letzte) Merge-sort: Laufzeit Satz: Die Fuktio merge_sort sortiert eie Folge vo Zahle mit höchstes ( ) log Vergleiche zwische zwei Zahle. Merge-sort: Laufzeit Beweis: T ( ) sei die maximal mögliche Azahl vo Vergleiche zwische Zahle, die beim Sortiere vo Zahle mit merge_sort auftrete köe.
25 Merge-sort: Laufzeit Beweis: T ( ) sei die maximal mögliche Azahl vo Vergleiche zwische Zahle, die beim Sortiere vo Zahle mit merge_sort auftrete köe. o T () = T () = Merge-sort: Laufzeit Beweis: T ( ) sei die maximal mögliche Azahl vo Vergleiche zwische Zahle, die beim Sortiere vo Zahle mit merge_sort auftrete köe. o T () = T () = o T () = Merge-sort: Laufzeit Beweis: T ( ) sei die maximal mögliche Azahl vo Vergleiche zwische Zahle, die beim Sortiere vo Zahle mit merge_sort auftrete köe. o T () = T () = o T () = o T () = Merge-sort: Laufzeit Beweis: T ( ) sei die maximal mögliche Azahl vo Vergleiche zwische Zahle, die beim Sortiere vo Zahle mit merge_sort auftrete köe. o T ( ) T ( / ) + T ( / ) + - für
26 Merge-sort: Laufzeit Beweis: T ( ) sei die maximal mögliche Azahl vo Vergleiche zwische Zahle, die beim Sortiere vo Zahle mit merge_sort auftrete köe. Merge-sort: Laufzeit o Mit vollstädiger Iduktio beweise wir u (für ) die Aussage T ( ) ( ) log o T ( ) T ( / ) + T ( / ) + - maximale Azahl im like Stapel maximale Azahl im rechte Stapel maximale Azahl beim Mische für Merge-sort: Laufzeit o Mit vollstädiger Iduktio beweise wir u (für ) die Aussage T ( ) ( ) log Merge-sort: Laufzeit o Sei u ud gelte die Aussage für alle Werte i,, - (Iduktiosaahme) o =: T () = = ( - ) log 6
27 Merge-sort: Laufzeit o Sei u ud gelte die Aussage für alle Werte i,, - (Iduktiosaahme) o Zu zeige ist, dass die Aussage da auch für gilt (Iduktiosschritt) Merge-sort: Laufzeit o Es gilt T ( ) T ( / ) + T ( / ) + - ud < Merge-sort: Laufzeit o Es gilt T ( ) T ( / ) + T ( / ) + - ( / -) log / + ( / -) log / + - Iduktiosaahme Merge-sort: Laufzeit o Es gilt T ( ) T ( / ) + T ( / ) + - ( / -) log / + ( / -) log / + - ( / -) ( log - ) + ( / -) ( log - )+ - Aufgabe 7
28 Merge-sort: Laufzeit o Es gilt T ( ) T ( / ) + T ( / ) + - ( / -) log / + ( / -) log / + - ( / -) ( log - ) + ( / -) ( log - )+ - = ( ) ( log - ) + - Merge-sort: Laufzeit o Es gilt T ( ) T ( / ) + T ( / ) + - ( / -) log / + ( / -) log / + - ( / -) ( log - ) + ( / -) ( log - )+ - ( ) ( log - ) + - Merge-sort: Laufzeit o Es gilt T ( ) T ( / ) + T ( / ) + - ( / -) log / + ( / -) log / + - ( / -) ( log - ) + ( / -) ( log - )+ - ( ) ( log - ) + - = ( ) ( log ) Merge-sort: Laufzeit (PC) auf Eigabe, -,, -, Mcomp (Millioe Vergleiche) Laufzeit i s Laufzeit / GComp (s),.7.7,.6.9 8, , 6.,6, Abehmed! Je grösser, desto weiger falle adere Operatioe is Gewicht 8
29 Merge-sort: Laufzeit (PC) auf Eigabe, -,, -, Merge-sort: Laufzeit (PC) auf Eigabe, -,, -,,,, 8,,6,,,, 8,,6, Mcomp (Millioe Vergleiche) Laufzeit i s Laufzeit / GComp (s) merge_sort braucht -mal so viel Zeit pro Gcomp wie miimum_sort Mcomp (Millioe Vergleiche) Laufzeit i s Laufzeit / GComp (s) > h bei miimum_sort 6 ist aber aufgrud sehr viel weiger Vergleiche trotzdem sehr viel scheller! 9
Rekursion. 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
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
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
MehrKapitel 10. Rekursion
Eiführug i die Iformatik: Programmierug ud Software-Etwicklug, WS 1/14 1 Kapitel 10 Rekursio Rekursio Eiführug i die Iformatik: Programmierug ud Software-Etwicklug, WS 1/14 Ziele Das Prizip der rekursive
MehrGrundlagen: Algorithmen und Datenstrukturen
Techische Uiversität Müche Fakultät für Iformatik Lehrstuhl für Effiziete Algorithme Dr. Hajo Täubig Tobias Lieber Sommersemester 2011 Übugsblatt 1 13. Mai 2011 Grudlage: Algorithme ud Datestrukture Abgabetermi:
MehrKapitel 11. Rekursion
Eiführug i die Iformatik: Programmierug ud Software-Etwicklug, WS 16/17 Kapitel 11 Rekursio Rekursio 1 Eiführug i die Iformatik: Programmierug ud Software-Etwicklug, WS 16/17 Ziele Das Prizip der rekursive
Mehr11 Divide-and-Conquer und Rekursionsgleichungen
160 11 DIVIDE-AND-CONQUER UND REKURSIONSGLEICHUNGEN 11 Divide-ad-Coquer ud Rekursiosgleichuge Divide-ad-Coquer Problem aufteile i Teilprobleme Teilproblem (rekursiv) löse Lösuge der Teilprobleme zusammesetze
MehrKapitel 11. Rekursion
Eiführug i die Iformatik: Programmierug ud Software-Etwicklug, WS 17/18 Kapitel 11 Rekursio Rekursio 1 Eiführug i die Iformatik: Programmierug ud Software-Etwicklug, WS 17/18 Ziele Das Prizip der rekursive
Mehr3. Inkrementelle Algorithmen
3. Ikremetelle Algorithme Defiitio 3.1: Bei eiem ikremetelle Algorithmus wird sukzessive die Teillösug für die erste i Objekte aus der bereits bekate Teillösug für die erste i-1 Objekte berechet, i=1,,.
MehrALP I Induktion und Rekursion
ALP I Iduktio ud Rekursio Teil II WS 2009/200 Prof. Dr. Margarita Espoda Prof. Dr. Margarita Espoda Iduktio über Bäue Defiitio: a) Ei eizeler Blatt-Kote ist ei Bau o b) Falls t, t 2,,t Bäue sid, da ist
MehrLösungsskizzen Mathematik für Informatiker 5. Aufl. Kapitel 3 Peter Hartmann
Lösugsskizze Mathematik für Iformatiker 5. Aufl. Kapitel 3 Peter Hartma Verstädisfrage. Ka ma ei Axiom beweise? Nei!. Ka ei Beweis eier Aussage richtig sei, we im Iduktiosschluss die Iduktiosaahme icht
Mehr3 T (d 1, l 2. ) + (6 + 2) falls d > 0 7 sonst. n 2. 4T ( n 2 ) + log 2 (n), falls n > 1 1, sonst
für Iformatik Modellierug ud Verifikatio vo Software Prof. aa Dr. Ir. Joost-Pieter Katoe Datestrukture ud Algorithme SS5 Lösug - Übug 3 Christia Dehert, Friedrich Gretz, Bejami Kamiski, Thomas Ströder
MehrLösungsskizzen Mathematik für Informatiker 6. Aufl. Kapitel 4 Peter Hartmann
Lösugssizze Mathemati für Iformatier 6. Aufl. Kapitel 4 Peter Hartma Verstädisfrage 1. We Sie die Berechug des Biomialoeffiziete mit Hilfe vo Satz 4.5 i eiem Programm durchführe wolle stoße Sie schell
MehrDemo-Text für INTERNETBIBLIOTHEK FÜR SCHULMATHEMATIK. ANALYSIS Vollständige Induktion FRIEDRICH W.
ANALYSIS Vollstädige Iduktio Datei Nr. 40080 Stad 14. März 018 FRIEDRICH W. BUCKEL INTERNETBIBLIOTHEK FÜR SCHULMATHEMATIK 40080 Beweismethode: Vollstädige Iduktio Vorwort Die Methode der vollstädige Iduktio
MehrRekursion und Dateioperationen
Lerziele: Rekursio ud Dateioperatioe Vertiefe der Ketisse über die die Verwedug vo rekursive Fuktioe ud Dateioperatioe. Aufgabe 1: Mergesort (Beispiel für die Verwedug rekursiver Fuktiosaufrufe) Ei effizietes
MehrDer Groß-O-Kalkül. Additionsregel. Zunächst ein paar einfache "Rechen"-Regeln: " ": Sei. Lemma, Teil 2: Für beliebige Funktionen f und g gilt:
Der Groß-O-Kalkül Additiosregel Zuächst ei paar eifache "Reche"-Regel: Lemma, Teil 1: Für beliebige Fuktioe f g gilt: Zu beweise: ur das rechte "=" Zu beweise: jede der beide Mege ist jeweils i der adere
MehrLösungen 4 zum Mathematik-Brückenkurs für alle, die sich für Mathematik interessieren
Lösuge 4 zum Mathematik-Brückekurs für alle, die sich für Mathematik iteressiere µfsr, TU Dresde Versio vom 26. September 2016, Fehler ud Verbesserugsvorschläge bitte a beedikt.bartsch@myfsr.de Aufgabe
MehrMusterlösung. Testklausur Vorkurs Informatik, Testklausur Vorkurs Informatik Musterlösung. Seite 1 von 10
Musterlösug Name, Vorame, Matrikelummer Agabe sid freiwillig) Bitte ubedigt leserlich ausfülle Testklausur Vorkurs Iformatik, 27.09.20 Testklausur Vorkurs Iformatik 27.09.20 Musterlösug eite vo 0 Musterlösug
MehrVorkurs Mathematik für Informatiker Folgen
Vorkurs Mathematik für Iformatiker -- 9 Folge -- 6.1.215 1 Folge: Defiitio Eie (uedliche) Folge im herkömmliche Sie etsteht durch Hitereiaderschreibe vo Zahle 1,2,3,4,5, Dabei ist die Reihefolge wichtig,
Mehr1 Randomisierte Bestimmung des Medians
Praktikum Diskrete Optimierug (Teil 0) 0.07.006 Radomisierte Bestimmug des Medias. Problemstellug ud Ziel I diesem Abschitt stelle wir eie radomisierte Algorithmus zur Bestimmug des Medias vor, der besser
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen. (02 Funktionenklassen) Prof. Dr. Susanne Albers
Vorlesug Iformatik 2 Algorithme ud Datestrukture (2 Fuktioeklasse) Prof. Dr. Susae Albers Beschreibug ud Aalyse vo Algorithme Mathematisches Istrumetarium zur Messug der Komplexität (des Zeitud Platzbedarfs
MehrAlgorithmentheorie Randomisierung
Algorithmetheorie 03 - Radomisierug Prof. Dr. S. Albers Prof. Dr. Th. Ottma Radomisierug Klasse vo radomisierte Algorithme Radomisierter Quicksort Radomisierter Primzahltest Kryptographie 2 1. Klasse vo
MehrZusammenfassung: Folgen und Konvergenz
LGÖ Ks VMa Schuljahr 6/7 Zusammefassug Folge ud Kovergez Ihaltsverzeichis Defiitioe ud Beispiele für Folge Beschräkte Folge Kovergez vo Folge Grezwertsätze für Folge 5 Für Experte 7 Defiitioe ud Beispiele
MehrTutoraufgabe 1 (Rekursionsgleichungen):
Prof. aa Dr. E. Ábrahám Datestrukture ud Algorithme SS4 Lösug - Übug F. Corzilius, S. Schupp, T. Ströder Tutoraufgabe (Rekursiosgleichuge): Gebe Sie die Rekursiosgleichuge für die Laufzeit der folgede
MehrÜbersicht. Datenstrukturen und Algorithmen. Rekursionsgleichungen. Übersicht. Vorlesung 6: Mastertheorem (K4) Joost-Pieter Katoen
Übersicht Datestrukture ud Algorithme Vorlesug 6: (K) Joost-Pieter Katoe Lehrstuhl für Iformatik 2 Software Modelig ad Verificatio Group 1 Substitutiosmethode Rekursiosbäume http://moves.rwth-aache.de/teachig/ss-15/dsal/
MehrDritter Zirkelbrief: Ungleichungen
Matheschülerzirkel Uiversität Augsburg Schuljahr 014/015 Dritter Zirkelbrief: Ugleichuge Ihaltsverzeichis 1 Grudlage vo Ugleichuge 1 Löse vo Ugleichuge 3 3 Mittel 4 4 Mittelugleichuge 5 5 Umordugsugleichug
Mehr4. Die Menge der Primzahlen. Bertrands Postulat
O. Forster: Eiführug i die Zahletheorie 4. Die Mege der Primzahle. Bertrads Postulat 4.1. Satz (Euklid. Es gibt uedlich viele Primzahle. Beweis. Wir zeige, dass es zu jeder edliche Mege p 1, p 2,..., p
MehrAsymptotische Notationen
Foliesatz 2 Michael Brikmeier Techische Uiversität Ilmeau Istitut für Theoretische Iformatik Sommersemester 29 TU Ilmeau Seite 1 / 42 Asymptotische Notatioe TU Ilmeau Seite 2 / 42 Zielsetzug Igoriere vo
MehrLösung: Datenstrukturen und Algorithmen SS17 Lösung - Klausur
Prof. aa Dr. Ir. G. Woegiger T. Hartma, D. Korzeiewski, B. Tauer Aufgabe (O-Notatio): Trage Sie i (a) (e) jeweils das Symbol o oder Θ oder ω (i Worte: klei-o oder groß-theta oder klei- Omega) i die durch
MehrELEMENTE DER ZAHLENTHEORIE UND AUFBAU DES ZAHLENSYSTEMS
ELEMENTE DER ZAHLENTHEORIE UND AUFBAU DES ZAHLENSYSTEMS vo Rolf Waldi 1 Kapitel I. Elemetare Zahletheorie 1 Grudlegede Regel ud Prizipie Es wird vorausgesetzt, daß der Leser mit gaze Zahle reche ka ud
MehrInfo2 Übungsstunde 5. Agenda. Lösungen U4. Java... more insights. Tipps zur Übung 5
Ifo2 Übugsstude 5 Ageda Lösuge U4 Java... more isights Tipps zur Übug 5 1 L4.A1 Stack Neeswertes Zwei Members: buffer ud size capacity := buffer.legth empty := size == 0 elemet idex := size void push(it
Mehr2. Übung Algorithmen II
Johaes Sigler, Prof. Saders 1 Johaes Sigler: KIT Uiversität des Lades Bade-Württemberg ud atioales Forschugszetrum i der Helmholtz-Gemeischaft Istitut für Theoretische www.kit.edu Iformatik Orgaisatorisches
MehrInformatik II Dynamische Programmierung
lausthal Iformatik II Dyamische Programmierug. Zachma lausthal Uiversity, ermay zach@i.tu-clausthal.de Zweite Techik für de Algorithmeetwurf Zum Name: "Dyamische " hat ichts mit "Dyamik" zu tu, soder mit
MehrDynamische Programmierung Matrixkettenprodukt
Dyamische Programmierug Matrixketteprodukt Das Optimalitätsprizip Typische Awedug für dyamisches Programmiere: Optimierugsprobleme Eie optimale Lösug für das Ausgagsproblem setzt sich aus optimale Lösuge
Mehr6. Übung - Differenzengleichungen
6. Übug - Differezegleichuge Beispiel 00 Gesucht sid alle Lösuge vo a) x + 3x + = 0 ud b) x + x + 7 = 0, jeweils für 0. Um diese lieare Differezegleichug erster Ordug zu löse, verwede wir die im Buch auf
Mehrb) Alle ganzen Zahlen die auf 0 enden sind durch 5 teilbar Spezialisierung: 120 endet auf ist durch 5 teilbar
d) Die Beweismethode der vollstädige Iduktio Der Übergag vo allgemeie zu spezielle Aussage heisst Deduktio Beispiele: a) Allgemeie Aussage: Spezialisierug: Schluss: Alle Mesche sid sterblich Sokrates ist
MehrAnalysis 1, Woche 2. Reelle Zahlen. 2.1 Ordnung. Definition 2.1 Man nennt eine Ordnung für K, wenn. 1. für alle a K gilt a a (Reflexivität),
Aalysis 1, Woche 2 Reelle Zahle A1 2.1 Ordug Defiitio 2.1 Ma et eie Ordug für K, we 1. für alle a K gilt a a (Reflexivität), 2. für alle a, b K mit a b ud b a gilt a = b (Atisymmetrie), 3. für alle a,
MehrSortieren DNA-Array oder DNA-Chip
Sortiere DNA-Array oder DNA-Chip Jeder Pukt des Feldes repräsetiert ei Ge g i des Mesche. Ei Ge ist der Baupla eies molekulare Bausteis useres Körpers. Mittels eies DNA-Chips ka ma gleichzeitig für viele
Mehr15. Rekursion. Rekursive Funktionen, Korrektheit, Terminierung, Aufrufstapel, Bau eines Taschenrechners, BNF, Parsen
453 15. Rekursion Rekursive Funktionen, Korrektheit, Terminierung, Aufrufstapel, Bau eines Taschenrechners, BNF, Parsen Mathematische Rekursion 454 Viele mathematische Funktionen sind sehr natürlich rekursiv
Mehr6 Folgen. 6.4 Folgen reeller Zahlen. Mathematik für Informatiker B, SS 2012 Dienstag 5.6. $Id: folgen.tex,v /06/05 11:12:18 hk Exp $
Mathematik für Iformatiker B, SS 0 Diestag 5.6 $Id: folge.tex,v. 0/06/05 ::8 hk Exp $ 6 Folge 6.4 Folge reeller Zahle I der letzte Sitzug habe wir de Begriff des Grezwerts eier Folge i eiem metrische Raum
MehrHandout 2. Divide et impera Veni, vidi, vici Julius Caesar
Datestruture & Algorithme 9 März 2016 Sebastia Millius, Sadro Feuz, Daiel Graf Hadout 2 Thema: Divide & Coquer (Mergesort, Biäre Suche), Hashig Divide et impera Vei, vidi, vici Julius Caesar Divide & Coquer
MehrFolgen und Reihen. 23. Mai 2002
Folge ud Reihe Reé Müller 23. Mai 2002 Ihaltsverzeichis 1 Folge 2 1.1 Defiitio ud Darstellug eier reelle Zahlefolge.................. 2 1.1.1 Rekursive Defiitio eier Folge......................... 3 1.2
Mehr11. Rekursion. 1, falls n 1. n (n 1)!, andernfalls. Mathematische Rekursion. Rekursion in Java: Genauso! Unendliche Rekursion. n!
Mathematische Rekursion 11. Rekursion Mathematische Rekursion, Terminierung, der Aufrufstapel, Beispiele, Rekursion vs. Iteration, Lindenmayer Systeme Viele mathematische Funktionen sind sehr natürlich
Mehr3 Grenzwerte. 3.1 Grenzwerte von Folgen
03-grezwerte.cdf 3 Grezwerte 3. Grezwerte vo Folge Kovergez Mache Folge zeige ei spezielles Verhalte, we der Idex sehr groß wird. Sie äher sich eier bestimmte Zahl. Betrachte wir zum Beispiel die Folge
Mehr12. Rekursion. 1, falls n 1. n (n 1)!, andernfalls. Lernziele. Mathematische Rekursion. Rekursion in Java: Genauso! n! =
Lernziele Sie verstehen, wie eine Lösung eines rekursives Problems in Java umgesetzt werden kann. Sie wissen, wie Methoden in einem Aufrufstapel abgearbeitet werden. 12. Rekursion Mathematische Rekursion,
MehrKombinatorik und Polynommultiplikation
Kombiatorik ud Polyommultiplikatio 3 Vorträge für Schüler SS 2004 W Pleske RWTH Aache, Lehrstuhl B für Mathematik 3 Eiige Zählprizipie ud Ausblicke Wir habe bislag gesehe, was die Multiomialkoeffiziete
Mehr2 Konvergenz von Folgen
Kovergez vo Folge. Eifache Eigeschafte Defiitio.. Eie Abbildug A : N C heißt Folge. Ma schreibt a statt A) für N ud a ) oder a ) statt A. We a R N, so heißt a ) reelle Folge. Defiitio.. Seie a ) eie Folge
Mehr3 T (d 1, l 2. ) + (6 + 2) falls d > 0 7 sonst. n 2. 4T ( n 2 ) + log 2 (n), falls n > 1 1, sonst
Prof. aa Dr. Ir. Joost-Pieter Katoe Datestrukture ud Algorithme SS5 Tutoriumslösug - Übug 3 (Abgabe 3.05.05 Christia Dehert, Friedrich Gretz, Bejami Kamiski, Thomas Ströder Tutoraufgabe (Rekursiosgleichuge:
MehrSkriptum zur ANALYSIS 1
Skriptum zur ANALYSIS 1 Güter Lettl WS 2017/2018 1. Grudbegriffe der Megelehre ud der Logik 1.1 Naive Megelehre [Sch-St 4.1] Defiitio eier Mege ach Georg Cator (1845 1918):,,Eie Mege M ist eie Zusammefassug
MehrZusammenfassung: Folgen und Konvergenz
Zusammefassug Folge ud Kovergez Ihaltsverzeichis Defiitioe ud Beispiele für Folge Beschräkte Folge Kovergez vo Folge Grezwertsätze für Folge 6 Für Experte 8 Defiitioe ud Beispiele für Folge Defiitio Eie
MehrEs gibt verschiedene Möglichkeiten eine Folge zu definieren. Die zwei häufigsten Methoden
Folge ud Reihe Folge Eie Folge ist eie Abbildug der atürliche Zahle N = {0, 1,,...} i die Mege der (zumidest i de meiste Fälle) reelle Zahle R. I diesem Fall ka ma sich eie Folge als Pukte i eiem Koordiatesystem
MehrDatenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität
Datestrukture ud Algorithme Christia Sohler FG Algorithme & Komplexität Orgaisatorisches Vorlesug: Mo 11:15-12:45 Fr 11:15-12:45 Zetralübug: Mo 13:00 13:45 Begi: Heute (2. Teil der Vorlesug) Übuge: Begi:
MehrGrenzwert. 1. Der Grenzwert von monotonen, beschränkten Folgen
. Der Grezwert vo mootoe, beschräkte Folge Der Grezwert vo mootoe, beschräkte Folge ist eifacher verstädlich als der allgemeie Fall. Deshalb utersuche wir zuerst diese Spezialfall ud verallgemeier aschliessed.
MehrAnalysis 1, Woche 2. Reelle Zahlen. 2.1 Ordnung. Definition 2.1 Man nennt eine Ordnung für K, wenn. 1. für alle a K gilt a a (Reflexivität),
Aalysis, Woche 2 Reelle Zahle A 2. Ordug Defiitio 2. Ma et eie Ordug für K, we. für alle a K gilt a a (Reflexivität), 2. für alle a, b K mit a b ud b a gilt a = b (Atisymmetrie), 3. für alle a, b, c K
MehrRecur : Falls Problem elementar : löse dieses mit spezieller Methode Falls Problem nicht elementar : wende Divide rekursiv an
Divide-ad-Coquer-Algorithme Fudametales Prizip des Problemlöses Divide : Zerlege das zu lösede Problem i (ei oder) mehrere kleiere Teilprobleme gleiche Typs Recur : Falls Problem elemetar : löse dieses
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
Mehr2 Die natürlichen, ganzen und rationalen Zahlen
2 Die atürliche, gaze ud ratioale Zahle 21 Aufgabe 21 Beweise Sie die folgede Aussage mittels vollstädiger Iduktio: (a) Für alle N gilt: Elemete köe auf 1 2 =! verschiedee Arte ageordet werde (b) Die Summe
MehrNey: Datenstrukturen und Algorithmen, SS 2004
1.4 Etwurfsmethode Für de gute Etwurf ka ma kaum strege Regel agebe, aber es gibt eiige Prizipie, die ma je ach Zielsetzug eisetze ka ud die uterschiedliche Vorzüge habe. Wir werde folgede typische Methode
MehrDynamisches Programmieren Stand
Dyamisches Programmiere Stad Stad der Dige: Dyamische Programmierug vermeidet Mehrfachberechug vo Zwischeergebisse Bei Rekursio eisetzbar Häufig eifache bottom-up Implemetierug möglich Das Subset Sum Problem:
MehrLösungen zum Ferienkurs Analysis 1, Vorlesung 2 Wintersemester 2014/2015
Lösuge zum Feriekurs Aalysis, Vorlesug Witersemester 04/05 Fabia Hafer, Thomas Baldauf I Richtig oder Falsch Sid folgede Aussage richtig oder falsch? Korrigiere bzw. ergäze Sie falsche Aussage. Gebe Sie
MehrAlgorithmen und Datenstrukturen"
Lehrstuhl für Medieiformatik Uiversität Siege Fakultät IV 10 Aufwad vo Algorithme Versio: WS 14/15 Fachgruppe Medieiformatik 10.1 10 Aufwad vo Algorithme... Motivatio: I der Regel gibt es viele mögliche
MehrInformatik II Übung 10
Iformatik II Übug 10 Floria Scheidegger florsche@studet.ethz.ch Folie mit freudlicher Geehmigug adaptiert vo Gábor Sörös ud Simo Mayer gabor.soros@if.ethz.ch, simo.mayer@if.ethz.ch 9.5.2013 Iformatik II
MehrEigenschaften von Texten
Worthäufigkeite Eigeschafte vo Texte Eiige Wörter sid sehr gebräuchlich. 2 der häufigste Wörter (z.b. the, of ) köe ca. 0 % der Wortvorkomme ausmache. Die meiste Wörter sid sehr selte. Die Hälfte der Wörter
MehrÜbungen zum Ferienkurs Analysis 1, Vorlesung 2
F. Hafer, T. Baldauf c Techische Uiversität Müche Übuge zum Feriekurs Aalysis, Vorlesug Witersemester 06/07. Richtig oder Falsch? Sid folgede Aussage richtig oder falsch? Korrigiere bzw. ergäze Sie falsche
MehrAUFGABENSTELLUNG (ZUSAMMENFASSUNG) 2 SPEZIFIKATION 2. Datenfluß und Programmablauf 2. Vorbedingung 3. Nachbedingung 3. Schleifeninvariante 3
INHALTSVERZEICHNIS AUFGABENSTELLUNG (ZUSAMMENFASSUNG) 2 SPEZIFIKATION 2 Datefluß ud Programmablauf 2 Vorbedigug 3 Nachbedigug 3 Schleifeivariate 3 KONSTRUKTION 4 ALTERNATIVE ENTWURFSMÖGLICHKEITEN 5 EFFEKTIVE
MehrÜbungen zur Infinitesimalrechnung 2, H.-C. Im Hof 19. März Blatt 4. Abgabe: 26. März 2010, Nachmittag. e x2 dx + e x2 dx = 2 e x2 dx
Übuge zur Ifiitesimalrechug, H.-C. Im Hof 9. März Blatt 4 Abgabe: 6. März, Nachmittag Aufgabe. Zeige e x dx π. Beweis. Wir bemerke als erstes, dass e x dx e x dx + e x dx e x dx formal sieht ma dies per
MehrBeweistechniken Vollständige Induktion - Beispiele, Erweiterungen und Übungen
Beweistechike Vollstädige Iduktio - Beispiele, Erweiteruge ud Übuge Alex Chmelitzki 15. März 005 1 Starke Iduktio Eie etwas abgewadelte Form der Iduktio ist die sogeate starke Iduktio. Bei dieser Spielart
MehrKapitel 5. Ausrichten
Kapitel 5 Ausrichte Sucht ma i eier Datebak ach Zeichekette (Wörter, Name, Gesequeze), möchte ma oft aders als i de voragegagee Kapitel uterstellt icht ur exakte Treer, soder auch ähliche Vorkomme de.
MehrSatz Ein Boolescher Term t ist eine Tautologie genau dann, wenn t unerfüllbar ist.
Erfüllbarkeit, Uerfüllbarkeit, Allgemeigültigkeit Defiitio Eie Belegug β ist passed zu eiem Boolesche Term t, falls β für alle atomare Terme i t defiiert ist. (Wird ab jetzt ageomme.) Ist β(t) = true,
Mehr5.7. Aufgaben zu Folgen
5.7. Aufgabe zu Folge Aufgabe : Lieares ud beschräktes Wachstum Aus eiem Quadrat mit der Seiteläge dm gehe auf die rechts agedeutete Weise eue Figure hervor. Die im -te Schritt agefügte Quadrate sid jeweils
MehrAufgabe 4.2. (a) lim 7 + = (b) lim. ( 2n 3 6n 2 + 3n 1. (c) lim n n 2 ( 1) n n 3) = lim. (d) n n + 1. lim. (e) n n. Aufgabe 4.3.
Folge Eie Folge ist eie Aordug vo reelle Zahle. Die eizele Zahle heiße Glieder der Folge. Kapitel 4 Folge ud Reihe Formal: Eie Folge ist eie Abbildug a : N R, a Folge werde mit a i i oder kurz a i bezeichet.
MehrDann ist die Zahl auf der linken Seite gerade und die auf der rechten Seite ungerade. Also sind sie nicht gleich.
Lösuge. Es gibt drei Lösuge.. Lösug: Ato ist traurig ud er trikt keie Likör. Bruo isst Torte ud ist besorgt. Christa ist icht übel ud sie macht Purzelbäume.. Lösug: Ato ist traurig ud trikt keie Likör.
MehrKapitel 4. Folgen und Reihen. Josef Leydold Auffrischungskurs Mathematik WS 2017/18 4 Folgen und Reihen 1 / 38. a : N R, n a n
Kapitel 4 Folge ud Reihe Josef Leydold Auffrischugskurs Mathematik WS 2017/18 4 Folge ud Reihe 1 / 38 Folge Eie Folge ist eie Aordug vo reelle Zahle. Die eizele Zahle heiße Glieder der Folge. Formal: Eie
MehrVorkurs Mathematik für Informatiker Folgen
Vorkurs Mathematik ür Iormatiker -- 8 Folge -- 11.10.2015 1 Folge: Deiitio Eie (uedliche) Folge im herkömmliche Sie etsteht durch Hitereiaderschreibe vo Zahle 1,2,3,4,5, Dabei ist die Reiheolge wichtig,
MehrElemente der Mathematik - Winter 2016/2017
4 Elemete der Mathemati - Witer 201/2017 Prof. Dr. Peter Koepe, Regula Krapf Übugsblatt 8 Aufgabe 33 ( Pute). Beweise Sie folgede Idetitäte durch vollstädige Idutio: (a) 0 2 (1)(21), N. (b) 2 (1 1 ) 1
MehrAussagenlogik. Aussagenlogik
I der mathematische Logik gibt es geau zwei Wahrheitswerte ämlich ur wahr oder falsch. Ei Drittes gibt es icht (Tertium o datur!). Zu eier Aussage a lässt sich die Negatio a (die Vereiug, sprich: "icht
MehrNachtrag. Alternatives Buch zum Satz von Fermat 1999 bei amazon nur noch gebraucht
Nachtrag Alteratives Buch zum Satz vo Fermat 1999 bei amazo ur och gebraucht 1 Uedliche (Zahle-) Mege 2 Wiederholug Steuer Bei eiem Eikomme vo ud eiem Steuersatz vo 33% müsse Sie Steuer zahle. Da werde
MehrDenition 27: Die Fakultät ist eine Folge f : N N mit f(1) := 1 und f(n + 1) := (n + 1) f(n) für alle n N. Wir schreiben n! := f(n) für diese Folge.
Vorkurs Mathematik, PD Dr. K. Halupczok, WWU Müster Fachbereich Mathematik ud Iformatik 22.9.20 Ÿ3.2 Folge ud Summe (Fortsetzug) Eie wichtige Möglichkeit, wie ma Zahlefolge deiere ka, ist die über eie
MehrGoldener Schnitt und Fünfecke. Ein Streifzug durch einige Wunder der Mathematik. Geeignet für Klasse 9 (teilweise) und 11 sowie Facharbeiten
Aalysis Fiboacci-Folge Goldeer Schitt ud Füfecke Ei Streifzug durch eiige Wuder der Mathematik Geeiget für Klasse 9 (teilweise) ud sowie Facharbeite Datei Nr. 40070 Stad 8. Jauar 009 INTERNETBIBLIOTHEK
MehrStarke und schwache Einwegfunktionen
Starke ud schwache Eiwegfuktioe Daiela Weiberg weiberg@iformatik.hu-berli.de Semiar: Perle der theoretische Iformatik Dozete: Prof. Johaes Köbler, Olaf Beyersdorff Witersemester 2002/2003 2. Dezember 2002
MehrIndizieren Sie die folgenden Summen und Produkte gemäß der Vorgabe um und schreiben Sie sie einmal explizit aus: 5
FU Berli: WiSe 13-14 (Aalysis 1 - Lehr.) Übugsaufgabe Zettel 9 Aufgabe 37 Idiziere Sie die folgede Summe ud Produte gemäß der Vorgabe um ud schreibe Sie sie eimal explizit aus: 5 (a) + 1) 0( Lösug. Die
Mehr4.1 Dezimalzahlen und Intervallschachtelungen. a) Reelle Zahlen werden meist als Dezimalzahlen dargestellt, etwa
20 I. Zahle, Kovergez ud Stetigkeit 4 Kovergete Folge 4. Dezimalzahle ud Itervallschachteluge. a) Reelle Zahle werde meist als Dezimalzahle dargestellt, etwa 7,304 = 0+7 +3 0 +0 00 +4 000. Edliche Dezimalzahle
Mehr1. Übungsblatt zu Algorithmen II im WS 2016/2017
Karlsruher Istitut für Techologie Istitut für Theoretische Iformatik Prof. Dr. Peter Saders Dr. Christia Schulz, Dr. Simo Gog Michael Atma. Übugsblatt zu Algorithme II im WS 06/07 http://algo.iti.kit.edu/algorithmeii
MehrKreisabbildungen. S 1 f S 1. Beispiele: (1) f = id, F = id,
Kreisabbilduge Im Folgede sehe wir us eie gaz spezielle Klasse vo dyamische Systeme a: Abbilduge auf dem Kreis. Diese sid eifach geug, so dass wir sie och recht leicht aalysiere köe, habe aber adererseits
MehrBeispiel: Vom Problem zum Code. Beispiel: Vom Problem zum Code. Beispiel: Vom Problem zum Code. Rekursion vs. Iteration
: Vom Problem zum Code : Vom Problem zum Code High-Level Pseudo-Code: Verfeierter Pseudo-Code: Eigabe: Azahl Scheibe: (jede mit aufgedruckter Nummer) Quell-Stage, Ziel-Stage, Zwischespeicher-Stage Vorbediguge:
MehrAufgabe G 1.1. [Vollständige Induktion, Teleskopsumme] n k 3 = n N : k(k + 1) = 1 1
Istitut für Aalysis ud Algebra Mathematik I für Studierede der E-Techik Prof Dr Volker Bach WiSe 06/7 M Sc Birgit Komader M Sc Christoph Brauer Theme: Groe Übug - Lösuge Vollstädige Iduktio - Teleskopsumme
MehrNennenswertes zur Stetigkeit
Neeswertes zur Stetigkeit.) Puktweise Stetigkeit: Vo Floria Modler Defiitio der pukteweise Stetigkeit: Eie Fuktio f : D R ist geau da i x D stetig, we gilt: ε > δ >, so dass f ( x) f ( x ) < ε x D mit
MehrLösungen zu Kapitel 4
Lösuge zu Kapitel 4 Lösug zu Aufgabe : Die folgede Grezwerte köe aalog zu Beispiel 4.(c bestimmt werde: (a lim + = 3 3. (b Die Folge a ist diverget. (c lim + = 0. 3 (d lim ( + 3 = 0. (e lim ( + = 0. Lösug
MehrÜBUNGSBLATT 4 LÖSUNGEN MAT121/MAT131 ANALYSIS I HERBSTSEMESTER 2010 PROF. DR. CAMILLO DE LELLIS
ÜBUNGSBLATT 4 LÖSUNGEN MAT/MAT3 ANALYSIS I HERBSTSEMESTER 00 PROF. DR. AMILLO DE LELLIS Aufgabe. Etscheide Sie für folgede Folge (wobei N \ {0}), ob diese koverget sid, ud bereche sie gegebeefalls ihre
Mehr2. Verteilung der Primzahlen. Bertrands Postulat
O Forster: Prizahle 2 Verteilug der Prizahle Bertrads Postulat 21 Satz (Euklid Es gibt uedlich viele Prizahle Beweis Wir zeige, dass es zu jeder edliche Mege 1, 2,, vo Prizahle ier och eie weitere Prizahl
MehrAnalysis I Lösungsvorschläge zum 3. Übungsblatt Abgabe: Bis Donnerstag, den , um 11:30 Uhr
Karlsruher Istitut für Techologie Istitut für Aalysis Dr. Christoph Schmoeger Dipl.-Math. Lars Machiek Dipl.-Math. Sebastia Schwarz WS 206/207 03..206 Aalysis I Lösugsvorschläge zum 3. Übugsblatt Abgabe:
MehrMathematik 1 für Informatik
Guter Ochs. Juli 203 Mathematik für Iformatik Probeklausur Lösugshiweise. a Bestimme Sie per NewtoIterpolatio ei Polyom px mit möglichst kleiem Grad, so dass p = p0 = p = sowie p2 = 7. i x i y i d i,i
MehrLeitfaden Bielefeld SS 2007 III-4
Leitfade Bielefeld SS 2007 III-4 8.2. Der allgemeie Fall. Satz. Sei N 1, sei ω eie primitive -te Eiheitswurzel ud K = Q[ω ]. Da gilt: (a) [K : Q] = φ(), (b) Φ ist irreduzibel, (c) O K = Z[ω ]. (d) Eie
Mehr8. Übungsblatt Aufgaben mit Lösungen
8. Übugsblatt Aufgabe mit Lösuge Aufgabe 36: Bestimme Sie alle z C, für die die folgede Potezreihe kovergiere: z z a, b! +, c z +. = = Lösug 36: Wir bezeiche de Kovergezradius mit r. a Wir wede das Quotietekriterium
MehrWir weisen die Gültigkeit der 4Axiome der sigma-algebra für die Potenzmenge einer endlichen Menge A nach!
Lösug zu Übug 4 Prof. Dr. B.Grabowski E-Post: grabowski@htw-saarlad.de Zu Aufgabe ) Wir weise die Gültigkeit der 4Axiome der sigma-algebra für die Potezmege eier edliche Mege A ach! ) Die leere Mege ud
Mehrn=0 f(x) = log(1 + x) = n=1
Potez - Reihe Machmal ist es praktisch eie Fuktio f() mir Hilfe ihrer Potezreihe auszudrücke. Eie Potezreihe um de Etwicklugspukt 0 sieht im Allgemeie so aus a ( 0 ) Fuktioe, für die eie Potezreihe eistiert,
MehrBasisfall Vergleichsbasiertes Sortieren Programmieraufgabe Algorithm Engineering
Basisfall Vergleichsbasiertes Sortiere Programmieraufgabe Algorithm Egieerig Deis Felsig 013-0-07 1 Eileitug I dieser Programmieraufgabe sollte Basisfälle für vergleichsbasiertes Sortiere utersucht werde.
Mehr