Algorithmen & Programmierung. Rekursive Funktionen (3)
|
|
- Kerstin Graf
- vor 6 Jahren
- Abrufe
Transkript
1 Algorithmen & Programmierung Rekursive Funktionen (3)
2 Türme von Hanoi
3 Türme von Benares / Hanoi 1883 erfand der französische Mathematiker Lucas folgende Geschichte: Im Großen Tempel von Benares, unter dem Dom, der die Mitte der Welt markiert, ruht eine Messingplatte, in der drei Diamantnadeln befestigt sind, jede eine Elle hoch und so stark wie der Körper einer Biene. Bei der Erschaffung der Welt hat Brahma vierundsechzig Scheiben aus purem Gold auf eine der Nadeln gesteckt, wobei die größte Scheibe auf der Messingplatte ruht und die übrigen, immer kleiner werdend, eine auf der anderen. Tag und Nacht sind die Priester unablässig damit beschäftigt, den festgeschriebenen und unveränderlichen Gesetzen von Brahma folgend, die Scheiben von einer Diamantnadel auf eine andere zu setzen, wobei der oberste Priester nur jeweils eine Scheibe auf einmal umsetzen darf und zwar so, dass sich nie eine kleinere Scheibe unter einer größeren befindet. Sobald dereinst alle vierundsechzig Scheiben von der Nadel, auf die Brahma sie bei der Erschaffung der Welt gesetzt hat, auf eine der anderen Nadeln gebracht sein werden, zerfallen der Turm samt dem Tempel und allen Brahmanen zu Staub und die Welt wird mit einem Donnerschlag untergehen. 501
4 Türme von Hanoi Problembeschreibung A B C Ein Turm aus N beweglichen Teilen soll von Position A nach Position C bewegt werden Bedingungen / Voraussetzungen es stehen drei Ablagemöglichkeiten A, B und C für die Teile zur Verfügung die Größe eines Teils unterscheidet sich von der Größe aller anderen Teile ein Teil darf nur auf einem größeren Teil liegen, aber nicht umgekehrt zu einem Zeitpunkt darf nur ein Teil bewegt werden Nebenfrage Wieviel Schritte (Zeit) benötigt man für die Umschichtung? 502
5 Türme von Hanoi (N=3) A B C 503
6 Türme von Hanoi (N=3) A B C 504
7 Türme von Hanoi (N=3) A B C 505
8 Türme von Hanoi (N=3) A B C 506
9 Türme von Hanoi (N=3) A B C 507
10 Türme von Hanoi (N=3) A B C 508
11 Türme von Hanoi (N=3) A B C 509
12 Türme von Hanoi (N=3) A B C 510
13 Herleitung des Rekursionsprinzips N=3 Wir haben gezeigt, dass der gesamte Turm von A (via B) nach C geschoben werden kann. Wir haben dazu den Teilturm der Höhe 2, der sich auf der größten Scheibe befand nach B verschoben, anschließend die größte Scheibe nach C verschoben und schließlich den Teilturm von B nach C bewegt. N=4 Da ein Turm der Höhe 3 umgeschichtet werden kann, verschieben wir 1. den Teilturm der Höhe 3 von A nach B (via C) 2. die unterste Scheibe von A nach C 3. den Teilturm der Höhe 3 von B nach C (via A) 511
14 Türme von Hanoi (N=4) A B C 1. Verschiebe Teilturm der Höhe 3 von A nach B (via C) 2. Verschiebe die letzte Scheibe direkt von A nach C 3. Verschiebe Teilturm der Höhe 3 von B nach C (via A) 512
15 Türme von Hanoi (N=4) A B C 1. Verschiebe Teilturm der Höhe 3 von A nach B (via C) 2. Verschiebe die letzte Scheibe direkt von A nach C 3. Verschiebe Teilturm der Höhe 3 von B nach C (via A) 513
16 Türme von Hanoi (N=4) A B C 1. Verschiebe Teilturm der Höhe 3 von A nach B (via C) 2. Verschiebe die letzte Scheibe direkt von A nach C 3. Verschiebe Teilturm der Höhe 3 von B nach C (via A) 514
17 Türme von Hanoi (N=4) A B C 1. Verschiebe Teilturm der Höhe 3 von A nach B (via C) 2. Verschiebe die letzte Scheibe direkt von A nach C 3. Verschiebe Teilturm der Höhe 3 von B nach C (via A) 515
18 Türme von Hanoi (N=4) A B C 1. Verschiebe Teilturm der Höhe 3 von A nach B (via C) 2. Verschiebe die letzte Scheibe direkt von A nach C 3. Verschiebe Teilturm der Höhe 3 von B nach C (via A) 516
19 Türme von Hanoi (N=4) A B C 1. Verschiebe Teilturm der Höhe 3 von A nach B (via C) 2. Verschiebe die letzte Scheibe direkt von A nach C 3. Verschiebe Teilturm der Höhe 3 von B nach C (via A) 517
20 Türme von Hanoi (N=4) A B C 1. Verschiebe Teilturm der Höhe 3 von A nach B (via C) 2. Verschiebe die letzte Scheibe direkt von A nach C 3. Verschiebe Teilturm der Höhe 3 von B nach C (via A) 518
21 Türme von Hanoi (N=4) A B C 1. Verschiebe Teilturm der Höhe 3 von A nach B (via C) 2. Verschiebe die letzte Scheibe direkt von A nach C 3. Verschiebe Teilturm der Höhe 3 von B nach C (via A) 519
22 Türme von Hanoi (N=4) A B C 1. Verschiebe Teilturm der Höhe 3 von A nach B (via C) 2. Verschiebe die letzte Scheibe direkt von A nach C 3. Verschiebe Teilturm der Höhe 3 von B nach C (via A) 520
23 Türme von Hanoi (N=4) A B C 1. Verschiebe Teilturm der Höhe 3 von A nach B (via C) 2. Verschiebe die letzte Scheibe direkt von A nach C 3. Verschiebe Teilturm der Höhe 3 von B nach C (via A) 521
24 Türme von Hanoi (N=4) A B C 1. Verschiebe Teilturm der Höhe 3 von A nach B (via C) 2. Verschiebe die letzte Scheibe direkt von A nach C 3. Verschiebe Teilturm der Höhe 3 von B nach C (via A) 522
25 Türme von Hanoi (N=4) A B C 1. Verschiebe Teilturm der Höhe 3 von A nach B (via C) 2. Verschiebe die letzte Scheibe direkt von A nach C 3. Verschiebe Teilturm der Höhe 3 von B nach C (via A) 523
26 Türme von Hanoi (N=4) A B C 1. Verschiebe Teilturm der Höhe 3 von A nach B (via C) 2. Verschiebe die letzte Scheibe direkt von A nach C 3. Verschiebe Teilturm der Höhe 3 von B nach C (via A) 524
27 Türme von Hanoi (N=4) A B C 1. Verschiebe Teilturm der Höhe 3 von A nach B (via C) 2. Verschiebe die letzte Scheibe direkt von A nach C 3. Verschiebe Teilturm der Höhe 3 von B nach C (via A) 525
28 Türme von Hanoi (N=4) A B C 1. Verschiebe Teilturm der Höhe 3 von A nach B (via C) 2. Verschiebe die letzte Scheibe direkt von A nach C 3. Verschiebe Teilturm der Höhe 3 von B nach C (via A) 526
29 Türme von Hanoi (N=4) A B C 1. Verschiebe Teilturm der Höhe 3 von A nach B (via C) 2. Verschiebe die letzte Scheibe direkt von A nach C 3. Verschiebe Teilturm der Höhe 3 von B nach C (via A) 527
30 Türme von Hanoi (N=4) A B C 1. Verschiebe Teilturm der Höhe 3 von A nach B (via C) 2. Verschiebe die letzte Scheibe direkt von A nach C 3. Verschiebe Teilturm der Höhe 3 von B nach C (via A) 528
31 Türme von Hanoi (N=4) A B C 1. Verschiebe Teilturm der Höhe 3 von A nach B (via C) 2. Verschiebe die letzte Scheibe direkt von A nach C 3. Verschiebe Teilturm der Höhe 3 von B nach C (via A) 529
32 Türme von Hanoi (N=4) A B C 1. Verschiebe Teilturm der Höhe 3 von A nach B (via C) 2. Verschiebe die letzte Scheibe direkt von A nach C 3. Verschiebe Teilturm der Höhe 3 von B nach C (via A) 530
33 Herleitung des Rekursionsprinzips N=3 A B C 1. Verschieben des Teilturms der Höhe 2 von A nach B (via C) 2. Bewegen der untersten Scheibe von A nach C 3. Verschieben des Teilturms der Höhe 2 von B nach C (via A) N=4 1. Verschieben des Teilturms der Höhe 3 von A nach B (via C) 2. Bewegen der untersten Scheibe von A nach C 3. Verschieben des Teilturms der Höhe 3 von B nach C (via A) Für beliebige N 1. Verschieben des Teilturms der Höhe N 1 von A nach B (via C) 2. Bewegen der untersten Scheibe von A nach C 3. Verschieben des Teilturms der Höhe N 1 von B nach C (via A) Verschiebungen eines Turmes der Höhe 3 531
34 Ausgabe für Hanoi(3, 'A','B','C') Bewege Scheibe von A nach C Bewege Scheibe von A nach B Bewege Scheibe von C nach B }Hanoi(2,'A','C','B') Bewege Scheibe von A nach C Bewege Scheibe von B nach A Bewege Scheibe von B nach C Bewege Scheibe von A nach C } Hanoi(2,'B','A','C') 532
35 Anzahl der Umschichtungen Berechnung mit Induktion Wir haben für N=3 insgesamt sieben Scheiben verschoben (=2 N 1) Sei N=4: 1. Teilturm hat Höhe N 1, also 2 N 1 1 Bewegungen (7 Schritte) 2. Restscheibe wird direkt vom Ausgangs- zum Zielpunkt verschoben (1 Schritt) 3. Teilturm hat Höhe N 1, d.h. wieder 2 N 1 1 Bewegungen (7 Schritte) sind insgesamt 15 Schritte (2 (2 N 1 1) + 1) = 2 N 1 533
36 Backtracking
37 Backtracking Backtracking (Rückverfolgung) Backtracking ist eine Problemlösungsmethode, die auf folgendem Prinzip basiert: 1. Schaue, ob Du am Ziel bist. Wenn ja, dann endet der Algorithmus an dieser Stelle. 2. Wähle an der aktuellen Position einen noch nicht untersuchten Weg zum Ziel und gehe zu Falls es keine möglichen Wege gibt, dann gehe zurück zu der Position, die noch unerforschte Wege bietet und gehe zu 1. Führt ein Teilweg nicht zum Ziel, dann wird dieser Weg verworfen und an der Verzweigung des vorherigen Teilwegs weitergesucht. Backtracking und Rekursion Backtracking ist als Verfahren nicht notwendigerweise rekursiv, wird aber meist rekursiv implementiert. 535
38 Backtracking Beispiel Ein typisches Problem, das mit Backtracking gelöst werden kann, ist die Zielsuche in einem Labyrinth. Lösung mittels Backtracking 1. Schaue ob Du am Ziel bis. Wenn ja Algorithmus endet 2. Versuche zuerst geradeaus (oben), dann nach rechts, danach rückwärts (unten) und schließlich links mit Schritt 1 fortzufahren. Wegmarkierung Um sich nicht im Kreis zu drehen, ist es nötig, bereits besuchte Wege zu markieren. Von Wegpositionen, die garantiert nicht zum Ziel führen (weil alle von dieser Position startenden Teilsuchen erfolglos blieben) kann die Markierung entfernt werden. Dann bleibt am Ende nur der Weg übrig, der zum Ziel führt. 536
39 Backtracking Strategie: Oben Rechts Unten Links ############ # # # # # # # # #### # # ### # # # # # ###### # # # Z # # ## ## # # ## ## ## # # ## ## ## # # ## # ############ Realisierung Das Labyrinth sei ein zweidimensionales char- Feld. Markierungen Leerzeichen kennzeichnen begehbare Wege Das #-Zeichen markiert Hindernisse. Buchstabe Z kennzeichnet das Ziel Ein Punkt (.) markiert besuchte Wege Startposition Eine beliebige begehbare Position in der Matrix. 537
40 Backtracking Strategie: Oben Rechts Unten Links ############ #. # # # # # # # #### # # ### # # # # # ###### # # # Z # # ## ## # # ## ## ## # # ## ## ## # # ## # ############ Startposition sei (1,1): Der Algorithmus sucht im rekursiven Abstieg zunächst nach oben. Dies bleibt aufgrund der Begrenzung erfolglos. Es wird im rekursiven Abstieg nach rechts weitergesucht, was möglich ist. Danach wird wiederholt versucht nach oben zu gehen (was nicht möglich ist) und im Anschluss nach rechts (was möglich ist) bis auch der Weg nach rechts versperrt ist. 538
41 Backtracking Strategie: Oben Rechts Unten Links ############ #...# # # # # # # #### # # ### # # # # # ###### # # # Z # # ## ## # # ## ## ## # # ## ## ## # # ## # ############ Jetzt ist nur ein rekursiver Abstieg nach unten möglich. Es wird solange rekursiv nach oben (nicht möglich), rechts (nicht möglich) und unten abgestiegen, bis auch der Weg nach unten versperrt ist. 539
42 Backtracking Strategie: Oben Rechts Unten Links ############ #...# # # # #. # # #### #. # ### # #. # # # ###### # # # Z # # ## ## # # ## ## ## # # ## ## ## # # ## # ############ Es gibt für den rekursiven Abstieg keine weiteren Verzweigungsmöglichkeiten mehr, da alle Wege entweder blockiert (rechts, unten, links) oder bereits markiert (oben) sind. Deshalb werden beim rekursiven Aufstieg / Backtracking die letzten Entscheidungen solange zurückgenommen, bis es wieder eine unerforschte Alternative für den Abstieg der Rekursion gibt. 540
43 Backtracking Strategie: Oben Rechts Unten Links ############ #... # # # # # # # #### # # ### # # # # # ###### # # # Z # # ## ## # # ## ## ## # # ## ## ## # # ## # ############ Die unerforschte Alternative bietet sich an der durch die rote Markierung dargestellten Position, denn ab dieser wurde noch nicht nach unten verzweigt. Da jeweils nach oben und rechts nicht verzweigt werden kann (da bereits besucht bzw. markiert oder blockiert), wird im rekursiven Abstieg der Weg nach unten verfolgt, bis wieder ein Hindernis den Weg versperrt. 541
44 Backtracking Strategie: Oben Rechts Unten Links ############ #... # # # #. # # # ####. # # ### #. # # # # ###### # # # Z # # ## ## # # ## ## ## # # ## ## ## # # ## # ############ Da ab der rot markierten Position die Wege nach oben, rechts und unten versperrt bzw. bereits markiert sind, geht es im rekursiven Abstieg nach links weiter. 542
45 Backtracking Strategie: Oben Rechts Unten Links ############ #... # # # #. # # # ####. # # ### #....# # # # ###### # # # Z # # ## ## # # ## ## ## # # ## ## ## # # ## # ############ Analog der bisherigen Verfahrensweise geht es im rekursiven Abstieg erst nach unten weiter (da oben und rechts gesperrt bzw. markiert sind) und dann nach rechts. 543
46 Backtracking Strategie: Oben Rechts Unten Links ############ #... # # # #. # # # ####. # # ### #...# # # #. ###### # #... # Z # # ## ## # # ## ## ## # # ## ## ## # # ## # ############ An der rot markierten Position gibt es für den rekursiven Abstieg keine weitere Verzweigungsmöglichkeit mehr, da alle Wege entweder versperrt oder markiert sind Sackgasse. Deshalb muss diese Teillösung wieder verworfen werden. Im Rekursionsaufstieg / Backtracking wird bis zu der Position zurückgegangen, die für den Rekursionsabstieg noch eine unerforschte Alternative bietet. 544
47 Backtracking Strategie: Oben Rechts Unten Links ############ #... # # # #. # # # ####. # # ### #...# # # #. ###### # #... # Z # # ## ## # # ## ## ## # # ## ## ## # # ## # ############ Ab der rot markierten Position kann im rekursiven Abstieg wieder verzweigt werden: zunächst mehrere Male nach unten dann wiederholt nach rechts schließlich mehrmals nach oben und noch einmal nach rechts 545
48 Backtracking Strategie: Oben Rechts Unten Links ############ #... # # # #. # # # ####. # # ### #...# # # #. ###### # #... #.Z # # ##. ##. # # ## ##. ##. # # ## ##. ##. # # ##...# ############ Das Ziel wurde erreicht. 546
49 Backtracking Strategie: Unten Rechts Oben Links ############ #. # #. # # # # #...#### # # ###. # # # #..# ###### #. #... #. Z #..#. ##. ##. # #. ##. ##. ##. # #. ##. ##. ##. # #...##...# ############ Achtung Verändert man die Suchstrategie, z.b. durch Ändern der Reihenfolge, welche Richtung zuerst untersucht wird, kann es zu anderen Ergebnissen kommen (falls mehrere Wege aus dem Labyrinth existieren). Beispiel Vertauschen wir in der Suchreihenfolge oben mit unten, dann findet der Algorithmus einen anderen Weg zum Ziel. 547
50 Das Acht-Damen-Problem
51 Acht-Damen-Problem Problembeschreibung Beim Schach darf sich die Spielfigur Dame horizontal, vertikal und diagonal auf dem 8x8-Felder großen Spielfeld bewegen, d.h. dass eine Dame jede (gegnerische) Spielfigur bedroht, die sich horizontal, vertikal oder diagonal von ihr aus erreichen lässt. Eine interessante Aufgabe besteht darin, acht Damen so auf dem Spielfeld zu platzieren, dass sie sich nicht gegenseitig bedrohen. Eine mögliche Lösung ist nebenstehend abgebildet. 549
52 Verallgemeinerung Wie können N Damen auf einem NxN großen Schachbrett angeordnet werden, so dass sie sich nicht bedrohen? Lösungsidee Wir nutzen die Tatsache aus, dass sich in einer Reihe nur eine Dame befinden kann und ordnen jede Dame auf einer der N möglichen Felder einer Reihe so an, dass sie von keiner anderen Dame bedroht wird: 1. wir setzen die erste Dame an eine der N Positionen in Reihe 1 2. wir setzen die zweite Dame an eine der N Positionen in Reihe 2... N. wir setzen die n-te Dame an eine der N Positionen in Reihe N Falls sich in einem der N Schritte eine Bedohungssituation ergibt, wählen wir eine andere mögliche Position der aktuellen Reihe aus Falls sich keine Positionierungsmöglichkeit einer Dame in der aktuellen Reihe ergibt, wird mittels Backtracking in die Reihe zurückgesprungen, in der es noch Wahlmöglichkeiten gibt. 550
53 Beispiel: Vier-Damen-Problem Backtracking nötig 551
54 Beispiel: Vier-Damen-Problem Backtracking nötig Backtracking nötig 552
55 Beispiel: Vier-Damen-Problem Backtracking nötig Backtracking nötig 553
56 Beispiel: Vier-Damen-Problem Gültige Anordnung gefunden! 554
57 N-Damen-Problem Variante Eine Variante des N-Damen-Problems besteht darin, die Anzahl möglicher Anordnungen von N Damen auf einem NxN-Spielfeld herauszufinden: N Anzahl Lösungen
58 Zusammenfassung
59 Anwendung rekursiver Algorithmen Probleme die von Natur aus rekursiv definiert sind, z.b. die Erzeugung und Erkennung formaler Sprachen Probleme deren Unterprobleme beim Top-Down-Entwurf die selbe Komplexität wie das Ausgangsproblem aufweisen Probleme die auf einer umgekehrten Verarbeitungsreihenfolge basieren Probleme, bei denen die Größe von Ergebnis bzw. Zwischenergebnissen im Vorhinein nicht bekannt ist Probleme, die auf rekursiven Datenstrukturen basieren Vorlesung Datenstrukturen 557
60 Rekursion vs. Iteration Realisierung Rekursion (Funktionsmodell) Rekursiver Aufruf einer Funktion Iteration (Zustandsmodell) Durchführen der Anweisungsfolge eines Iterationsschrittes Steuerung Die Parameter einer Funktion werden in der Funktion selbst modifiziert und auf Erreichen einer Abbruchbedingung getestet Die Steuerung der Anzahl an Iterationsschritten erfolgt mit Hilfe von Zählvariablen Speicherung von Daten Die Speicherung eines verarbeiteten Elements erfolgt implizit durch automatische Sicherung der Funktionsparameter auf dem Stack Ein zu verarbeitendes Element bzw. eine Elementefolge muss explizit gespeichert werden (z.b. in einem Feld) Zugriff auf Daten Der Zugriff auf Elemente einer Folge ist begrenzt auf die aktuelle Komponente der gerade aktiven Funktionsinstanz Der Zugriff auf Elemente einer Folge kann wahlfrei erfolgen 558
61 Rekursion - Bewertung Vorteile Insbesondere bei rekursiv definierten Problemen sind rekursive Implementierungen wesentlich kürzer, einfacher, verständlicher und mathematisch eleganter als iterative Lösungen. Rekursive Funktionen können variabel große Datenmengen verarbeiten und speichern. Nachteile Fazit Aufgrund der temporären Sicherung aller lokalen Variablen und der Einträge der Parameterliste für jede aufgerufene Funktionsinstanz besteht ein hoher Speicherbedarf. Unter Umständen kann bei sehr vielen rekursiven Funktionsaufrufen sogar der Stack überlaufen. Wegen des aufgrund der temporären Sicherung entstehenden Overheads sind rekursive Lösungen meist wesentlich weniger effizient als vergleichbare iterative Lösungen. Rekursion ist (nur) eine von mehreren möglichen Problemlösungsstrategien. Wenn einfache iterative Lösungen für ein Problem existieren, so sind diese i.d.r. zu bevorzugen. 559
62 Ende der Vorlesung
Nadel 1 Nadel 2 Nadel 3
Die Türme von Hanoi Nadel 1 Nadel 2 Nadel 3 Der französische Mathematiker Edouard Lucas hat 1883 eine kleine Geschichte erfunden, die unter dem Namen Die Türme von Hanoi weltberühmt wurde : Im Großen Tempel
Mehr1) Das Treppenproblem
1) Das Treppenproblem Fachseminar Informatik Die Eingangstreppe des Max-von-Laue-Gymnasium mit 7 Stufen kann man auf verschiedene Arten hinaufgehen, z.b: Wie viele verschiedene Möglichkeiten gibt es, die
MehrGrundlagen 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
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
Mehr9.1 Einführung. Stack (Forts.) Stack. rekursiv: (aus lat.) selbstbezüglich Algorithmen und Programmierung
Algorithmen und Programmierung Wintersemester 06/0 9 Einführung Wiederholung 9 Einführung rekursiv: (aus lat) selbstbezüglich Algorithmen und Programmierung 9 Kapitel Von Türmen und Damen Rekursion und
MehrProgrammierung mit C Algorithmen
Programmierung mit C Algorithmen Informationen /7/ Robert Sedgewick Algorithmen in C. 742 Seiten, ISBN 3-827-37182-1. /8/ Kyle Loudon Algorithmen mit C, ISBN 3-4897-211653-0. Online-Buch "C von A bis Z",
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
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Graphen (1) Darstellung Traversierung Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 441 Generalisierung von Bäumen Verallgemeinerung (von Listen zu Graphen)
MehrInhalt. 7 Rekursionen Eine unendliche Geschichte Fakultät Türme von Hanoi Dr.
Inhalt 7 Rekursionen... 7-2 7.1 Eine unendliche Geschichte... 7-2 7.2 Fakultät... 7-3 7.3 Türme von Hanoi... 7-5 Propädeutikum 7-1/6 7 Rekursionen 7.1 Eine unendliche Geschichte >> Es war einmal ein Mann,
MehrRekursive Funktionen (1)
Rekursive Funktionen (1) Rekursive Algorithmen Wenn Gesamtlösung durch Lösen gleichartiger Teilprobleme erzielbar: Rekursion möglich Beispiel: Fakultät einer ganzen Zahl n: n i n! = i=1 für n > 0 1 für
MehrRekursive Funktionen (1)
Rekursive Funktionen (1) Rekursive Algorithmen Wenn Gesamtlösung durch Lösen gleichartiger Teilprobleme erzielbar: Rekursion möglich Beispiel: Fakultät einer ganzen Zahl n: nn ii nn! = ii=1 für nn > 0
MehrSpeicher und Adressraum
Linearer Speicher (Adressraum) Technische Universität München Speicher und Adressraum Freie Speicherhalde (Heap) Freier Speicherstapel (Stack) Globale Variablen Bibliotheksfunktionen Laufzeitsystem Programmcode
MehrEinführung in die Programmierung Wintersemester 2017/18
Einführung in die Programmierung Wintersemester 2017/18 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Rekursion Inhalt Rekursion: Technik Rekursion
MehrProgrammieren 1 C Überblick
Programmieren 1 C Überblick 1. Einleitung 2. Graphische Darstellung von Algorithmen 3. Syntax und Semantik 4. Einstieg in C: Einfache Sprachkonstrukte und allgemeiner Programmaufbau 5. Skalare Standarddatentypen
MehrGrundlagen der Programmierung
Grundlagen der Programmierung Algorithmen und Datenstrukturen Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind ausgewählte Teile in Anlehnung an
MehrVorkurs 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
MehrAlgorithmenbegriff: Berechenbarkeit. Algorithmenanalyse. (Berechnung der Komplexität)
Über-/Rückblick Algorithmenbegriff: Berechenbarkeit Turing-Maschine RAM µ-rekursive Funktionen Zeit Platz Komplexität Algorithmentechniken Algorithmenanalyse (Berechnung der Komplexität) Rekursion Iteration
MehrSOA verspielt - rekursive BPEL Prozesse
SOA verspielt - rekursive BPEL Prozesse Guido Neander MT AG Ratingen Schlüsselworte SOA, BPEL, rekursive Programmierung, Development, Deployment Einleitung Bei komplexen Problemstellungen (z. B. Aufgaben
MehrVorkurs Informatik WiSe 16/17
Java Rekursion Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 11.10.2016 Technische Universität Braunschweig, IPS Überblick Einleitung Beispiele 11.10.2016 Dr. Werner Struckmann / Stephan Mielke,
MehrRekursive 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?
MehrKapitel 7: Rekursion. Inhalt. Rekursion: Technik Rekursion vs. Iteration
Wintersemester 2007/08 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Inhalt Rekursion: Technik Prof. Dr. Günter Rudolph Fakultät
MehrEinführung in die Programmierung Wintersemester 2010/11
Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Rekursion Inhalt Rekursion: Technik Rekursion
MehrTeil 14: Rekursive Programmierung. Prof. Dr. Herbert Fischer Fachhochschule Deggendorf Prof. Dr. Manfred Beham Fachhochschule Amberg-Weiden
Teil 14: Rekursive Programmierung Prof. Dr. Herbert Fischer Fachhochschule Deggendorf Prof. Dr. Manfred Beham Fachhochschule Amberg-Weiden Inhaltsverzeichnis 14 Rekursive Programmierung... 3 14.1 Die Fakultätsfunktion...
MehrFHZ. K13 Rekursion. Lernziele. Hochschule Technik+Architektur Luzern Abteilung Informatik, Fach Programmieren. Inhalt
Inhalt 1. Einführung 1. Beispiel: Fakultät 2. Beispiel: Zahlenfolge 3. Beispiel: Formale Sprache 4. Unterschied Iteration/Rekursion 2. Rekursive Methoden 1. Beispiel: Fakultät 2. Beispiel: "Türme
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
MehrBeim rekursiven Aufruf einer Funktion wird jeweils ein Duplikat der gesamten Funktion im Speicher abgelegt.
Rekursion Unter Rekusion verstehen wir eine Funktion, die sich selbst aufruft. Da sie das nicht immerzu tun kann (das Programm würde ewig laufen) benötigt jeder rekursive Aufruf eine Abbruchbedingung!
Mehr4 Rekursionen. 4.1 Erstes Beispiel
4 Rekursionen Viele Algorithmen besitzen sowohl eine iterative als auch eine rekursive Lösung. Sie unterscheiden sich darin, dass die iterative Version meist einen etwas längeren Kode besitzt, während
MehrAlgorithmen & Programmierung. Rekursive Funktionen (2)
Algorithmen & Programmierung Rekursive Funktionen (2) Arten von Rekursion Direkte Rekursion Den Aufruf einer Funktion direkt aus ihrem Funktionskörper heraus bezeichnet man als direkte Rekursion (so haben
MehrBacktracking mit Heuristiken
Backtracking mit Heuristiken Thomas Dübendorfer thomas@duebendorfer.ch 14. September 2000 Inhalt und Ablauf 1. Einführendes Beispiel (4 min) 2. Konzepte zu Backtracking (8 min) 3. Eingesperrt im Labyrinth
MehrKasparov versus Deep Blue. Till Tantau. Institut für Theoretische Informatik Universität zu Lübeck
Kasparov versus Deep Blue Institut für Theoretische Informatik Universität zu Lübeck 18. Vorlesung zu Informatik A für MLS 14. Dezember 2006 Die Lernziele der heutigen Vorlesung und der Übungen. 1 Das
MehrC++ - Kontrollstrukturen Teil 2
C++ - Kontrollstrukturen Teil 2 Reiner Nitsch 8417 r.nitsch@fbi.h-da.de Schleife und Verzweigung kombiniert SV initialisieren while(b1) if(b2) w f V1 V2 SV Richtung Ziel verändern Wichtiger Baustein vieler
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
MehrALPII Objektorientierte Programmierung
LPII Objektorientierte Programmierung für das 5. Übungsblatt 0 Prof. Dr. Margarita Esponda Sieb des Eratosthenes. Jahrhundert v. hr. Das Sieb des Eratosthenes ist ein sehr bekannter lgorithmus, der für
MehrInhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.
1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Beispiele für Algorithmen Im folgenden Abschnitt sollen ausgewählte
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Graphen (2) Spannbäume Kürzeste Wege Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 455 Wiederholung Traversierung eines Graphen via Tiefendurchlaufs
MehrRekursive Algorithmen
Rekursive Algorithmen In der Mathematik sind viele Funktionen rekursiv definiert. Der Begriff der Rekursion beinhaltet, dass zur Definition einer Funktion diese selbst wieder mit benutzt wird, allerdings
MehrBackus-Notation und Syntaxanalyse
Einführung zur Aufgabengruppe 3 Rekursionen Backus-Notation und Syntaxanalyse Programmierpraktikum 1/5 Rekursionen Beispiel: Eine unendliche Geschichte >> Es war einmal ein Mann, der hatte sieben Söhne.
MehrLösungsvorschlag Serie 2 Rekursion
(/) Lösungsvorschlag Serie Rekursion. Algorithmen-Paradigmen Es gibt verschiedene Algorithmen-Paradigmen, also grundsätzliche Arten, wie man einen Algorithmus formulieren kann. Im funktionalen Paradigma
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
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,
MehrProjekt: Der Turm von Hanoi
Projekt: Der Turm von Hanoi als Java Applet... Monika Wojtowiec Michael Gebhard STephan Kambor Dauer ca. 20 min Version 1.01 Gliederung ~> 1. Aufgabenstellung ~> 2. Das Spiel Geschichte Regeln Prinzip
MehrMethoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon
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
MehrEinstieg in die Informatik mit Java
1 / 26 Einstieg in die Informatik mit Java Methoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Methoden 2 Methodendefinition 3 Parameterübergabe, Methodenaufruf
MehrÜBUNGS-BLOCK 7 LÖSUNGEN
ÜBUNGS-BLOCK 7 LÖSUNGEN Aufgabe 1: Gegeben ist folgender Code: Auto[] array = new Auto[3]; // Alle Autos im Array tunen: for (int i = 1; i
MehrDAP2 Probeklausur. Matrikelnummer Vorname Nachname. Datum: 24. Juli C. Sohler A. Krivo²ija, A. Rey, H. Sandvoÿ
SoSe 2017 C. Sohler A. Krivo²ija, A. Rey, H. Sandvoÿ DAP2 Probeklausur Datum: 2. Juli 2017 Matrikelnummer Vorname Nachname Diese Klausur besteht aus acht Aufgaben mit insgesamt 50 Punkten. Zum Bestehen
MehrUninformierte Suche in Java Informierte Suchverfahren
Uninformierte Suche in Java Informierte Suchverfahren Stephan Schwiebert WS 2008/2009 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln 8-Damen-Problem Gegeben: Schachbrett
MehrInhalt. 3. Spezielle Algorithmen
Inhalt 0. Rechner und Programmierung für Kommunikationstechniker und Mechatroniker 1. Algorithmen - Wesen, Eigenschaften, Entwurf 2. Darstellung von Algorithmen mit Struktogrammen und Programmablaufplänen
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 05 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute Einführung Grundlagen von Algorithmen Grundlagen
MehrAlgorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration
Algorithmen & Programmierung Steuerstrukturen im Detail Selektion und Iteration Selektion Selektion Vollständige einfache Selektion Wir kennen schon eine Möglichkeit, Selektionen in C zu formulieren: if
MehrDer Turm von Hanoi [als Java Applet]
Monika Wojtowiec Michael Gebhard STephan Kambor Projektdokumentation: Der Turm von Hanoi [als Java Applet] Index Seite 1. Die Aufgabenstellung 2 2. Das Spiel 2 3. Die Lösung 3 4. Die Umsetzung 6 5. Die
Mehr3. rekursive Definition einer Folge
3. rekursive Definition einer Folge In vielen Fällen ist eine explizite Formel für das n-te Glied nicht bekannt, es ist hingegen möglich, aus den gegebenen Gliedern das nächste Glied zu berechnen, d.h.
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 07 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Programm heute Einführung Grundlagen von Algorithmen
Mehr1 Einführung. 2 Grundlagen von Algorithmen. 3 Grundlagen von Datenstrukturen. 4 Grundlagen der Korrektheit von Algorithmen
Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 0 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Einführung Grundlagen von Algorithmen Grundlagen
MehrÜbungen zum Vortrag Backtracking mit Heuristiken
Übungen zum Vortrag Backtracking mit Heuristiken A) Java-Implementierung studieren von Backtracking im Labyrinth B) Pseudocode schreiben zu Backtracking beim n Damen Problem C) Implementierung der Springerwege
MehrDie Türme von Hanoi. Wollen
Eine Loesungsstrategie 3 Die Türme von Hanoi Eine mögliche Strategie zur Lösung des Puzzles ist folgende: Falls der Turm die Höhe n hat, bewege den Turm der Höhe n-1 zunächst auf den dritten Pfahl. (Wie
MehrSpielregeln für Schach
Gebrauchsartikel mit sozialer Herkunft B-Vertrieb GmbH Anerkannt gemeinnütziges Unternehmen gem. Art. 80 Abs. 1 lit. g und Art. 56 Bst. g DBG Lehnstrasse 90 l CH-9014 St.Gallen Tel. +41 (0)71 280 83 20
MehrRekursion. Sie wissen wie man Programme rekursiv entwickelt. Sie kennen typische Beispiele von rekursiven Algorithmen
Rekursion Sie wissen wie man Programme rekursiv entwickelt Sie kennen typische Beispiele von rekursiven Algorithmen Sie kennen die Vor-/Nachteile von rekursiven Algorithmen Einführung 2 von 40 Rekursiver
MehrDie Ausgangsposition. Der aus drei Scheiben bestehende Turm steht auf Platz 1.
Der Turm von Hanoi 1. Schritt Die Ausgangsposition. Der aus drei Scheiben bestehende Turm steht auf Platz 1. Im ersten Schritt legen wir die oberste Scheibe auf Platz 3. Nun legen wir die mittlere Scheibe
MehrStud.-Nummer: Datenstrukturen & Algorithmen Seite 1
Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Aufgabe 1. / 16 P Instruktionen: 1) In dieser Aufgabe sollen Sie nur die Ergebnisse angeben. Diese können Sie direkt bei den Aufgaben notieren. 2) Sofern
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
MehrErste Schritte um Schach zu lernen
Erste Schritte um Schach zu lernen Erstellt durch wikihow Übersetzungen: Schach ist ein sehr beliebtes Spiel und weithin als eines der ältesten noch gespielten Spiele anerkannt. Obwohl die Regeln von Schach
MehrÜbung zu Algorithmen und Datenstrukturen (für ET/IT)
Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2017 Rüdiger Göbl, Mai Bui Computer Aided Medical Procedures Technische Universität München Administratives Zentralübung (Mittwoch, 09:45
Mehr2. Algorithmische Methoden 2.1 Rekursion. 18. April 2017
2. Algorithmische Methoden 2.1 Rekursion 18. April 2017 Rekursiver Algorithmus Ein rekursiver Algorithmus löst ein Problem, indem er eine oder mehrere kleinere Instanzen des gleichen Problems löst. Beispiel
MehrRekursion. Beispiel Fakultät (iterativ) Rekursive Java-Implementierung. Beispiel Fakultät (rekursiv) n! = n
Rekursion Beispiel Fakultät (iterativ) Methoden können Methoden aufrufen Methoden können nicht nur andere Methoden aufrufen, sondern auch sich selbst Eine Methode, die sich selbst (direkt oder indirekt)
MehrRekursive Funktionen und ihre programmtechnische Umsetzung
Rekursive Funktionen und ihre programmtechnische Umsetzung Klaus Kusche, Juli 2012 Inhalt Die Idee und ihre Programmierung Die Abarbeitung zur Laufzeit Die Speicherung der Daten Praktisches & Theoretisches
MehrSchach Spielanleitung/Spielregeln. Brettspielnetz.de Team Copyright 2017 Brettspielnetz.de
Schach Spielanleitung/Spielregeln Brettspielnetz.de Team Copyright 2017 Brettspielnetz.de Inhalt Schach Spielregeln...1 Einleitung...2 Das Ziel des Spiels...3 Das Spielbrett...4 Züge...5 Das Schlagen von
Mehr9. Rekursive Algorithmen
9. Rekursive Algorithmen Algorithmen, die darauf basieren, dass zur Lösung eines Problems der Algorithmus auf ein oder mehrere Teilprobleme kleinerer Größenordnung angewandt wird. Wesentlich ist, dass
MehrRekursive 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( )= c+t(n-1) n>1. Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3)
Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Motivation: IT gestützte Steuerung, Überwachung, Fertigung, Produktion,. : erfordert effiziente Berechnungsvorschriften Ziel: Methoden kennen
MehrReihungen. Prof. Dr. Christian Böhm. In Zusammenarbeit mit Gefei Zhang. WS 07/08
Reihungen Prof. Dr. Christian Böhm In Zusammenarbeit mit Gefei Zhang http://www.dbs.ifi.lmu.de/lehre/nfinfosw WS 07/08 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende
MehrFD Informatik Mauch SSDL (WHRS) Reutlingen. Algorithmen
FD Informatik Mauch SSDL (WHRS) Reutlingen Algorithmen Überblick Definition Notwendigkeit Realisierung Grundkonzepte Umsetzung im Unterricht Algorithmus? Ein Algorithmus ist eine Verwaltungsvorschrift,
Mehr= =
9. Januar 2007 Arbeitsblatt 9 Übungen zu Mathematik I für das Lehramt an der Grund- und Mittelstufe sowie an Sonderschulen I. Gasser, H. Strade, B. Werner WiSe 06/07 19.12.06 Präsenzaufgaben: 1. Zu Beginn
MehrAgenda. Informatik I WS05/06 Folien von Tobias Dezulian
15.12.2005 Agenda Geltungsbereich (Scope) von Variablen Blöcke Der Call-Stack Einschub: Debugging unter Eclipse Der Heap Lebensdauer von Objekten Müllabfuhr: Garbage Collection Exceptions Geltungsbereich
MehrInhalt. 3. Spezielle Algorithmen
Inhalt 0. Rechner und Programmierung für Kommunikationstechniker und Mechatroniker 1. Algorithmen - Wesen, Eigenschaften, Entwurf 2. Darstellung von Algorithmen mit Struktogrammen und Programmablaufplänen
MehrEinstieg 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
MehrPraktikum Algorithmen-Entwurf (Teil 7)
Praktikum Algorithmen-Entwurf (Teil 7) 28.11.2005 1 1 Vier gewinnt Die Spielregeln von Vier Gewinnt sind sehr einfach: Das Spielfeld besteht aus 7 Spalten und 6 Reihen. Jeder Spieler erhält zu Beginn des
MehrReihungen. Martin Wirsing. in Zusammenarbeit mit Michael Barth, Fabian Birzele und Gefei Zhang
Reihungen Martin Wirsing in Zusammenarbeit mit Michael Barth, Fabian Birzele und Gefei Zhang http://www.pst.informatik.uni-muenchen.de/lehre/ws0506/infoeinf/ WS 05/06 2 Ziele Die Datenstruktur der Reihungen
MehrProzedurales Programmieren und Problemlösungsstrategien
Prozedurales Programmieren und Problemlösungsstrategien Bachelorstudiengänge Umwelttechnik und Maschinenbau Prof. Dr. Thomas Hoch Problemlösungsstrategien Prozedurales Programmieren und Problemlösungsstrategien
MehrSafari Spielanleitung/Spielregeln. Brettspielnetz.de Team Copyright 2017 Brettspielnetz.de
Safari Spielanleitung/Spielregeln Brettspielnetz.de Team Copyright 2017 Brettspielnetz.de Inhalt Safari Spielregeln...1 Spielidee...2 Spielstart...3 Spielablauf...4 Tiere suchen...5 Wie fotografiere ich
MehrDas Kontrollfluss-Diagramm für Ò ¼ µ:
Das Kontrollfluss-Diagramm für Ò ¼ µ: find0(a,x,n1,n2) t = (n1+n2)/2; no a[t]==x yes no n1==n2 yes return t; no x > a[t] yes return 1; no n1 < t yes return find0(a,x,t+1,n2); return 1; return find0(a,x,n1,t
MehrVorlesung Programmieren
Vorlesung Programmieren Speicherverwaltung und Parameterübergabe Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Gültigkeitsbereich von
MehrLösungen Übung 5. Programmieren in C++ 1. Aufgabe. #include <iostream.h> #include <stdarg.h>
Lösungen Übung 5 1. Aufgabe #include int max(int anzarg, int a, int b,...) // Hilfsvariable für variable Parameter va_list argumente; va_start(argumente,b); // "b" letzter Parameter der Funktion,
MehrÜbersicht. 4.1 Ausdrücke. 4.2 Funktionale Algorithmen. 4.3 Anweisungen. 4.4 Imperative Algorithmen Variablen und Konstanten. 4.4.
Übersicht 4.1 Ausdrücke 4.2 Funktionale Algorithmen 4.3 Anweisungen 4.4 Imperative Algorithmen 4.4.1 Variablen und Konstanten 4.4.2 Prozeduren 4.4.3 Verzweigung und Iteration 4.4.4 Globale Größen Einführung
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
MehrProgrammierung für Mathematik (HS13)
software evolution & architecture lab Programmierung für Mathematik (HS13) Übung 11 1 Aufgabe: Codeverständnis 1.1 Aufgabenstellung Notieren Sie, was der folgende Code ausgeben würde, wenn er so in einer
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Elementare Datenstrukturen Array Linked List Stack Queue Tree (Feld) (Verkettete Liste) (Stapel) (Warteschlange) (Baum) Einschub:
MehrEinführung in die objektorientierte Programmierung mit C++
Prof. Dr. Thomas Klinker FB Elektrotechnik und Informatik 08. 03. 2007 Projekt im 4. Semester Elektrotechnik: Einführung in die objektorientierte Programmierung mit C++ Aufgabe 1: Schreiben Sie ein Programm,
MehrÜbung zu Algorithmen und Datenstrukturen (für ET/IT)
Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 Matthias Wieczorek Computer-Aided Medical Procedures Technische Universität München Administratives Zentralübung (Mittwoch, 09:45
MehrCS1005 Objektorientierte Programmierung
CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Funktionen / statische Methoden - Definition - Verwendung - Ausführung Seite 1 Th Letschert Funktionen: Definition und Verwendung
MehrStack. Seniorenseminar Michael Pohlig
Stack Seniorenseminar 21.06.2013 Michael Pohlig (pohlig@kit.edu) Übersicht 1. Axiomatik eins Kellers und seine Software- Realisierung 2. Bedeutung der Rekursion in der Mathematik 3. Rekursive Programmierung.
MehrInformatik II Übung 10. Pascal Schärli
Informatik II Übung 0 Pascal Schärli pascscha@student.ethz.ch 09.0.0 Was gibts heute? Best-of Vorlesung: Teile und Herrsche Türme von Hanoi Mergesort O-Notation Vorbesprechung: U0A, - Mergesort U0A Türme
MehrKlassenvariablen, 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
MehrInformatik Funktionen
Informatik Seite 1 Funktion Mathematik: Zuordnung Argumentwert(e) => Ergebniswerte Beispiel: f(x,y) = 2*x+y Informatik / Programmierung: Zusammenfassung von Anweisungen die von Argumentwerten abhängen
MehrStand der Vorlesung Komplexität von Algorithmen (Kapitel 3)
Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Technische Universität München Motivation: IT gestützte Steuerung, Überwachung, Fertigung, Produktion,. : erfordert effiziente Berechnungsvorschriften
Mehr