Hallo Welt für Fortgeschrittene

Größe: px
Ab Seite anzeigen:

Download "Hallo Welt für Fortgeschrittene"

Transkript

1 Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Informatik 2 Programmiersysteme Martensstraße Erlangen

2 Einstieg Die Wahrscheinlichkeit, dass bei 57 Personen, 2 am gleichen Tag Geburtstag haben, beträgt über 99%. Ein Zauberwürfel mit 26 Elementen kann auf rund 43 Trillionen Arten kombiniert werden. Beispiele für kombinatorische Explosion Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 2

3 Überblick Definition/Motivation Grundlagen aus der Schule Spezielle Zahlenfolgen Beispiele Zusammenfassung Literatur Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 3

4 Definition Kombinatorik ist ein Teilgebiet der Mathematik, das sich mit der Bestimmung der Anzahl möglicher Anordnungen oder Auswahlen von - unterscheidbaren oder nicht unterscheidbaren Objekten - mit oder ohne Beachtung der Reihenfolge beschäftigt Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 4

5 Motivation Wozu brauchen wir überhaupt Kombinatorik? Effiziente Berechnung der Auswahlmöglichkeiten Denn: Naives Ausprobieren ist extrem langsam (meist exponentielles Wachstum der Möglichkeiten) Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 5

6 Überblick Grundlagen aus der Schule - Permutationen - Kombinationen - Variationen - Binomialkoeffizient - Pascalsches Dreieck Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 6

7 Permutation - Definition Die Veränderung der Anordnung einer Menge durch Vertauschen ihrer Elemente alle Elemente werden dabei verwendet Mathematisch: Eine bijektive Abbildung einer Menge Ω auf sich selbst Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 7

8 Beispiele Wie viele Möglichkeiten gibt es, n unterscheidbare Elemente in beliebiger Reihenfolge nebeneinander anzuordnen? Lösung: n! z.b. n = 4. Kugel: 4 Möglichkeiten 2. Kugel: 3 Möglichkeiten... Gesamt: 4*3*2* Möglichkeiten = 4! = 24 Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 8

9 Beispiele Wie viele Möglichkeiten gibt es, n Elemente in beliebiger Reihenfolge nebeneinander anzuordnen, wobei k Elemente gleich sind? (k n) Lösung: n! k! Mississippi-Problem: Anzahl der Anordnungsmöglichkeiten, wobei es nun mehrere Gruppen gleicher Elemente (a,b,c,...) gibt (a,b,c... disjunkt) Lösung: n! a! b! c! Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 9

10 Spezialfall Wie viele Möglichkeiten gibt es, n (unterscheidbare) Elemente im Kreis anzuordnen, wobei nur bezüglich der benachbarten Elemente unterschieden wird? Lösung: n! 2 n Erläuterung zum Nenner: Faktor n: für jede Belegung ergeben sich durch Rotation n identische Belegungen, z.b. (23)=(23)=(32) Faktor 2: bei jeder Belegung kann eine Spiegelung an einer Achse durch die Mitte vorgenommen werden, ohne dass sich die Nachbarn ändern Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 0

11 Variation-Definition Auswählen von k Elementen aus einer Menge mit Kardinalität n mit Beachtung der Reihenfolge mit oder ohne Zurücklegen Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie

12 Variation-Definition Auswählen mit Beachtung der Reihenfolge Wie viele Möglichkeiten gibt es, auf k Plätze n Objekte zu verteilen? ( k n ) Ohne Zurücklegen ( Wettlaufproblem ) Lösung n! n k! = k n k! Mit Zurücklegen ( Zahlenschlossproblem ) Lösung: n k Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 2

13 Beispiel Wie viele Möglichkeiten muss man für ein 5-stelliges Zahlenschloss (0-9) höchstens durchprobieren, wenn man weiß, dass die Zahl 3 einmal, die 5 zweimal vorkommt, und die 2. Position die 8 ist? Lösung: Wie kommt man darauf? Faktor : Möglichkeit für die 2. Position 4 Faktor 3 : 3 von 4 übrig gebliebenen Plätzen für die Zahlen 3,5,5 Faktor 3: 3 Möglichkeiten, 3 Zahlen beliebig anzuordnen, wobei 2 Zahlen gleich sind (Mississippi-Problem) Faktor 0: 0 Möglichkeiten für den letzten verbliebenen Platz Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 3

14 Kombination-Definition Ähnlich wie Variation, jedoch ohne Beachtung der Reihenfolge mit oder ohne Zurücklegen es gibt immer weniger Kombinationen als Variationen Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 4

15 Kombination Definition Auswählen ohne Beachtung der Reihenfolge Wie viele Möglichkeiten gibt es, aus einer Menge mit n Elementen k Objekte auszuwählen? (k n) Ohne Zurücklegen ( Lottoproblem ) Lösung: n k Mit Zurücklegen Lösung: n k = n k! k! n! k Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 5

16 Beispiel Wie viele Möglichkeiten gibt es, aus einem Topf mit 0 unterschiedlich gefärbten Kugeln 4 Kugeln auszuwählen, wobei die Kugel nach jedem Ziehen wieder zurückgelegt wird. Lösung: 0 4! 3! = =75 4! 0! 4! 9! Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 6

17 Der Binomialkoeffizient n! n = k! n k! k n = n k n k n = n n k k k n = n = n 0 n =n Definition Auswahl der Komplementärmenge Rekursionsgleichung Basisfall Basisfall Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 7

