Algorithmen und Datenstrukturen 1 Kapitel 3
|
|
- Babette Sauer
- vor 6 Jahren
- Abrufe
Transkript
1 Algorithmen und Datenstrukturen 1 Kapitel 3 Technische Fakultät robert@techfak.uni-bielefeld.de Vorlesung, U. Bielefeld, Winter 2005/2006
2 Kapitel 3: Strategien der algorithmischen Problemlösung Vorbemerkungen Hier werden an einfachen Beispielen verschiedene Strategien erklärt, die zur Lösung eines wohldefinierten algorithmischen Problems benutzt werden können. In diesem Kapitel nehmen wir an, dass wir die Probleme der Modellierung (Kapitel 2) bereits erfolgreich hinter uns gelassen haben.
3 Unsere Beispiele sind einfach, um die Strategien in Reinform darzustellen. Für umfangreichere Aufgaben werden in der Regel Kombinationen und Mischformen der Strategien eingesetzt. Zusammen mit den Strategien betrachten wir auch den Rechenaufwand, den sie erfordern. Dies allerdings nur intuitiv eine mathematische Behandlung wird später nachgeholt.
4 Zum Aufwand A[... ] für Arithmetik: Die Annahme ist eine Vereinfachung. Sie gilt A[ + ] = A[ (x + y) ] x, y N auf dem Computer für das Rechnen in einem beschränkten Zahlenbereich (32 Bit, 64 Bit) Sie gilt nicht für uns für den Computer beim Rechnen mit beliebig großen Zahlen (In Haskell: Typ Int versus Typ Integer.)
5 Rechnen mit großen Zahlen hat wichtige Anwendungen, z.b. in der Verschlüsselungstechnik. Rechenaufwand hängt auch vom Zahlsystem ab. Dezimal: = 17 (3 A[ + Ziffer ] Binär: = (9 A[ + Ziffer ]) Unär: = (17 A[ 1 ])
6 Leibniz hat als Erster die Binärzahlen beschrieben und bemerkt, dass durch diese Zahldarstellung das kleine und 1 1 einfacher werden, die Zahlen und damit die Rechnungen länger werden. Er hielt die Binärzahlen für elegant, aber unpraktisch.
7 3.1 Ausrechnen von Formeln Dies ist der einfachste Fall. Die Modellierung hat schon ganze Arbeit geleistet und fertige Formeln für die Lösung aufgestellt: Beispiel: Tübinger Parkplatz Variante 1: Variante 2: r(p, m) = 4p + 2m p(n, r) = r 2n 2 m(n, r) = n r 2n 2
8 Probleme, deren Lösungen sich allgemein als fertige Formeln beschreiben lassen, sind zugleich die einfachsten Aufgaben. Das ganze Problem wird auf einen Schlag gelöst. Meistens jedoch müssen Aufgaben erst in Teilaufgaben zergliedert, diese gelöst und deren Lösungen anschließend kombiniert werden.
9 3.2 Strukturelle Rekursion Allgemeines zur Rekursion: Rekursion heißt: Eine Methode M benutzt sich selbst zur Lösung von Problem X Terminierungsfall: Problem direkt lösbar Rekursiver Fall: M(X ) benutzt Lösung von M[X ] Endlose Rekursion tritt auf, wenn beim Übergang M[X ] M[X ] M[X ]... nie der Terminierungsfall erreicht wird. Es gibt verschiedene Wege, Endlosrekursion auszuschließen.
10 Strukturelle Rekursion bedeutet Problemzerlegung durch direkte Zerlegung der Datenstruktur. Berechnen der Spieldauer eines Musikstückes (in Takten): playtime(p(d)) = d playtime(n(t, d)) = d playtime(m 1 m 2 ) = playtime(m 1 ) + playtime(m 2 ) playtime(m 1 + m 2 ) = max(playtime(m 1 ), playtime(m 2 ))
11 Schema der Strukturellen Rekursion: Eine Gleichung pro Konstruktor des Datentyps Nicht-rekursive Konstruktoren Terminierungsfall Rekursive Konstruktoren rekursive Problemzerlegung Weiteres Beispiel: Funktion transponiere (s. Haskell-Vorlesung)
12 Strukturelle Rekursion über Listen Kleinstes Element einer nichtleeren Liste: minimum(x : xs) = min x xs where min a[] = a min a(x : xs) = if a <= x then min a xs else min x xs Hier folgt die Hilfsfunktion min dem Schema der Strukturellen Rekursion. Die Funktion minimum selbst kann nicht durch Strukturelle Rekursion definiert werden, da sie für den Terminierungsfall gerade nicht definiert ist.
13 Aufwand: Entspricht der Größe der Datenstruktur pro Konstruktor wird eine Gleichung angewandt. Das ist der Aufwand des Schemas. Hinzu kommt der Aufwand für die sonstige Operationen auf den rechten Seiten der Gleichungen.
14 Terminierung bei Struktureller Rekursion Terminierung ist gesichert, wenn die Datenstruktur eine endliche Formel ist. Endlos-Rekursion auf unendlichen Datenstrukturen. Beispiel: dauer (ad. libidum (P(1/2))).
15 3.3 Wohlfundierte Rekursion (Teile-und-Herrsche) Allgemeiner als die Strukturelle ist die Wohlfundierte Rekursion. Die Zerlegung des Problems folgt nicht dem rekursiven Aufbau der Datenstruktur. Die Aufgabe wird auf beliebige Aufgaben (der gleichen Art) zurückgeführt, die in einem wohldefinierten Sinn einfacher sein müssen.
16 Eine (partielle) Ordnungsrelation auf einer Menge M erfüllt die Gesetze x y und y z impliziert x z (Transitivität) x y und y x impliziert x = y (Antisymmetrie) x x (Reflexivität) Die Relation < ist definiert als x < y gdw x y und x y und > als y > x gdw x < y
17 Eine absteigende Kette aus M ist eine Folge von Elementen x 1 > x 2 > x 3 >... Eine Ordnungsrelation auf M heißt wohlfundiert, wenn jede absteigende Kette aus M endlich ist (und damit ein kleinstes Element hat).
18 Beispiele aus der Zahlenwelt (N, <) ist wohlfundiert (N, <) ist wohlfundiert für alle N N (Z, <) ist nicht wohlfundiert (Gegenbeispiel: 2 > 1 > 0 > 1 > 2... ) (R + 0, <) ist nicht wohlfundiert (Gegenbeispiel: 1 > 1/2 > 1/4 >... ) (N N, <) mit (a, b) (c, d) gdw a < c oder a = c und b d ist wohlfundiert. Man nennt dies lexikographische Erweiterung von (N, <).
19 Schema der Wohlfundierten Rekursion zur Lösung von P, gegeben eine wohlfundierte Ordnung auf Problemen der Art P: Falls P einfach, löse P direkt. Andernfalls: Bilde Probleme P 1,..., P k mit P > P i Löse P 1,..., P k (rekursiv) Kombiniere diese Lösungen zur Lösung von P Das Verfahren terminiert, weil alle so von P ausgehenden Ketten endlich sind und die Teilprobleme irgendwann einfach werden.
20 Die vier Bestandteile der Methode: Was ist einfach?, Löse direkt, Teile P auf!, und Kombiniere Teil-Lösungen! muss man sich für jede Anwendung neu überlegen. Dabei ist die Relation < ( einfacher ) frei wählbar, nur wohlfundiert muss sie sein.
21 Beispiel: Quicksort Sortiere Liste von n Elementen aufsteigend. Wohlfundierte Ordnung auf Listen: l 1 < l 2 gdw length(l 1 ) < length(l 2 ) Da length(l) N, ist diese Ordnung wohlfundiert.
22 Beispiel: Quicksort Sortiere Liste von n Elementen aufsteigend. Wohlfundierte Ordnung auf Listen: l 1 < l 2 gdw length(l 1 ) < length(l 2 ) Da length(l) N, ist diese Ordnung wohlfundiert. Quicksort (l): Falls l = [] oder l = [a]: Lösung = l. Anderfalls: Wähle x aus l, so dass x nicht maximal ist. Bilde Listen l 1 = [a x l, a x] l 2 = [a x l, x < a] Berechne ˆl1 = Quicksort(l 1 ) ˆl 2 = Quicksort(l 2 ) Lösung = ˆl 1 ++ ˆl 2
23 Achtung: x darf nicht maximales Element in l sein, weil dann l 1 < l verletzt ist. Die Listen l 1 und l 2 sind keine Unterstrukturen der Liste l, daher liegt keine Strukturelle Rekursion vor.
24 Aufwand l l l 1 l 2 [a ] 1 l 2 l l l l [a ] 2 l 22 [a ] 3 l guter Fall kritischer Fall
25 guter Fall: Teile: Rekursionstiefe: Kombiniere: insgesamt auf jeder Ebene 2 n Schritte log 2 n Ebenen n/2 Schritte pro Ebene 3 n log 2 n Schritte kritischer Fall: Teile: auf Ebene i 2 (n i) Schritte Kombiniere: auf jeder Ebene 1 Schritt Rekursionstiefe: n Ebenen insgesamt: n 1 2(n i) + 1 n = n + 2 i i=0 i=1 (n + 1) n = n n 2 + 2n Schritte
26 Beispiel: Schnelle Multiplikation langer Zahlen Vorüberlegung: Wir betrachten zwei n-stellige Zahlen x = x 1,..., x n, y = y 1,..., y n. A[ + ] ist der Aufwand einer Ziffern-Addition. A[ x + y ] 2 n A[ + ] (Addition der Überträge nicht vergessen!) A[ x y ] n 2 A[ ] + 2n 2 A[ + ] Multiplikation ist also erheblich aufwendiger.
27 Schon weil jede Ziffer im Inneren des Diagramms Resultat einer Multiplikation ist, braucht man n 2 elementare Multiplikationen. Besser geht es nicht oder doch?
28 Wir zerlegen die Zahlen in der Mitte x = x 1 x 0 x = x 1 10 n/2 + x 0 y = y 1 y 0 y = y 1 10 n/2 + y 0 x y = (x 1 10 n/2 + x 0 ) (y 1 10 n/2 + y 0 ) = x 1 y 1 10 n + (x 1 y 0 + x 0 y 1 ) 10 n/2 + x 0 y 0 Jetzt haben wir 1 Mulitplikation mit Aufwand n 2 durch vier ( ) 2 Multiplikationen mit Aufwand je n 2 ersetzt. Nichts ist dabei eingespart.
29 x y 1 1 x y 1 x y x y 0 0 xy Idee: Wir können den Wert x 1 y 0 + x 0 y 1 mit nur einer Multiplikation der Länge n/2 berechnen.
30 (x 0 x 1 )(y 0 y 1 ) = x 0 y 0 (x 1 y 0 + x 0 y 1 ) + x 1 y 1 Da x 0 y 0 und x 1 y 1 ohnehin berechnet werden, und Substraktionen nur Aufwand 3 n/2 haben, erhalten wir billig (x 1 y 0 + x 0 y 1 ) = x 1 y 1 + x 0 y 0 + (x 1 x 0 )(y 0 y 1 )
31 x 1 y 1 x y 0 x y 1 (x x )(y y ) xy x y 0 0
32 Die Teilaufgaben x 1 y 1, x 0 y 0, (x 1 x 0 ) (y 0 y 1 ) der Länge n/2 werden nach der gleichen Methode (wohlfundiert rekursiv) berechnet. Wir schätzen ab A[n] 3 A[n/2] < n 2. Ist dies eine signifikante Verbesserung? Damit werden wir uns in Kapitel 5 näher beschäftigen.
33 Das Problem des Handlungsreisenden Das Problem des Handlungsreisenden Ein Vertreter der Intelligent Design Corporation will 12 deutsche Elite-Universitäten besuchen. Die Standorte und ihre Entfernungen (Straßenkilometer) sind in Tabelle Dist angegeben, in Bild 1 sieht man ihre ungefähre Lage. Aber Vorsicht Straßenkilometer sind keine Entfernungen in Luftlinie.
34 Das Problem des Handlungsreisenden Tabelle der Entfernungen AC B BI HB FB HH K L M MS N TÜ Aachen Berlin Bielefeld Bremen Freiburg Hamburg Köln Leipzig München Münster Nürnberg 207 Tübingen Tabelle Dist: Entfernungen in Straßenkilometern
35 Das Problem des Handlungsreisenden Eine Rundtour 257 MS 74 BI 150 K 70 AC 685 HB 119 HH 284 N L 278 B 179 FB TÜ M
36 Das Problem des Handlungsreisenden Die Aufgabe Sein Ziel ist: Eine Rundtour mit beliebigem Ausgangspunkt und minimaler Gesamtstrecke. Jede Stadt darf nur einmal besucht werden (weil der Vertreter sich nach seinem Auftritt an einer Universität meistens in dieser Stadt nicht mehr blicken lassen darf).
37 Das Problem des Handlungsreisenden Vorüberlegungen Vorüberlegung 1: Die Länge einer Rundtour bleibt gleich, wenn wir nur den Start/Zielort ändern. Es ist also nicht nötig, einen besten Startpunkt zu suchen. Wir können eine Tour ebensogut immer in Aachen oder immer in Bielefeld beginnen lassen.
38 Das Problem des Handlungsreisenden Vorüberlegung 2: Wieviele verschiedene Rundtouren gibt es allgemein für n Städte? Zahl der Permutationen p(n) = n (n 1)... 1 = n! (1) Zahl dertouren t(n) = p(n 1) (2) Für 12 Städte t(12) = (3)
39 Das Problem des Handlungsreisenden Strategie 1: Erschöpfende Suche Wir berechnen alle Permutationen der Orte (ohne den festen Startort Bielefeld) perm [ ] = [[ ]] (4) perm xs = {[x : ps ps perm (remove x xs)] x xs]} (5) n gesamt[x 1,..., x n ] = dist(x i 1, x i ) + dist(x n, x 1 ) (6) i=2 Aus allen Touren wählen wir die kürzeste aus.
40 Das Problem des Handlungsreisenden Strategie 2 : Opportunistische Suche (Greedy) Wir fahren von jedem Ort zum nächstgelegenen, der noch nicht besucht wurde. Sei X die Menge der Städte und z 1, z 2,... unsere Route. Wir definieren einfach z 1 = Bielefeld (7) z i = argmin x {Dist(z i 1, x) x X \ {z 1,..., z i 1 }} (8) Hier bedeutet argmin x dasjenige x, das den Ausdruck Dist(z i 1, x) minimiert. Diese Lösung ist heuristisch. Sie gibt mit wenig Aufwand eine Antwort, aber vermutlich findet sie nicht die kürzeste Rundtour.
41 Das Problem des Handlungsreisenden Ergebnisse der Strategien Für unser Beispiel erhalten wir: Die opportunistische Strategie ab Bielefeld liefert die in der Karte eingetragene Rundtour. Sie ist 2690 km lang und nicht optimal. Von Bielefeld erst nach Bremen, das wäre besser ausgegangen! In Aachen anfangend, hätte das verfahren vermutlich eine bessere Tour gefunden. Die erschöpfende Suche soll in den Übungen implementiert werden.
42 Das Problem des Handlungsreisenden Abschätzung des Rechenaufwands Wir betrachten die Anzahl der berechnenten Routen, und die Berechnung einer Entfernungssumme für n Städte: Strategie 1 braucht etwa (n 1)! n = n! Rechenschritte. Strategie 2 braucht etwa n 2 Rechenschritte.
43 Das Problem des Handlungsreisenden Erste Begegnung mit dem praktisch Unmöglichen Unser Problem ist unter dem Namen Traveling Salesman Problem (TSP) berühmt; es ist eines der meist untersuchten Probleme der Informatik. Man kennt keinen Algorithmus, die das Ergebnis mit einer (in n) polynomialen Anzahl von Rechenschritten bestimmt. Für Informatiker sind solche Probleme eine besondere Herausforderung.
Algorithmen und Datenstrukturen 1 Kapitel 3
Algorithmen und Datenstrukturen 1 Kapitel 3 Technische Fakultät robert@techfak.uni-bielefeld.de Vorlesung, U. Bielefeld, Winter 2005/2006 3.6 Dynamische Programmierung Die rekursive Problemzerlegung kann
MehrStrukturelle Rekursion und Induktion
Kapitel 2 Strukturelle Rekursion und Induktion Rekursion ist eine konstruktive Technik für die Beschreibung unendlicher Mengen (und damit insbesondere für die Beschreibung unendliche Funktionen). Induktion
MehrDiskrete Strukturen Kapitel 2: Grundlagen (Relationen)
WS 2016/17 Diskrete Strukturen Kapitel 2: Grundlagen (Relationen) 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
Mehr6. Induktives Beweisen - Themenübersicht
6. Induktives Beweisen - Themenübersicht Ordnungsrelationen Partielle Ordnungen Quasiordnungen Totale Ordnungen Striktordnungen Ordnungen und Teilstrukturen Noethersche Induktion Anwendung: Terminierungsbeweise
MehrTeile und Herrsche Teil 2
Teile und Herrsche Teil 2 binär Suchen und schnell Multiplizieren Markus Fleck Manuel Mauky Hochschule Zittau/Görlitz 19. April 2009 Suchen in langen Listen (0, 1, 2, 7, 8, 9, 9, 13, 13, 14, 14, 14, 16,
MehrDiskrete Strukturen Kapitel 2: Grundlagen (Beweise)
WS 2014/15 Diskrete Strukturen Kapitel 2: Grundlagen (Beweise) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_14
MehrEinstieg in die Informatik mit Java
1 / 20 Einstieg in die Informatik mit Java Rekursion Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 20 1 Überblick 2 Rekursion 3 Rekursive Sortieralgorithmen 4 Backtracking
MehrÜbersicht Datenstrukturen und Algorithmen. Literatur. Algorithmus: Wikipedia Definition. Vorlesung 1: Einführung. Prof. Dr.
Übersicht Datenstrukturen und Vorlesung 1: Prof. Dr. Erika Ábrahám Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/ datenstrukturen-und-algorithmen/ Diese Präsentation verwendet
MehrAbschnitt: Algorithmendesign und Laufzeitanalyse
Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher
MehrEinstieg 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
MehrKapitel III. Aufbau des Zahlensystems
Kapitel III. Aufbau des Zahlensystems 1 Addition und Multiplikation natürlicher Zahlen Wir wollen erklären, wie man natürliche Zahlen addiert und multipliziert und dabei nur den Begriff das Zählens verwenden.
MehrReelle Zahlen, Gleichungen und Ungleichungen
9 2. Vorlesung Reelle Zahlen, Gleichungen und Ungleichungen 4 Zahlenmengen und der Körper der reellen Zahlen 4.1 Zahlenmengen * Die Menge der natürlichen Zahlen N = {0,1,2,3,...}. * Die Menge der ganzen
MehrWS 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
MehrDatenstrukturen und Algorithmen
Joost-Pieter Katoen Datenstrukturen und Algorithmen 1/32 Datenstrukturen und Algorithmen Vorlesung 7: Sortieren (K2) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group
MehrProgrammieren in Haskell Programmiermethodik
Programmieren in Haskell Programmiermethodik Peter Steffen Universität Bielefeld Technische Fakultät 12.01.2011 1 Programmieren in Haskell Bisherige Themen Was soll wiederholt werden? Bedienung von hugs
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Dynamische Programmierung Einführung Ablaufkoordination von Montagebändern Längste gemeinsame Teilsequenz Optimale
MehrEinführung in Heuristische Suche
Einführung in Heuristische Suche Beispiele 2 Überblick Intelligente Suche Rundenbasierte Spiele 3 Grundlagen Es muss ein Rätsel / Puzzle / Problem gelöst werden Wie kann ein Computer diese Aufgabe lösen?
MehrTraveling Salesman Problem (TSP)
Traveling Salesman Problem (TSP) Das Traveling Salesman Problem (TSP) ist ein bekanntes Optimierungsproblem. Ein Handlungsreisender soll in einer Rundreise (auch Tour genannt) n vorgegebene Städte besuchen.
Mehr5.4 Das Rucksackproblem
Problemstellung: 5.4 Das Rucksackproblem Eingabe: Ganzzahlige Volumina a 1,..., a n > 0, Nutzenwerte c 1,..., c n > 0, ganzzahlige Volumenschranke b. Aufgabe: Packe die Objekte in einen Rucksack von Volumen
MehrEinführung in die Informatik 1
Einführung in die Informatik 1 Algorithmen und algorithmische Sprachkonzepte Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag,
MehrDynamische 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
MehrAm Dienstag, den 16. Dezember, ist Eulenfest. 1/48
Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009
MehrProseminar Online Algorithmen, Prof. Dr. Rolf Klein
Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Vortrag von Michael Daumen am 13.12.2000 Thema : Minimum Spanning Tree und 2-Approximation der TSP-Tour Inhalt des Vortrags : 1. genaue Vorstellung des
Mehr1 Potenzen und Polynome
1 Potenzen und Polynome Für eine reelle Zahl x R und eine natürliche Zahl n N definieren wir x n := x x x... x }{{} n-mal Einschub über die bisher aufgetretenen mathematischen Symbole: Definition mittels
MehrVorab : Von dem indischen Mathematiker D. R. Kaprekar stammt folgender Zusammenhang :
Seite 1 Algorithmen zur Erzeugung von Kaprekar- Konstanten Autor : Dipl.- Ing. Josef Meiler ; Datum : März 015 Vorab : Von dem indischen Mathematiker D. R. Kaprekar stammt folgender Zusammenhang : a) man
MehrNichtlineare Gleichungssysteme
Kapitel 5 Nichtlineare Gleichungssysteme 51 Einführung Wir betrachten in diesem Kapitel Verfahren zur Lösung von nichtlinearen Gleichungssystemen Nichtlineares Gleichungssystem: Gesucht ist eine Lösung
MehrMathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens
Mathematische Grundlagen der Kryptographie 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe Stefan Brandstädter Jennifer Karstens 18. Januar 2005 Inhaltsverzeichnis 1 Ganze Zahlen 1 1.1 Grundlagen............................
Mehr2 Sortieren. Beispiel: Es seien n = 8 und a = i : a i : ϕ(i) : a ϕ(i) :
2 Sortieren Das Sortieren einer Datenfolge ist eines der am leichtesten zu verstehenden und am häufigsten auftretenden algorithmischen Probleme. In seiner einfachsten Form besteht das Problem darin, eine
MehrAchtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass
Achtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass f O g und auch g O f. Wähle zum Beispiel und G. Zachmann Informatik
MehrKostenmaße. F3 03/04 p.188/395
Kostenmaße Bei der TM nur ein Kostenmaß: Ein Schritt (Konfigurationsübergang) kostet eine Zeiteinheit; eine Bandzelle kostet eine Platzeinheit. Bei der RAM zwei Kostenmaße: uniformes Kostenmaß: (wie oben);
MehrTechnische Universität München
Stand der Vorlesung Kapitel 2: Auffrischung einiger mathematischer Grundlagen Mengen, Potenzmenge, Kreuzprodukt (Paare, Tripel, n-tupel) Relation: Teilmenge MxN Eigenschaften: reflexiv, symmetrisch, transitiv,
MehrZahlen und elementares Rechnen
und elementares Rechnen Christian Serpé Universität Münster 7. September 2011 Christian Serpé (Universität Münster) und elementares Rechnen 7. September 2011 1 / 51 Gliederung 1 2 Elementares Rechnen 3
MehrWerkstatt Multiplikation Posten: Rundung im Quadrat. Informationsblatt für die Lehrkraft. Rundung im Quadrat
Informationsblatt für die Lehrkraft Rundung im Quadrat Informationsblatt für die Lehrkraft Thema: Schultyp: Vorkenntnisse: Bearbeitungsdauer: Numerische Grenzen des Computers Mittelschule, technische Berufsschule,
Mehr2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik
Stefan Lucks Diskrete Strukturen (WS 2009/10) 57 2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32,
MehrAlgorithmen & Programmierung. Rekursive Funktionen (1)
Algorithmen & Programmierung Rekursive Funktionen (1) Berechnung der Fakultät Fakultät Die Fakultät N! einer nichtnegativen ganzen Zahl N kann folgendermaßen definiert werden: d.h. zur Berechnung werden
MehrLogik für Informatiker. 1. Grundlegende Beweisstrategien. Viorica Sofronie-Stokkermans Universität Koblenz-Landau
Logik für Informatiker 1. Grundlegende Beweisstrategien Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Mathematisches Beweisen Mathematische ussagen - haben oft
MehrProgrammierung 1 - Repetitorium
WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage: http://info1.marcwagner.info Donnerstag, den 10.04.03 Kapitel 7 Korrektheit 7.1 Abstrakte Prozeduren Abstrakte Prozedur
MehrGrundlagen der Mathematik
Grundlagen der Mathematik Übungsaufgaben zu Kapitel 1 Einführung 1.1.1 Für reelle Zahlen a und b gilt (a+b) (a-b) = a 2 -b 2. Was ist die Voraussetzung? Wie lautet die Behauptung? Beweisen Sie die Behauptung.
MehrZahlen in Haskell Kapitel 3
Einführung in die Funktionale Programmiersprache Haskell Zahlen in Haskell Kapitel 3 FH Wedel IT-Seminar: WS 2003/04 Dozent: Prof. Dr. Schmidt Autor: Timo Wlecke (wi3309) Vortrag am: 04.11.2003 - Kapitel
MehrEffiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra
Effiziente Algorithmen und Datenstrukturen I Kapitel 10: Lineare Algebra Christian Scheideler WS 2008 19.02.2009 Kapitel 10 1 Überblick Notation Arithmetik auf großen Zahlen (Addition und Multiplikation)
MehrWeitere Eigenschaften
Weitere Eigenschaften Erklärung der Subtraktion: x y := x + ( y) (5) Die Gleichung a + x = b hat die eindeutig bestimmte Lösung x = b a. Beweis: (a) Zunächst ist x = b a eine Lösung, denn a + x = a + (b
Mehr4: Algebraische Strukturen / Gruppen
Stefan Lucks Diskrete Strukturen (WS 2009/10) 120 4: Algebraische Strukturen / Gruppen Definition 46 Sei G eine nichtleere Menge. Eine Funktion : G G G bezeichnen wir als Verknüpfung auf G. Das Paar (G,
MehrDatenstrukturen und Algorithmen
Datenstrukturen und Algorithmen VO 708.031 27.10.2011 stefan.klampfl@tugraz.at 1 Wiederholung Wir vergleichen Algorithmen anhand des ordnungsmäßigen Wachstums von T(n), S(n), Asymptotische Schranken: O-Notation:
MehrKapitel 9. Komplexität von Algorithmen und Sortieralgorithmen
1 Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Ziele 2 Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
Mehr9.2 Invertierbare Matrizen
34 9.2 Invertierbare Matrizen Die Division ist als Umkehroperation der Multiplikation definiert. Das heisst, für reelle Zahlen a 0 und b gilt b = a genau dann, wenn a b =. Übertragen wir dies von den reellen
Mehr24 KAPITEL 2. REELLE UND KOMPLEXE ZAHLEN
24 KAPITEL 2. REELLE UND KOMPLEXE ZAHLEN x 2 = 0+x 2 = ( a+a)+x 2 = a+(a+x 2 ) = a+(a+x 1 ) = ( a+a)+x 1 = x 1. Daraus folgt dann, wegen x 1 = x 2 die Eindeutigkeit. Im zweiten Fall kann man für a 0 schreiben
MehrNatürliche Zahlen, Summen und Summenformeln
Vorlesung Natürliche Zahlen, Summen und Summenformeln.1 Die natürlichen Zahlen Die natürlichen Zahlen sind diejenigen Zahlen mit denen wir zählen 0,1,,3,... Es gibt unendlich viele und wir schreiben kurz
MehrRechnergrundlagen SS Vorlesung
Rechnergrundlagen SS 2007 3. Vorlesung Inhalt Zahlensysteme Binäre Darstellung von Integer-Zahlen Vorzeichen-Betrag Binary Offset 1er-Komplement 2er-Komplement Addition und Subtraktion binär dargestellter
MehrDiskrete Strukturen Kapitel 1: Einleitung
WS 2015/16 Diskrete Strukturen Kapitel 1: Einleitung 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_15
MehrGanzzahlige Division mit Rest
Modulare Arithmetik Slide 1 Ganzzahlige Division mit Rest Für a,b Æ mit a b gibt es stets eine Zerlegung von a der Form a = q b+r mit 0 r b 1. Hierbei gilt q = a b (salopp formuliert: b passt q-mal in
Mehr16. All Pairs Shortest Path (ASPS)
. All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2014/15 3. Vorlesung Laufzeitanalyse Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Recap: Diskutieren Sie mit Ihrer NachbarIn! 1. 2. 3. Was sind
MehrÜbersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7)
Datenstrukturen und Algorithmen Vorlesung 9: (K7) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.rwth-aachen.de/i2/dsal0/ Algorithmus 8. Mai 200 Joost-Pieter
Mehr(Man sagt dafür auch, dass die Teilmenge U bezüglich der Gruppenoperationen abgeschlossen sein muss.)
3. Untergruppen 19 3. Untergruppen Nachdem wir nun einige grundlegende Gruppen kennengelernt haben, wollen wir in diesem Kapitel eine einfache Möglichkeit untersuchen, mit der man aus bereits bekannten
MehrLineare Gleichungssysteme
Christian Serpé Universität Münster 14. September 2011 Christian Serpé (Universität Münster) 14. September 2011 1 / 56 Gliederung 1 Motivation Beispiele Allgemeines Vorgehen 2 Der Vektorraum R n 3 Lineare
MehrAbstrakte Algorithmen und Sprachkonzepte
Abstrakte Algorithmen und Sprachkonzepte Thomas Röfer Begriff des Algorithmus Algorithmenaufbau Programmiersprachliche Grundkonzepte Interative und rekursive Algorithmen Rückblick Aufbau und Funktionsweise
Mehr1 Axiomatische Charakterisierung der reellen. 3 Die natürlichen, die ganzen und die rationalen. 4 Das Vollständigkeitsaxiom und irrationale
Kapitel I Reelle Zahlen 1 Axiomatische Charakterisierung der reellen Zahlen R 2 Angeordnete Körper 3 Die natürlichen, die ganzen und die rationalen Zahlen 4 Das Vollständigkeitsaxiom und irrationale Zahlen
MehrEinschub: Anweisungen und Bedingungen für PAP und Struktogramme (1)
Einschub: Anweisungen und Bedingungen für PAP und Struktogramme (1) Anweisungen: Eingabeanweisungen, z.b. Eingabe: x Ausgabeanweisungen, z.b. Ausgabe: Das Maximum ist, max Die Symbole x und max werden
Mehrabgeschlossen unter,,,, R,
Was bisher geschah Turing-Maschinen können Sprachen L X akzeptieren entscheiden Funktionen berechnen f : X X (partiell) Menge aller Turing-akzeptierbaren Sprachen genau die Menge aller Chomsky-Typ-0-Sprachen
MehrKapitel 2 Mathematische Grundlagen
Kapitel 2 Mathematische Grundlagen Ziel: Einführung/Auffrischung einiger mathematischer Grundlagen 2.1 Mengen, Relationen, Ordnungen Definition: Eine Menge ist eine Zusammenfassung von wohlbestimmten und
MehrAlgorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck
Lemma 15 KLP 1 ist genau dann lösbar, wenn das dazugehörige LP KLP 2 eine Lösung mit dem Wert Z = 0 besitzt. Ist Z = 0 für x 0, x 0, dann ist x eine zulässige Lösung von KLP 1. Beweis von Lemma 15: Nach
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2013/14 1. Vorlesung Kapitel 1: Sortieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Das Problem Eingabe Gegeben: eine Folge A = a 1, a 2,..., a
Mehr11. Rekursion, Komplexität von Algorithmen
11. Rekursion, Komplexität von Algorithmen Teil 2 Java-Beispiele: Power1.java Hanoi.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 23. Nov. 2015 Anwendung der Rekursion Rekursiv
MehrGrundlagen der Programmierung 2. Sortierverfahren
Grundlagen der Programmierung 2 Sortierverfahren Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 30. Mai 2006 Sortieren Ziel: Bringe Folge von Objekten in eine Reihenfolge
MehrGrundzüge der Informatik Zahlendarstellungen (7)
Grundzüge der Informatik Zahlendarstellungen (7) Sylvia Swoboda e0225646@student.tuwien.ac.at Überblick Konvertierung von ganzen Zahlen Konvertierung von Festkommazahlen Darstellung negativer Zahlen 1
MehrTheoretische Informatik SS 03 Übung 4
Fakten aus Übung 3 Theoretische Informatik SS 03 Übung 4 In Übung 3 wurden einigen Fakten bewiesen, die für diese Übung benötigt werden. Folgende Konstrukte können mit LOOP-Programmen simuliert werden:
MehrMusterlösung 11.Übung Mathematische Logik
Lehr- und Forschungsgebiet Mathematische Grundlagen der Informatik RWTH Aachen Prof. Dr. E. Grädel, F. Reinhardt SS 2015 Aufgabe 2 Musterlösung 11.Übung Mathematische Logik Geben Sie für die folgenden
MehrWas bisher geschah. deklarative Programmierung. funktionale Programmierung (Haskell):
Was bisher geschah deklarative Programmierung funktional: Programm: Menge von Termgleichungen, Term Auswertung: Pattern matsching, Termumformungen logisch: Programm: Menge von Regeln (Horn-Formeln), Formel
MehrKapitel 9. Komplexität von Algorithmen und Sortieralgorithmen
Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Arrays 1 Ziele Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
MehrKlausur Grundlagen der Informatik Hochschule Ravensburg-Weingarten
Klausur Grundlagen der Informatik Hochschule Ravensburg-Weingarten Semester: AI2, WI2 Bearbeitungszeit: 90 Min. Hilfsmittel: kein prog. C SS 2010, 07.07.2010 90% Punkte entspr. Note 1,0 50% Punkte entspr.
MehrGliederung. Links-Rechts-Zerlegung Elimination faktorisiert A = L R. Determinante Inverse. Kleinste Quadrate. Lösung durch. Links-Rechts- Zerlegung
Matrixzerlegungen. 7. Vorlesung 170004 Numerische Methoden I Clemens Brand 29. April 2010 Gliederung Elimination faktorisiert A = L R Die A = L R Faktorisieren: Zerlege A in ein Produkt (einfacherer) Angenommen,
MehrKapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung
Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Pfade. Traveling Salesman Problem. Flüsse in Netzwerken
MehrAlgorithmen und Datenstrukturen 1 Kapitel 4.1
Algorithmen und Datenstrukturen 1 Kapitel 4.1 Technische Fakultät robert@techfak.uni-bielefeld.de Vorlesung, U. Bielefeld, Winter 2005/2006 Kapitel 4: Maschinenmodelle [Dieses Kapitel hält sich eng an
MehrThemen für Bakkalaureus-Arbeiten
Themen für Bakkalaureus-Arbeiten Alle angegebenen Themen eignen sich auch für Master- bzw. Diplom-Arbeiten, wenn die Themenstellungen entsprechend weit gefaßt werden. 1. Die Ontologie der binären Relationen
MehrAbgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 2 Prof. Dr. Helmut Seidl, S. Pott,
MehrJAVA - 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
MehrTechnische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen
Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 1 für die Übung
MehrDipl.-Ing. Halit Ünver Datenbanken/Künstliche Intelligenz FAW/n. Zahlensysteme
Dipl.-Ing. Halit Ünver 7.. Datenbanken/Künstliche Intelligenz FAW/n Zahlensysteme Seite Zahlensysteme Dipl.-Ing. Halit Ünver 7.. Inhalt I. Informatik und Zahlen für Wirtschaftswissenschaftler? II. III.
MehrÜberblick. 1 Vorbemerkungen. 2 Algorithmen. 3 Eigenschaften von Algorithmen. 4 Historischer Überblick. Einführung
Teil I Einführung Überblick 1 Vorbemerkungen 2 Algorithmen 3 4 Historischer Überblick Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 1 1 Vorbemerkungen Was ist Informatik? Informatik
MehrStudienmaterial Einführung in das Rechnen mit Resten
Studienmaterial Einführung in das Rechnen mit Resten H.-G. Gräbe, Institut für Informatik, http://www.informatik.uni-leipzig.de/~graebe 12. April 2000 Die folgenden Ausführungen sind aus Arbeitsmaterialien
MehrRekursive und primitiv rekursive Funktionen. Ein maschinenunabhängiges formales Berechnungsmodell auf den natürlichen Zahlen
Rekursive und primitiv rekursive Funktionen Ein maschinenunabhängiges formales Berechnungsmodell auf den natürlichen Zahlen IDEE: Definiere eine Klasse von (partiell) berechenbaren Funktionen über N induktiv
Mehr5 Zwei spieltheoretische Aspekte
5 Zwei spieltheoretische Aspekte In diesem Kapitel wollen wir uns mit dem algorithmischen Problem beschäftigen, sogenannte Und-Oder-Bäume (kurz UOB) auszuwerten. Sie sind ein Spezialfall von Spielbäumen,
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrKonzepte und Methoden der Programmierung Lösungen P. Fierz / FS 2012
Kapitel 1 Rekursion Alle Programme finden Sie im mitgelieferten zip-file. Aufgabe 1.1 [Fakultät] Für diese Übung brauchen Sie die Klassen Factorial Skelett und MyTimer. n! ist rekursiv folgendermassen
MehrWS 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
MehrZahlensysteme. Formale Methoden der Informatik WiSe 2008/2009 Folie 1 (von 54)
Zahlensysteme Formale Methoden der Informatik WiSe 28/29 Folie (von 54) Teil I: Zahlensysteme. Einführung und Zahlensysteme 2. Zahlensysteme / Algorithmik 3. Zahlendarstellung im Rechner Franz-Josef Radermacher,
MehrEinführung in die Programmierung
Technische Universität Carolo Wilhelmina zu Brauschweig Institut für rechnergestützte Modellierung im Bauingenierwesen Prof. Dr.-Ing. habil. Manfred Krafczyk Pockelsstraße 3, 38106 Braunschweig http://www.irmb.tu-bs.de
MehrMitschrift Mathematik, Vorlesung bei Dan Fulea, 2. Semester
Mitschrift Mathematik, Vorlesung bei Dan Fulea, 2. Semester Christian Nawroth, Erstellt mit L A TEX 23. Mai 2002 Inhaltsverzeichnis 1 Vollständige Induktion 2 1.1 Das Prinzip der Vollstandigen Induktion................
MehrHaskell, Typen, und Typberechnung. Grundlagen der Programmierung 3 A. Einige andere Programmiersprachen. Typisierung in Haskell
Haskell, Typen, und Typberechnung Grundlagen der Programmierung 3 A Typen, Typberechnung und Typcheck Prof. Dr. Manfred Schmidt-Schauß Ziele: Haskells Typisierung Typisierungs-Regeln Typ-Berechnung Milners
MehrEntscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?
Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum
Mehr9. Heuristische Suche
9. Heuristische Suche Prof. Dr. Rudolf Kruse University of Magdeburg Faculty of Computer Science Magdeburg, Germany rudolf.kruse@cs.uni-magdeburg.de S Heuristische Suche Idee: Wir nutzen eine (heuristische)
Mehr5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)
5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!
Mehr17 R E L AT I O N E N
17 R E L AT I O N E N 17.1 äquivalenzrelationen 17.1.1 Definition In Abschnitt 11.2.1 hatten wir schon einmal erwähnt, dass eine Relation R M M auf einer Menge M, die reflexiv, symmetrisch und transitiv
Mehr1 Zahlenmengen und einige mathematische Symbole
1 Zahlenmengen und einige mathematische Symbole Inhalt 1.1 Vorbemerkung................................................... 3 1.2 Zahlenmengen................................................... 4 1.3 Summenzeichen..................................................
MehrGraphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.
Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 14. November 2007 1 / 22 2 / 22 Gliederung eulersche und semi-eulersche Graphen Charakterisierung eulerscher Graphen Berechnung eines
MehrMethoden zum Lösen von Rekursionsgleichungen
Rekursionsgleichungen... Slide 1 Methoden zum Lösen von Rekursionsgleichungen Bisher wurde Expandieren der Rekursion + Raten der Gesetzmäßigkeit benutzt, um einfache Rekursionsgleichungen zu lösen. Zum
MehrStudent: Alexander Carls Matrikelnummer: Aufgabe: Beschreibung des euklidischen Algorithmus Datum:
Berufsakademie Stuttgart / Außenstelle Horb Studienbereich Technik Studiengang Informationstechnik Kurs IT2006, 2.Semester Dozent: Olaf Herden Student: Alexander Carls Matrikelnummer: 166270 Aufgabe: Beschreibung
MehrS=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J
Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung
MehrZahlen und elementares Rechnen (Teil 1)
und elementares Rechnen (Teil 1) Dr. Christian Serpé Universität Münster 6. September 2010 Dr. Christian Serpé (Universität Münster) und elementares Rechnen (Teil 1) 6. September 2010 1 / 40 Gliederung
MehrEin Algorithmus heißt rekursiv, wenn er sich selbst aufruft. Meist werden nur einzelne Module eines Gesamtalgorithmus rekursiv verwendet.
3.6 Rekursion Ein Algorithmus heißt rekursiv, wenn er sich selbst aufruft. Meist werden nur einzelne Module eines Gesamtalgorithmus rekursiv verwendet. Klassisches Beispiel: Berechnung von n! (Fakultät
Mehr