18 Implementierung in JAVA public static long binom(int n, int k){ int min = ( k < n-k? k : n-k); long result = ; for(int i = ; i <= min; i++){ result = result * n; //Division geht exakt auf result = result/i; n = n - ; } return result; } Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 8

19 Pascalsches Dreieck kann effizient mit Bottom-Up DP berechnet werden Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 9

20 Überblick Spezielle Zahlenfolgen - Fibonacci Zahlen - Catalan Zahlen - Stirling Zahlen (I. & II. Art) - Euler Zahlen - Integer Partitionen Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 20

21 Fibonacci Zahlen 0,,,2,3,5,8,3,2,34,55,89,44,233,377,60,987 Rekursive Definition: f n = f n f n 2 (für n>) Basisfälle: f 0 =0 f = Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 2

22 Implementierung Naive Implementierung der Definition führt sehr schnell zu endlosen Rekursionsschritten und damit zu Timelimit Besser: Lösung mittels schneller Exponentiation von Matrizen n f n f n = 0 f n f n Aufwand zur Berechnung von fib(n) damit O(log n) Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 22

23 Implementierung in Java int[][] M = {{,}{0,}}; int fib(int n){ matpow(n - ); return M[0][0]; } void matpow(int n){ if(n > ){ matpow(n/2); M = M * M; //Pseudocode } if(n%2!= 0) M = M* {{,}{0,}}; } Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 23

24 Catalan Zahlen,,2,5,4,42,32,429,430,4862,6796,58786, Anzahl der Möglichkeiten, ein konvexes n-eck durch Diagonalen in Dreiecke zu zerteilen - Anzahl der wohlgeformten Klammerausdrücke - Anzahl der möglichen Binärbäume Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 24

25 Definition Definition: C n = 2n n n n Rekursive Definition: C n = C k C n k k =0 z.b. C 3=C 0 C 2 C C C 2 C 0 Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 25

26 Beispiel Cn+ entspricht der Anzahl der Klammerausdrücke eines Produkts mit 3 Multiplikationen (also 4 Klammern/Faktoren) (x * x2) * (x3 * x4) (x * (x2 * x3)) * x4 x * ((x2 * x3) * x4) ((x * x2) * x3) * x4 x * (x2 * (x3 * x4)) C3 = 5 Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 26

27 Implementierung in Java static int NMAX; static long[] nums = new long[nmax+] public static void catalan(){ Arrays.fill(nums, 0); nums[0] = ; nums[] = ; for(int i = ; i< NMAX; i++){ for(int j = 0; j < i; j++){ nums[i+] += nums[j] * nums[i - j]; } } } Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 27

28 Stirling-Zahl I. Art Anzahl der Möglichkeiten, eine Permutation mit n Elementen in k Zyklen zu zerlegen. Schreibweise: [] s n, k = n k 0 k n Rekursive Definition: [][ ] [ ] n = n n n k k k Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 28

29 Beispiel Anzahl der Möglichkeiten, die Menge M = {a,b,c} mit Kardinalität n = 4 in jeweils 3 (nichtleere) Zyklen (k = 3) zu zerlegen: ()(2)(3,4) ()(3)(2,4) ()(4)(2,3) (2)(3)(,4) (2)(4)(,3) (3)(4)(,2) s(4,3)=6 Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 29

30 Stirling-Dreieck I n [] [] [] [] [] [] [] n [][ ] n n n 3 n 4 n [ ] n = n n n k k k n 6 n=4 k=2 s(4,2) = 2+3*3= Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 30

31 Implementierung in JAVA static int NMAX; long[][] nums = new long[nmax][nmax]; public static void stirling(){ Arrays.fill(nums, 0); nums[0][0] = ; for(int i = ; i < NMAX; i++){ for(int j = ; j <= i; j++){ nums[i][j] = nums[i ][j ] + (n ) * nums[n - ][k]; } } } Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 3

32 Stirling-Zahl II. Art Anzahl der Möglichkeiten, aus einer Menge mit n Elementen r nichtleere, disjunkte Teilmengen zu bilden (Partition von n mit r Teilmengen) {r } Schreibweise: S n, r =S nr = n r Iterative Definition: S n, r = Rekursive Definition: j r r j n r! j=0 j {} { } { } n = n r n r r r Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 32

33 Beispiel Anzahl der Möglichkeiten, die Menge M = {a,b,c,d} mit Kardinalität n = 4 in r = 2 nichtleere, disjunkte Teilmengen zu zerlegen: {a,b} {c,d} {a,c} {b,d} {a,d} {b,c} {a,b,c} {d} {a,b,d} {c} {b,c,d} {a} {a,c,d} {b} S(4,2) = 7 Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 33

34 Stirling-Dreieck II n n 0 n n 2 n 3 {} {} {} {} n 4 n 5 {} {} {} {} { } { } n = n r n r r r n 6 n=5 r=2 S(5,2) = + 2*7 = 5 Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 34

35 Implementierung in Java (iterativ) public static int stirling2(int n, int r){ int sum = 0, int tmpsum = 0; int fak = ; for(int i = 0; i <= r; i++){ tmpsum = fastexp(r i, n); tmpsum = binom(r, i); if((n%2) == ) sum -= tmpsum; else sum += tmpsum fak = fak * i; } return sum/fak; } Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 35

36 Implementierung in Java (rekursiv) static int NMAX; static long[][] nums = new long[nmax][nmax]; public static void stirling2(){ Arrays.fill(nums, 0); nums[0][0] = ; for(int i = ; i < NMAX; i++){ for(int j = ; j <= i; j++){ nums[i][j] = nums[i ][j - ] + j * nums[i - ][j]; } } } Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 36

37 Euler-Zahlen Anzahl der Permutationen von n Elementen, die genau k aufsteigende Teilfolgen haben Schreibweise: n k Iterative Definition: Rekursive Definition: k n = j n k j n k j j =0 n =k n n k n k k k 0 k n Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 37

38 Beispiel Anzahl der Permutationen von n=3 Elementen mit genau k=2 aufsteigenden Teilfolgen entspricht den Kriterien nicht, da es nur eine aufsteigende Teilfolge gibt 32 hat beispielsweise 3 aufsteigende Teilfolgen Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 38

39 Implementierung in Java (iterativ) public static int euler(int n, int k){ int sum = 0; int tmpsum = 0; for(int i = 0; i <= k; i++){ tmpsum = fastexp(k i +, n); tmpsum *= binom(n +, i); if((n%2)!= 0) sum -= tmpsum; else sum += tmpsum; } return sum; } Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 39

40 Implementierung in Java (rekursiv) static int NMAX; static long[][] nums = new long[nmax][nmax]; public static void euler(){ Arrays.fill(nums, 0); nums[0][0] = ; for(int i = 0; i < NMAX; i++){ for(int j = 0; j <= i; j++){ nums[i][j] = j * nums[i - ][j] + (n k + ) * nums[n ][k - ]; } } } Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 40

41 Integer-Partitionen Eine Integer-Partition n nennt man eine Menge von natürlichen Zahlen, deren Summe n ergibt. f(n,k) soll alle möglichen Zusammensetzungen von n aus Zahlen <= k liefern f(n,n) entspricht der Integer-Partition von n Beispiele: f(,) = {} f(2,2) = 2 {{,},{2}} f(3,2) = 2 {{,2},{,,}} f(5,3) = 5 {{,,,,},{,,,2},{,2,2},{,,3},{2,3}} Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 4

42 Integer-Partitionen Die rekursive Funktion addiert dann alle Möglichkeiten, in denen k vorkommt und alle mit k- f n, k = f n k, k f n, k Basifälle: f n,0 =0 f 0, k = f n, k =0, n 0 Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 42

43 How Many Trees? A binary search tree is a binary tree with root k such that any node v in the left subtree of k has label (v) <label (k) and any node w in the right subtree of k has label (w) > label (k). Given a number n, can you tell how many different binary search trees may be constructed with a set of numbers of size n such that each element of the set will be associated to the label of exactly one node in a binary search tree? Input and Output The input will contain a number <= i <= 000 per line representing the number of elements of the set. You have to print a line in the output for each entry with the answer to the previous question. Sample Input 2 3 Sample Output 2 5 Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 43

44 0303 How Many Trees? public class Trees{ static BigInteger[] nums; public static void catalan(){ Arrays.fill(nums, BigInteger.ZERO); nums[0] = BigInteger.ONE; nums[] = BigInteger.ONE; for(int i = ; i< 000; i++) for(int j = 0; j <= i; j++) nums[i+] = nums[i+].add(nums[j].multiply(nums[i - j])); } public static void main(string[] args){ nums = new BigInteger[00]; Scanner sc = new Scanner(System.in); catalan(); while(sc.hasnextint()) System.out.println(nums[sc.nextInt()]); }} Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 44

45 098 - Counting Gustavo knows how to count, but he is now learning how write numbers. As he is a very good student, he already learned, 2, 3 and 4. But he didn't realize yet that 4 is different than, so he thinks that 4 is another way to write. 234 = = 9 (remember that 4 = ) Gustavo now wants to know how much numbers he can create such that their sum is a number n. For instance, for n = 2 he noticed that he can make 5 numbers:, 4, 4, 44 and 2. Input and Output For each number <= n <= 000., you must output another number stating how much numbers Gustavo can make such that the sum of their digits is equal to the given number. Sample Input 2 3 Sample Output 5 3 Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 45

46 098 - Counting public class Counting { public static void main(string[] args) { Scanner sc = new Scanner(System.in); BigInteger[] count = new BigInteger[00]; count[] = BigInteger.valueOf(2); count[2] = BigInteger.valueOf(5); count[3] = BigInteger.valueOf(3); for(int i=4 ; i<=000 ; i++) { count[i] = BigInteger.valueOf(0); count[i] = count[i].add(count[i-]); count[i] = count[i].add(count[i-]); count[i] = count[i].add(count[i-2]); count[i] = count[i].add(count[i-3]); } while(sc.hasnext()) System.out.println(count[sc.nextInt()]); }} Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 46

47 Zusammenfassung Wichtige ICPC Hinweise: Implementierung der Zahlenfolgen: meist rekursive Formel + DP erforderlich, einfache Rekursion führt fast immer zu Timelimit Zahlenwerte steigen oft SEHR schnell: in JAVA daher BigInteger verwenden, in C/C++ long long verwenden oder bigint selbst implementieren =) Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 47

48 Literatur Hallo Welt-Vorträge von Johannes Simon, Thomas Ritscher und Tilmann Spiegelhauer Programming Challenges: Skiena, Revilla Hallo Welt für Fortgeschrittene Kombinatorik Tanja Fischer Folie 48

Einleitung Grundlagen spez. Zahlenfolgen Zusammenfassung Kombinatorik. im Rahmen Hallo Welt für Fortgeschrittene. Johannes Simon

Einleitung Grundlagen spez. Zahlenfolgen Zusammenfassung Kombinatorik. im Rahmen Hallo Welt für Fortgeschrittene. Johannes Simon Kombinatorik im Rahmen Hallo Welt für Fortgeschrittene Johannes Simon - 27.06.2008 TODO 1 / 41 Kombinatorik ist ein Teilgebiet der Mathematik, das sich mit der Bestimmung der Zahl möglicher Anordnungen

Mehr

Kombinatorik. Simon Rainer 21. Juli Simon Kombinatorik 21. Juli / 51

Kombinatorik. Simon Rainer 21. Juli Simon Kombinatorik 21. Juli / 51 Kombinatorik Simon Rainer sr@mail25.de 21. Juli 2015 Simon Rainersr@mail25.de Kombinatorik 21. Juli 2015 1 / 51 Was ist Kombinatorik? Teilgebiet der diskreten Mathematik Endliche oder abzählbar unendliche

Mehr

Kombinatorik. Hallo Welt Philip Kranz. 12. Juli Philip Kranz () Kombinatorik 12. Juli / 47

Kombinatorik. Hallo Welt Philip Kranz. 12. Juli Philip Kranz () Kombinatorik 12. Juli / 47 Kombinatorik Hallo Welt 2011 Philip Kranz 12. Juli 2011 Philip Kranz () Kombinatorik 12. Juli 2011 1 / 47 Inhalt 1 Einführung 2 Grundlagen Permutationen Variationen Kombinationen Binomialkoeffizient /

Mehr

Kombinatorik. Matthias Wirth Matthias Wirth Kombinatorik / 46

Kombinatorik. Matthias Wirth Matthias Wirth Kombinatorik / 46 Kombinatorik Matthias Wirth 25.06.2013 Matthias Wirth Kombinatorik 25.06.2013 1 / 46 Überblick Grundlagen Zahlenfolgen Fibonacci Catalan Euler Stirling Integer-Partitionen Anwendungsbeispiele jeweils zu

Mehr

Technische Universität München. Kombinatorik. Christian Fuchs

Technische Universität München. Kombinatorik. Christian Fuchs Kombinatorik Christian Fuchs 1.Definition Kombinatorik 2.Grundlegende Zählmethoden 3.Binomialkoeffizienten 4.Permutationen 5.Stirling-Zahlen 6.Catalan-Zahlen 7.Zahlpartitionen 8.Aufgaben 9.Literatur Technische

Mehr

Hallo Welt für Fortgeschrittene

Hallo Welt für Fortgeschrittene Hallo Welt für Fortgeschrittene Kombinatorik Andreas Siegling Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Einstieg Es gibt ca. 6.7 x 10 21 verschiedene 9x9 Standard-Sudokus. Für Tic

Mehr

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand Übungsblatt 7 Besprechung: 4. 8.12.2017 (KW 49) Vorbereitende

Mehr

Grundlagen der Kombinatorik

Grundlagen der Kombinatorik Statistik 1 für SoziologInnen Grundlagen der Kombinatorik Univ.Prof. Dr. Marcus Hudec Zufallsauswahl aus Grundgesamtheiten In der statistischen Praxis kommt dem Ziehen von Stichproben größte Bedeutung

Mehr

Kombinatorik. 1. Permutationen 2. Variationen 3. Kombinationen. ad 1) Permutationen. a) Permutationen von n verschiedenen Elementen

Kombinatorik. 1. Permutationen 2. Variationen 3. Kombinationen. ad 1) Permutationen. a) Permutationen von n verschiedenen Elementen Kombinatorik Zur Berechnung der Wahrscheinlichkeit eines zusammengesetzten Ereignisses ist oft erforderlich, zwei verschiedene Anzahlen zu berechnen: die Anzahl aller Elementarereignisse und die Anzahl

Mehr

Mathematik für Biologen

Mathematik für Biologen Mathematik für Biologen Prof. Dr. Rüdiger W. Braun Heinrich-Heine-Universität Düsseldorf 3. November 2010 1 Kombinatorik Fakultät Binomialkoeffizienten Urnenmodelle 2 Definition Tabellen Fakultät, Beispiel

Mehr

Prof. S. Krauter Kombinatorik. WS Blatt03.doc

Prof. S. Krauter Kombinatorik. WS Blatt03.doc Prof. S. Krauter Kombinatorik. WS 05-06 Blatt03.doc Zahlpartitionen: 1. Gegeben ist folgende Gleichung: x 1 + x 2 + x 3 + + x s = n. a) Wie viele verschiedene Lösungen besitzt diese Gleichung mit Werten

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

Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Rekursion Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Aufgabe 1: Potenzfunktion Schreiben Sie eine Methode, die

Mehr

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016 to to May 2016 to What is Programming? All computers are stupid. All computers are deterministic. You have to tell the computer what to do. You can tell the computer in any (programming) language) you

Mehr

Kombinatorik. Additions- und Multiplikationsgesetz

Kombinatorik. Additions- und Multiplikationsgesetz Kombinatorik Die Kombinatorik beschäftigt sich mit der Berechnung der Anzahl Möglichkeiten, eine Anzahl von Objekten aus einer Grundmenge auszuwählen. Z.B. beim Schweizer Zahlenlotto 6 aus 45. Dabei wird

Mehr

EINFÜHRUNG IN DIE PROGRAMMIERUNG

EINFÜHRUNG IN DIE PROGRAMMIERUNG EINFÜHRUNG IN DIE PROGRAMMIERUNG GRUNDLAGEN Tobias Witt!! 24.03.2014 ORGANISATORISCHES 09:00-10:30! Täglich Übungen zur Vertiefung! Laptop hier nicht erforderlich! Linux, OS X! Freitag: http://hhu-fscs.de/linux-install-party/

Mehr

4. Kombinatorik *) In der Kombinatorik werden drei wichtige Symbole benötigt: o n! o (n) k o

4. Kombinatorik *) In der Kombinatorik werden drei wichtige Symbole benötigt: o n! o (n) k o *) Die Berechnung der Wahrscheinlichkeit im Laplace-Experiment wirkt zunächst einfach. Man muss einfach die Anzahl der günstigen Fälle durch die Anzahl der möglichen Fälle teilen. Das Feststellen dieser

Mehr

Heap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen

Heap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen Heap vs. vs. statisch Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen

Mehr

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Marcel Preuß, Iman Kamehkhosh, Marc Bury, Diana Howey Übungsblatt

Mehr

Heap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen

Heap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen Heap vs. vs. statisch Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen

Mehr

WS 2008/09. Diskrete Strukturen

WS 2008/09. Diskrete Strukturen WS 2008/09 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/ws0809

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 8 FS 16

Datenstrukturen & Algorithmen Lösungen zu Blatt 8 FS 16 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik. April 0

Mehr

Mathematik für Biologen

Mathematik für Biologen Mathematik für Biologen Prof. Dr. Rüdiger W. Braun Heinrich-Heine-Universität Düsseldorf 12. Dezember 2012 1 Kombinatorik Fakultät Binomialkoeffizienten Urnenmodelle 2 Definition Fakultät Die Zahl n! =

Mehr

EINFÜHRUNG IN DIE PROGRAMMIERUNG

EINFÜHRUNG IN DIE PROGRAMMIERUNG EINFÜHRUNG IN DIE PROGRAMMIERUNG GRUNDLAGEN Tobias Witt 24.03.2014 ORGANISATORISCHES tobias.witt@hhu.de 10:30-12:00 Täglich Übungen zur Vertiefung Laptop hier nicht erforderlich Aber später in den Übungen!

Mehr

WS 2016/17 Diskrete Strukturen Kapitel 3: Kombinatorik (1)

WS 2016/17 Diskrete Strukturen Kapitel 3: Kombinatorik (1) WS 2016/17 Diskrete Strukturen Kapitel 3: Kombinatorik (1) 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_16

Mehr

Permutation = Anordnung aller Elemente einer Menge, Kombination = Auswahl von einigen aus vielen Elementen, Variation = Auswahl und Anordnung.

Permutation = Anordnung aller Elemente einer Menge, Kombination = Auswahl von einigen aus vielen Elementen, Variation = Auswahl und Anordnung. Kombinatorik Was ist Kombinatorik? Die 92 natürlichen chemischen Elemente sind die mathematischen Elemente der Menge chemisches Periodensystem. Ebenso sind die zehn Ziffern 0 9 eine Menge, jede Ziffer

Mehr

Dynamische Programmierung. Problemlösungsstrategie der Informatik

Dynamische Programmierung. Problemlösungsstrategie der Informatik als Problemlösungsstrategie der Informatik und ihre Anwedung in der Diskreten Mathematik und Graphentheorie Fabian Cordt Enisa Metovic Wissenschaftliche Arbeiten und Präsentationen, WS 2010/2011 Gliederung

Mehr

Dynamische Programmierung

Dynamische Programmierung Dynamische Programmierung Ludwig Höcker 13.06.2012 Ludwig Höcker Dynamische Programmierung 13.06.2012 1 / 61 Gliederung Dynamic Programming Bsp.: FAU-Kabel Naiv Top-Down Bottom-Up Longest Increasing Subsequence

Mehr

Sachrechnen/Größen WS 14/15-

Sachrechnen/Größen WS 14/15- Kapitel Daten & Wahrscheinlichkeit 3.1 Kombinatorische Grundlagen 3.2 Kombinatorik & Wahrscheinlichkeit in der Grundschule 3.3 Daten Darstellen 3.1 Kombinatorische Grundlagen Verschiedene Bereiche der

Mehr

Kombinatorik: Abzählverfahren (Teschl/Teschl 7) Summenregel. Allgemeiner

Kombinatorik: Abzählverfahren (Teschl/Teschl 7) Summenregel. Allgemeiner Kombinatorik: Abzählverfahren Teschl/Teschl 7 Fragestellung: Wie viele verschiedene Möglichkeiten gibt es, Elemente auszuwählen, z. B. Anzahl verschiedener möglicher Passwörter, IPAdressen, Zahlenkombinationen

Mehr

3. Kombinatorik Modelltheoretische Wahrscheinlichkeiten Regeln der Kombinatorik

3. Kombinatorik Modelltheoretische Wahrscheinlichkeiten Regeln der Kombinatorik 3. Kombinatorik Modelltheoretische Wahrscheinlichkeiten lassen sich häufig durch Abzählen der günstigen und möglichen Fällen lösen. Kompliziertere Fragestellungen bedürfen aber der Verwendung mathematischer

Mehr

Grundlagen der Programmierung WS 15/16 (Vorlesung von Prof. Bothe)

Grundlagen der Programmierung WS 15/16 (Vorlesung von Prof. Bothe) Humboldt-Universität zu Berlin Institut für Informatik Grundlagen der Programmierung WS 15/16 (Vorlesung von Prof. Bothe) Übungsblatt 4: Felder und Rekursion Abgabe: bis 9:00 Uhr am 14.12.2015 über Goya

Mehr

6 Speicherorganisation

6 Speicherorganisation Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen Speicherbereich für

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

Programmiertechnik Methoden, Teil 2

Programmiertechnik Methoden, Teil 2 Programmiertechnik Methoden, Teil 2 Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Rekursion Oliver Haase Hochschule Konstanz 2 Definition Was ist Rekursion? Allgemein: Rekursion ist die Definition

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

2.6 Zahlpartitionen. 2.7 Mehr Rekursionsformeln - Catalanzahlen

2.6 Zahlpartitionen. 2.7 Mehr Rekursionsformeln - Catalanzahlen Beweis. (kombinatorisch): Links steht die Anzahl der k-partitionen einer n-elementigen Menge. Wie entstehen diese? Wir wählen wieder ein festes Element e n aus M. Man kann die k-partitionen von M dann

Mehr

Vorlesung. Prof. Janis Voigtländer Übungsleitung: Dennis Nolte. Mathematische Strukturen Sommersemester 2017

Vorlesung. Prof. Janis Voigtländer Übungsleitung: Dennis Nolte. Mathematische Strukturen Sommersemester 2017 Vorlesung Mathematische Strukturen Sommersemester 017 Prof. Janis Voigtländer Übungsleitung: Dennis Nolte Kombinatorik: Einführung Es folgt eine Einführung in die abzählende Kombinatorik. Dabei geht es

Mehr

19. Vererbung und Polymorphie

19. Vererbung und Polymorphie 667 19. Vererbung und Polymorphie Ausdrucksbäume, Vererbung, Code-Wiederverwendung, virtuelle Funktionen, Polymorphie, Konzepte des objektorientierten Programmierens (Ausdrucks-)Bäume -(3-(4-5))*(3+4*5)/6

Mehr

Unter dem Symbol n! (gelesen n Fakultät) versteht man das Produkt der natürlichen Zahlen von 1 bis n.

Unter dem Symbol n! (gelesen n Fakultät) versteht man das Produkt der natürlichen Zahlen von 1 bis n. Die Fakultät Definition: Unter dem Symbol n! (gelesen n Fakultät) versteht man das Produkt der natürlichen Zahlen von 1 bis n. n! = 1 2 3... (n 2) (n 1) n Zusätzlich wird definiert 0! = 1 Wie aus der Definition

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Klassenmethoden Teil 2

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Klassenmethoden Teil 2 Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Klassenmethoden Teil 2 Rekursion 2/23 Definition Rekursion, die siehe Rekursion Was ist Rekursion Allgemein: Rekursion ist die Definition

Mehr

18. Vererbung und Polymorphie

18. Vererbung und Polymorphie 617 18. Vererbung und Polymorphie Ausdrucksbäume, Vererbung, Code-Wiederverwendung, virtuelle Funktionen, Polymorphie, Konzepte des objektorientierten Programmierens (Ausdrucks-)Bäume -(3-(4-5))*(3+4*5)/6

Mehr

Wahrscheinlichkeitsräume (Teschl/Teschl 2, Kap. 26)

Wahrscheinlichkeitsräume (Teschl/Teschl 2, Kap. 26) Wahrscheinlichkeitsräume (Teschl/Teschl 2, Kap. 26 Ein Wahrscheinlichkeitsraum (Ω, P ist eine Menge Ω (Menge aller möglichen Ausgänge eines Zufallsexperiments: Ergebnismenge versehen mit einer Abbildung

Mehr

1 Mengen. 1.1 Definition

1 Mengen. 1.1 Definition 1 Mengen 1.1 Definition Eine Menge M ist nach dem Begründer der Mengenlehre Georg Cantor eine Zusammenfassung von wohlunterschiedenen(verschiedenen) Elementen. Eine Menge lässt sich durch verschiedene

Mehr

Kombinatorik kompakt. Stochastik WS 2016/17 1

Kombinatorik kompakt. Stochastik WS 2016/17 1 Kombinatorik kompakt Stochastik WS 2016/17 1 Übersicht Auswahl/Kombinationen von N aus m Elementen Statistische unterscheidbare ununterscheidbare Physik Objekte (gleiche) Objekte ( ohne m N m+n 1 ) N mit

Mehr

Prof. S. Krauter Kombinatorik. WS Blatt04.doc

Prof. S. Krauter Kombinatorik. WS Blatt04.doc Prof. S. Krauter Kombinatorik. WS-05-06 Blatt04.doc Mengenpartitionen:. Auf dem Tisch liegen 7 verschiedene Gegenstände. Wie viele verschiedene Möglichkeiten gibt es, diese 7 Gegenstände in 3 gleiche Schachteln

Mehr

3. Kombinatorik Modelltheoretische Wahrscheinlichkeiten Regeln der Kombinatorik

3. Kombinatorik Modelltheoretische Wahrscheinlichkeiten Regeln der Kombinatorik 3. Kombinatorik Modelltheoretische Wahrscheinlichkeiten lassen sich häufig durch Abzählen der günstigen und möglichen Fällen lösen. Kompliziertere Fragestellungen bedürfen aber der Verwendung mathematischer

Mehr

Bäume. Text. Prof. Dr. Margarita Esponda SS 2012 O4 O5 O6 O ALP2-Vorlesung, M. Esponda

Bäume. Text. Prof. Dr. Margarita Esponda SS 2012 O4 O5 O6 O ALP2-Vorlesung, M. Esponda Bäume O1 O2 Text O3 O4 O5 O6 O7 Prof. Dr. Margarita Esponda SS 2012 22. ALP2-Vorlesung, M. Esponda Inhalt 1. Einführung 2. Warum Bäume? 3. Listen und Arrays vs. Bäume 4. Einfach verkettete binäre Suchbäume

Mehr

Selbststudium OOP7 & ALG2 Auftrag

Selbststudium OOP7 & ALG2 Auftrag Selbststudium OOP7 & ALG2 Auftrag Kapitel 5.6 1. zu bearbeitende Aufgaben: 5.24 bis 5.30 5.24: Return Method Set entryset() V get(object key) Set keyset() V put(k key, V value) void

Mehr

18. Vererbung und Polymorphie

18. Vererbung und Polymorphie 590 18. Vererbung und Polymorphie Ausdrucksbäume, Vererbung, Code-Wiederverwendung, virtuelle Funktionen, Polymorphie, Konzepte des objektorientierten Programmierens (Ausdrucks-)Bäume 591 -(3-(4-5))*(3+4*5)/6

Mehr

Matrikelnummer:

Matrikelnummer: Übungen zur Informatik A Hauptklausur 20.02.2003 Universität Koblenz-Landau Institut für Informatik WS 2002/3 Prof. Dr. Dietrich Paulus Dr. Manfred Jackel Bitte lösen Sie jede Aufgabe auf dem jeweiligen

Mehr

Vorkurs Informatik WiSe 17/18

Vorkurs Informatik WiSe 17/18 Java Rekursion Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 10.10.2017 Technische Universität Braunschweig, IPS Überblick Einleitung Türme von Hanoi Rekursion Beispiele 10.10.2017 Dr. Werner Struckmann

Mehr

Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"

Mehr

Level 2 German, 2016

Level 2 German, 2016 91126 911260 2SUPERVISOR S Level 2 German, 2016 91126 Demonstrate understanding of a variety of written and / or visual German texts on familiar matters 2.00 p.m. Tuesday 29 November 2016 Credits: Five

Mehr

Universität Basel Wirtschaftswissenschaftliches Zentrum. Kombinatorik. Dr. Thomas Zehrt. Inhalt: 1. Endliche Mengen 2. Einfache Urnenexperimente

Universität Basel Wirtschaftswissenschaftliches Zentrum. Kombinatorik. Dr. Thomas Zehrt. Inhalt: 1. Endliche Mengen 2. Einfache Urnenexperimente Universität Basel Wirtschaftswissenschaftliches Zentrum Kombinatorik Dr. Thomas Zehrt Inhalt: 1. Endliche Mengen 2. Einfache Urnenexperimente 2 Teil 1 Endliche Mengen Eine endliche Menge M ist eine Menge,

Mehr

Teil 2.2: Lernen formaler Sprachen: Hypothesenräume

Teil 2.2: Lernen formaler Sprachen: Hypothesenräume Theorie des Algorithmischen Lernens Sommersemester 2006 Teil 2.2: Lernen formaler Sprachen: Hypothesenräume Version 1.1 Gliederung der LV Teil 1: Motivation 1. Was ist Lernen 2. Das Szenario der Induktiven

Mehr

Kombinatorik. Jörn Loviscach. Versionsstand: 31. Oktober 2009, 17:22. 1 Begriff Kombinatorik; Zahl aller Teilmengen

Kombinatorik. Jörn Loviscach. Versionsstand: 31. Oktober 2009, 17:22. 1 Begriff Kombinatorik; Zahl aller Teilmengen Kombinatorik Jörn Loviscach Versionsstand: 31. Oktober 2009, 17:22 1 Begriff Kombinatorik; Zahl aller Teilmengen Die Kombinatorik ein recht kleines Gebiet der Mathematik befasst sich mit dem Abzählen von

Mehr

Wintersemester 2004/ Januar Aus der Vorlesung sind Datenstrukturen zur Repräsentation von Wäldern disjunkter Mengen bekannt.

Wintersemester 2004/ Januar Aus der Vorlesung sind Datenstrukturen zur Repräsentation von Wäldern disjunkter Mengen bekannt. Lehrstuhl für Praktische Informatik III Norman May B6, 29, Raum C0.05 68131 Mannheim Telefon: (0621) 181 2517 Email: norman@pi3.informatik.uni-mannheim.de Matthias Brantner B6, 29, Raum C0.05 68131 Mannheim

Mehr

Berechnung von Teilmengen

Berechnung von Teilmengen Berechnung von Teilmengen Satz Anzahl der Teilmengen 2 n = n k=0 k=0 ( ) n k Beweis Korollar aus Binomischem Lehrsatz (1 + 1) n = n ( n k=0 k) 1 k 1 n k. Oder kombinatorisch: Sei M Menge mit M = n. Die

Mehr

Dynamische Programmierung

Dynamische Programmierung Dynamische Programmierung Hannes Schwarz - WS-06/07 Hannes.Schwarz@uni-konstanz.de Getting Ready for the ACM Programming Contest Übersicht Übersicht Was ist dynamische Programmierung? Entwicklung eines

Mehr

Programmieren I. Methoden-Special Heusch --- Ratz 6.1, Institut für Angewandte Informatik

Programmieren I. Methoden-Special Heusch --- Ratz 6.1, Institut für Angewandte Informatik Programmieren I Methoden-Special Heusch --- Ratz 6.1, 6.2 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Parameterübergabe: Wertkopie -By- public class MethodParameters { public

Mehr

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2006/2007 Praktikum Grundlagen der Programmierung Lösungsvorschläge zu Blatt 3 F. Forster, M.

Mehr

Level 2 German, 2015

Level 2 German, 2015 91126 911260 2SUPERVISOR S Level 2 German, 2015 91126 Demonstrate understanding of a variety of written and / or visual German text(s) on familiar matters 2.00 p.m. Friday 4 December 2015 Credits: Five

Mehr

Tag 5. Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme)

Tag 5. Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Tag 5 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Methoden Deklaration

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 18 Einstieg in die Informatik mit Java Klassenvariablen, Klassenmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 18 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden

Mehr

Hallo Welt für Fortgeschrittene

Hallo Welt für Fortgeschrittene Hallo Welt für Fortgeschrittene Dynamische Programmierung Thomas Karmann 4. Juni 2010 1 / 36 Übersicht Einführung Definition Anwendung Funktionsweise Grundlagen Memoisation Top-Down Bottom-Up Grenzen Anwendungsbeispiele

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 14. Bäume. Bäume 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 14. Bäume. Bäume 1 Kapitel 14 Bäume Bäume 1 Ziele Den Begriff des Baums in der Informatik kennenlernen Bäume als verkettete Datenstruktur repräsentieren können Rekursive Funktionen auf Bäumen verstehen und schreiben können

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

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

Softwaretechnik WS 16/17. Übungsblatt 01

Softwaretechnik WS 16/17. Übungsblatt 01 Softwaretechnik WS 16/17 Übungsblatt 01 Was ist eine Klasse? Definition der Object Management Group: A class describes a set of objects that share the same specifications of features, constraints, and

Mehr

Algorithmen und Datenstrukturen Musterlösung 5

Algorithmen und Datenstrukturen Musterlösung 5 Algorithmen und Datenstrukturen Musterlösung 5 Martin Avanzini Thomas Bauereiß Herbert Jordan René Thiemann

Mehr

Klassenvariablen, Klassenmethoden

Klassenvariablen, Klassenmethoden Einstieg in die Informatik mit Java, Vorlesung vom 11.12.07 Übersicht 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden 3 Aufruf einer Klassenmethode 4 Hauptprogrammparameter 5 Rekursion Klassenmethoden

Mehr

Algorithmen & Datenstrukturen Midterm Test 2

Algorithmen & Datenstrukturen Midterm Test 2 Algorithmen & Datenstrukturen Midterm Test 2 Martin Avanzini Thomas Bauereiß Herbert Jordan René Thiemann

Mehr

Martin Luther. Click here if your download doesn"t start automatically

Martin Luther. Click here if your download doesnt start automatically Die schönsten Kirchenlieder von Luther (Vollständige Ausgabe): Gesammelte Gedichte: Ach Gott, vom Himmel sieh darein + Nun bitten wir den Heiligen Geist... der Unweisen Mund... (German Edition) Martin

Mehr

Programmieren I. Methoden-Spezial Heusch --- Ratz 6.1, Institut für Angewandte Informatik

Programmieren I. Methoden-Spezial Heusch --- Ratz 6.1, Institut für Angewandte Informatik Programmieren I Methoden-Spezial Heusch --- Ratz 6.1, 6.2 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Parameterübergabe bei primitivem Datentypen (Wertkopie) public class MethodParameters

Mehr

Einführung in die Programmierung

Einführung in die Programmierung 252-0027 Einführung in die Programmierung 2.5 if -Anweisungen 2.6 Nochmals Schleifen: while Loops 2.Y Output Thomas R. Gross Department Informatik ETH Zürich Uebersicht 2.2 Typen und Variable Deklaration

Mehr

Kombinatorische Abzählverfahren

Kombinatorische Abzählverfahren Mathematik Statistik Kombinatorische Abzählverfahren * Kombinatorische Abzählverfahren Vorwort TEIL A: Basiswissen 1. Was zum Teufel ist das? 1.2. Wofür benötigt man Kombinatorische Abzählverfahren? 1.3.

Mehr

Das HeronVerfahren für root(a) (Babilonisches Wurzelziehen)

Das HeronVerfahren für root(a) (Babilonisches Wurzelziehen) Das HeronVerfahren für root(a) (Babilonisches Wurzelziehen) Ein weiteres Annäherungsverfahren für das Wurzelziehen Ein Spezialfall des Newton Verfahrens von Bieker Sebastian 11038605 Gruppe F Grün Geschichte:

Mehr

Kombinatorik: Einführung. Vorlesung Mathematische Strukturen. Sommersemester Ziehen aus Urnen. Ziehen aus Urnen

Kombinatorik: Einführung. Vorlesung Mathematische Strukturen. Sommersemester Ziehen aus Urnen. Ziehen aus Urnen Kombinatorik: Einführung Vorlesung Mathematische Strukturen Sommersemester 04 Prof. Barbara König Übungsleitung: Henning Kerstan Es folgt eine Einführung in die Kombinatorik. Dabei geht es darum, die Elemente

Mehr

Informatik B von Adrian Neumann

Informatik B von Adrian Neumann Musterlösung zum 7. Aufgabenblatt vom Montag, den 25. Mai 2009 zur Vorlesung Informatik B von Adrian Neumann 1. Java I Schreiben Sie ein Java Programm, das alle positiven ganzen Zahlen 0 < a < b < 1000

Mehr

6.1.2 Bem.: Für Vierecke ist der Begriff Innenwinkel im allgemeinen nicht sinnvoll. Skizze.

6.1.2 Bem.: Für Vierecke ist der Begriff Innenwinkel im allgemeinen nicht sinnvoll. Skizze. 6 Flächeninhalt 6.1 Vierecke 6.1.1 Def.: Seien A, B, C, D vier verschiedene Punkte in E, keine drei auf einer Geraden, so dass AB, BC, CD, DA einander höchstens in Endpunkten treffen. Dann bilden diese

Mehr

Mixed tenses revision: German

Mixed tenses revision: German Mixed tenses revision: Gman Teaching notes This is a whole class game in wh one team (the red team) has to try to win hexagons in a row across the PowPoint grid from left to right, while the oth team (the

Mehr

Brandbook. How to use our logo, our icon and the QR-Codes Wie verwendet Sie unser Logo, Icon und die QR-Codes. Version 1.0.1

Brandbook. How to use our logo, our icon and the QR-Codes Wie verwendet Sie unser Logo, Icon und die QR-Codes. Version 1.0.1 Brandbook How to use our logo, our icon and the QR-Codes Wie verwendet Sie unser Logo, Icon und die QR-Codes Version 1.0.1 Content / Inhalt Logo 4 Icon 5 QR code 8 png vs. svg 10 Smokesignal 11 2 / 12

Mehr

Frage 1. Wie viele Möglichkeiten gibt es, ein Element aus einer Menge M auszuwählen? n = M

Frage 1. Wie viele Möglichkeiten gibt es, ein Element aus einer Menge M auszuwählen? n = M Kapitel 1 Kombinatorik (Prof. K. Gerald van den Boogaart) 1.1 Grundprinzipien 1.1.1 Auswahl aus Möglichkeiten Frage 1. Wie viele Möglichkeiten gibt es, ein Element aus einer Menge M auszuwählen? n = M

Mehr

Rekursive Funktionen

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

Mehr

Datenstruktur Baum und Rekursion Software Entwicklung 1

Datenstruktur Baum und Rekursion Software Entwicklung 1 Datenstruktur Baum und Rekursion Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller 1 Datenstruktur Baum Bäume gehören zu den wichtigsten in der Informatik auftretenden Datenstrukturen.

Mehr

Die UN-Kinderrechtskonvention. Darstellung der Bedeutung (German Edition)

Die UN-Kinderrechtskonvention. Darstellung der Bedeutung (German Edition) Die UN-Kinderrechtskonvention. Darstellung der Bedeutung (German Edition) Daniela Friedrich Click here if your download doesn"t start automatically Die UN-Kinderrechtskonvention. Darstellung der Bedeutung

Mehr

Algorithms & Datastructures Midterm Test 1

Algorithms & Datastructures Midterm Test 1 Algorithms & Datastructures Midterm Test 1 Wolfgang Pausch Heiko Studt René Thiemann Tomas Vitvar

Mehr

Killy Literaturlexikon: Autoren Und Werke Des Deutschsprachigen Kulturraumes 2., Vollstandig Uberarbeitete Auflage (German Edition)

Killy Literaturlexikon: Autoren Und Werke Des Deutschsprachigen Kulturraumes 2., Vollstandig Uberarbeitete Auflage (German Edition) Killy Literaturlexikon: Autoren Und Werke Des Deutschsprachigen Kulturraumes 2., Vollstandig Uberarbeitete Auflage (German Edition) Walther Killy Click here if your download doesn"t start automatically

Mehr

Funktion der Mindestreserve im Bezug auf die Schlüsselzinssätze der EZB (German Edition)

Funktion der Mindestreserve im Bezug auf die Schlüsselzinssätze der EZB (German Edition) Funktion der Mindestreserve im Bezug auf die Schlüsselzinssätze der EZB (German Edition) Philipp Heckele Click here if your download doesn"t start automatically Download and Read Free Online Funktion

Mehr

Level 1 German, 2014

Level 1 German, 2014 90886 908860 1SUPERVISOR S Level 1 German, 2014 90886 Demonstrate understanding of a variety of German texts on areas of most immediate relevance 9.30 am Wednesday 26 November 2014 Credits: Five Achievement

Mehr

Beispiel 2 ([1], Ex ) Sei jxj = m, jy j = n. Wieviele Funktionen f : X! Y

Beispiel 2 ([1], Ex ) Sei jxj = m, jy j = n. Wieviele Funktionen f : X! Y Kombinatorik Nach [1], Chap.4 (Counting Methods and the Pigeonhole Principle). Multiplikationsprinzip Beispiel 1 Wieviele Wörter der Länge 4 kann man aus den Buchstaben A,B,C,D,E bilden,... 1. wenn Wiederholungen

Mehr

Übergang von funktionaler zu OOP. Algorithmen und Datenstrukturen II 1

Übergang von funktionaler zu OOP. Algorithmen und Datenstrukturen II 1 Übergang von funktionaler zu OOP Algorithmen und Datenstrukturen II 1 Imperative vs. funktionale Programmierung Plakativ lassen sich folgende Aussagen treffen: funktional: imperativ: Berechnung von Werten

Mehr

Distributed Computing Group

Distributed Computing Group JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird

Mehr

JAVA - Suchen - Sortieren

JAVA - Suchen - Sortieren Übungen Informatik I JAVA - Suchen - Sortieren http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 Inhalt Suchen/Sortieren binary search mergesort bubblesort Übungen Informatik

Mehr

Rekursion. L. Piepmeyer: Funktionale Programmierung - Rekursion

Rekursion. L. Piepmeyer: Funktionale Programmierung - Rekursion Rekursion 1 Iterative und rekursive Methoden Summe von 1 bis n berechnen: iterativ rekursiv public int sum(int n){ int result = 0; for(int i=1; i

Mehr

Übung Informatik I - Programmierung - Blatt 8

Übung Informatik I - Programmierung - Blatt 8 RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK II RWTH Aachen D-52056 Aachen GERMANY http://programmierung.informatik.rwth-aachen.de LuFG Informatik II Prof.

Mehr

12. Rekursion Grundlagen der Programmierung 1 (Java)

12. Rekursion Grundlagen der Programmierung 1 (Java) 12. Rekursion Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 24. Januar 2006 Einordnung im Kontext der Vorlesung

Mehr