Algorithmen und Datenstrukturen Sommersemester 2007
|
|
- Wilhelm Linden
- vor 6 Jahren
- Abrufe
Transkript
1 Algorithmen und Datenstrukturen Sommersemester 2007 Steffen Reith Fachhochschule Wiesbaden 4. April 2007 Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
2 Termine Vorlesung: Mittwoch im Hörsaal 307 Praktikum: Gruppe C: Mittwoch (Reith) Gruppe A: Donnerstag (Frenken) Gruppe B: Donnerstag (Frenken) Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
3 Über den Dozenten Prof. Dr. Steffen Reith, geboren 1968, verheiratet Seit Sommersemester 2006 an der FH Wiesbaden Vorher tätig als Softwareentwickler für kryptographische und mathematische Algorithmen für tief eingebettete System in KFZs. Spezialgebiete: Komplexitätstheorie, Logik in der Informatik und Kryptographie Büro: Raum C304 Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
4 Weitere Informationen zur Vorlesung Webseite: reith/ads/index.html Literatur: Gunter Saake und Kai-Uwe Sattler, Algorithmen und Datenstrukturen, dpunkt.verlag, 2005 Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest und Clifford Stein, Introduction to Algorithms, MIT Press, 2001 Robert Sedgewick, Algorithmen in C, Addison-Wesley, 1997 Uwe Schöning, Algorithmik, Spektrum Verlag, 2001 Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
5 Weitere Informationen zur Vorlesung (II) Ersatztermine: Werden dienstags stattfinden Skript: Wird in unregelmäßigen Abständen auf der Webseite der Vorlesung veröffentlicht (Eine alte Variante steht bereits auf der Webseite zur Verfügung). Folien: Einzelne (kleine) Teile der Vorlesung werden in Folienform zur Verfügung stehen. Folien, die vom Skript abweichen, werden auf der Webseite (nachträglich) zur Verfügung stehen. Eine eigene Mitschrift sollte angefertigt werden! Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
6 Ein roter Faden In der Vorlesung werden die folgenden Themen untersucht: 1 Grundlagen und Notationen Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
7 Ein roter Faden In der Vorlesung werden die folgenden Themen untersucht: 1 Grundlagen und Notationen 2 Die Korrektheit von Algorithmen - ein Beispiel Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
8 Ein roter Faden In der Vorlesung werden die folgenden Themen untersucht: 1 Grundlagen und Notationen 2 Die Korrektheit von Algorithmen - ein Beispiel 3 Suchen Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
9 Ein roter Faden In der Vorlesung werden die folgenden Themen untersucht: 1 Grundlagen und Notationen 2 Die Korrektheit von Algorithmen - ein Beispiel 3 Suchen 4 Insertion Sort und Laufzeitanalyse Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
10 Ein roter Faden In der Vorlesung werden die folgenden Themen untersucht: 1 Grundlagen und Notationen 2 Die Korrektheit von Algorithmen - ein Beispiel 3 Suchen 4 Insertion Sort und Laufzeitanalyse 5 Die O-Notation Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
11 Ein roter Faden In der Vorlesung werden die folgenden Themen untersucht: 1 Grundlagen und Notationen 2 Die Korrektheit von Algorithmen - ein Beispiel 3 Suchen 4 Insertion Sort und Laufzeitanalyse 5 Die O-Notation 6 Selection Sort und Bubble Sort Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
12 Ein roter Faden In der Vorlesung werden die folgenden Themen untersucht: 1 Grundlagen und Notationen 2 Die Korrektheit von Algorithmen - ein Beispiel 3 Suchen 4 Insertion Sort und Laufzeitanalyse 5 Die O-Notation 6 Selection Sort und Bubble Sort 7 Merge Sort und Quick Sort Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
13 Ein roter Faden In der Vorlesung werden die folgenden Themen untersucht: 1 Grundlagen und Notationen 2 Die Korrektheit von Algorithmen - ein Beispiel 3 Suchen 4 Insertion Sort und Laufzeitanalyse 5 Die O-Notation 6 Selection Sort und Bubble Sort 7 Merge Sort und Quick Sort 8 Eine untere Schranke für Sortierverfahren Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
14 Ein roter Faden In der Vorlesung werden die folgenden Themen untersucht: 1 Grundlagen und Notationen 2 Die Korrektheit von Algorithmen - ein Beispiel 3 Suchen 4 Insertion Sort und Laufzeitanalyse 5 Die O-Notation 6 Selection Sort und Bubble Sort 7 Merge Sort und Quick Sort 8 Eine untere Schranke für Sortierverfahren 9 Dyn. Datenstrukturen - Stacks, Warteschlangen und Listen Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
15 Ein roter Faden In der Vorlesung werden die folgenden Themen untersucht: 1 Grundlagen und Notationen 2 Die Korrektheit von Algorithmen - ein Beispiel 3 Suchen 4 Insertion Sort und Laufzeitanalyse 5 Die O-Notation 6 Selection Sort und Bubble Sort 7 Merge Sort und Quick Sort 8 Eine untere Schranke für Sortierverfahren 9 Dyn. Datenstrukturen - Stacks, Warteschlangen und Listen 10 Bäume & Algorithmen zur Traversierung Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
16 Ein roter Faden In der Vorlesung werden die folgenden Themen untersucht: 1 Grundlagen und Notationen 2 Die Korrektheit von Algorithmen - ein Beispiel 3 Suchen 4 Insertion Sort und Laufzeitanalyse 5 Die O-Notation 6 Selection Sort und Bubble Sort 7 Merge Sort und Quick Sort 8 Eine untere Schranke für Sortierverfahren 9 Dyn. Datenstrukturen - Stacks, Warteschlangen und Listen 10 Bäume & Algorithmen zur Traversierung 11 AVL - Bäume Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
17 Ein roter Faden In der Vorlesung werden die folgenden Themen untersucht: 1 Grundlagen und Notationen 2 Die Korrektheit von Algorithmen - ein Beispiel 3 Suchen 4 Insertion Sort und Laufzeitanalyse 5 Die O-Notation 6 Selection Sort und Bubble Sort 7 Merge Sort und Quick Sort 8 Eine untere Schranke für Sortierverfahren 9 Dyn. Datenstrukturen - Stacks, Warteschlangen und Listen 10 Bäume & Algorithmen zur Traversierung 11 AVL - Bäume 12 Hashing Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
18 Ein roter Faden In der Vorlesung werden die folgenden Themen untersucht: 1 Grundlagen und Notationen 2 Die Korrektheit von Algorithmen - ein Beispiel 3 Suchen 4 Insertion Sort und Laufzeitanalyse 5 Die O-Notation 6 Selection Sort und Bubble Sort 7 Merge Sort und Quick Sort 8 Eine untere Schranke für Sortierverfahren 9 Dyn. Datenstrukturen - Stacks, Warteschlangen und Listen 10 Bäume & Algorithmen zur Traversierung 11 AVL - Bäume 12 Hashing 13 Graphenalgorithmen Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
19 Spielregeln Rechner und Handys sind zu Beginn der Veranstaltung aus Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
20 Spielregeln Rechner und Handys sind zu Beginn der Veranstaltung aus Wir (Dozent + Hörer) sind pünktlich Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
21 Spielregeln Rechner und Handys sind zu Beginn der Veranstaltung aus Wir (Dozent + Hörer) sind pünktlich Es redet nur eine Person Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
22 Spielregeln Rechner und Handys sind zu Beginn der Veranstaltung aus Wir (Dozent + Hörer) sind pünktlich Es redet nur eine Person Bei Fragen und Problemen sofort melden / fragen Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
23 Spielregeln Rechner und Handys sind zu Beginn der Veranstaltung aus Wir (Dozent + Hörer) sind pünktlich Es redet nur eine Person Bei Fragen und Problemen sofort melden / fragen Es wird Eigeninitiative und selbstständiges Arbeiten erwartet Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
24 Spielregeln Rechner und Handys sind zu Beginn der Veranstaltung aus Wir (Dozent + Hörer) sind pünktlich Es redet nur eine Person Bei Fragen und Problemen sofort melden / fragen Es wird Eigeninitiative und selbstständiges Arbeiten erwartet Eine Vorlesung ist keine (wöchentliche) Fernsehserie! Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
25 Spielregeln Rechner und Handys sind zu Beginn der Veranstaltung aus Wir (Dozent + Hörer) sind pünktlich Es redet nur eine Person Bei Fragen und Problemen sofort melden / fragen Es wird Eigeninitiative und selbstständiges Arbeiten erwartet Eine Vorlesung ist keine (wöchentliche) Fernsehserie! Eine Vorlesung wird von den Hörern und vom Dozenten gestaltet Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
26 Spielregeln Rechner und Handys sind zu Beginn der Veranstaltung aus Wir (Dozent + Hörer) sind pünktlich Es redet nur eine Person Bei Fragen und Problemen sofort melden / fragen Es wird Eigeninitiative und selbstständiges Arbeiten erwartet Eine Vorlesung ist keine (wöchentliche) Fernsehserie! Eine Vorlesung wird von den Hörern und vom Dozenten gestaltet aktive Mitarbeit erwünscht und erforderlich Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
27 Spielregeln Rechner und Handys sind zu Beginn der Veranstaltung aus Wir (Dozent + Hörer) sind pünktlich Es redet nur eine Person Bei Fragen und Problemen sofort melden / fragen Es wird Eigeninitiative und selbstständiges Arbeiten erwartet Eine Vorlesung ist keine (wöchentliche) Fernsehserie! Eine Vorlesung wird von den Hörern und vom Dozenten gestaltet aktive Mitarbeit erwünscht und erforderlich Der Dozent will motiviert werden Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
28 Spielregeln Rechner und Handys sind zu Beginn der Veranstaltung aus Wir (Dozent + Hörer) sind pünktlich Es redet nur eine Person Bei Fragen und Problemen sofort melden / fragen Es wird Eigeninitiative und selbstständiges Arbeiten erwartet Eine Vorlesung ist keine (wöchentliche) Fernsehserie! Eine Vorlesung wird von den Hörern und vom Dozenten gestaltet aktive Mitarbeit erwünscht und erforderlich Der Dozent will motiviert werden Umfangreiche Vor- und Nachbereitung notwendig Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
29 Spielregeln Rechner und Handys sind zu Beginn der Veranstaltung aus Wir (Dozent + Hörer) sind pünktlich Es redet nur eine Person Bei Fragen und Problemen sofort melden / fragen Es wird Eigeninitiative und selbstständiges Arbeiten erwartet Eine Vorlesung ist keine (wöchentliche) Fernsehserie! Eine Vorlesung wird von den Hörern und vom Dozenten gestaltet aktive Mitarbeit erwünscht und erforderlich Der Dozent will motiviert werden Umfangreiche Vor- und Nachbereitung notwendig Lernen nur kurz vor der Klausur ist tötlich! (kontinuierliches Lernen) Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
30 Spielregeln Rechner und Handys sind zu Beginn der Veranstaltung aus Wir (Dozent + Hörer) sind pünktlich Es redet nur eine Person Bei Fragen und Problemen sofort melden / fragen Es wird Eigeninitiative und selbstständiges Arbeiten erwartet Eine Vorlesung ist keine (wöchentliche) Fernsehserie! Eine Vorlesung wird von den Hörern und vom Dozenten gestaltet aktive Mitarbeit erwünscht und erforderlich Der Dozent will motiviert werden Umfangreiche Vor- und Nachbereitung notwendig Lernen nur kurz vor der Klausur ist tötlich! (kontinuierliches Lernen) Vergessen Sie den (angeblichen) Konflikt von Theorie und Praxis Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
31 Spielregeln Rechner und Handys sind zu Beginn der Veranstaltung aus Wir (Dozent + Hörer) sind pünktlich Es redet nur eine Person Bei Fragen und Problemen sofort melden / fragen Es wird Eigeninitiative und selbstständiges Arbeiten erwartet Eine Vorlesung ist keine (wöchentliche) Fernsehserie! Eine Vorlesung wird von den Hörern und vom Dozenten gestaltet aktive Mitarbeit erwünscht und erforderlich Der Dozent will motiviert werden Umfangreiche Vor- und Nachbereitung notwendig Lernen nur kurz vor der Klausur ist tötlich! (kontinuierliches Lernen) Vergessen Sie den (angeblichen) Konflikt von Theorie und Praxis Was wünschen Sie sich? Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
32 Praktikum Start des Praktikums: KW 13 (= bis ) Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
33 Praktikum Start des Praktikums: KW 13 (= bis ) Auf der Webseite werden Sie jede Woche Aufgabenblätter für das Praktikum finden. Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
34 Praktikum Start des Praktikums: KW 13 (= bis ) Auf der Webseite werden Sie jede Woche Aufgabenblätter für das Praktikum finden. Im Praktikum werden Testate abgenommen. Aus allen Testaten wird die Note des Praktikums gebildet. Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
35 Praktikum Start des Praktikums: KW 13 (= bis ) Auf der Webseite werden Sie jede Woche Aufgabenblätter für das Praktikum finden. Im Praktikum werden Testate abgenommen. Aus allen Testaten wird die Note des Praktikums gebildet. Bewertungsschema: ( + 1.0, o 3.0 und - 5.0). Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
36 Praktikum Start des Praktikums: KW 13 (= bis ) Auf der Webseite werden Sie jede Woche Aufgabenblätter für das Praktikum finden. Im Praktikum werden Testate abgenommen. Aus allen Testaten wird die Note des Praktikums gebildet. Bewertungsschema: ( + 1.0, o 3.0 und - 5.0). Fällt eine Übung aus (Feiertage, Vollversammlung, etc.), dann werden die entsprechenden Testate zum nächsten Termin zusätzlich fällig. Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
37 Praktikum Start des Praktikums: KW 13 (= bis ) Auf der Webseite werden Sie jede Woche Aufgabenblätter für das Praktikum finden. Im Praktikum werden Testate abgenommen. Aus allen Testaten wird die Note des Praktikums gebildet. Bewertungsschema: ( + 1.0, o 3.0 und - 5.0). Fällt eine Übung aus (Feiertage, Vollversammlung, etc.), dann werden die entsprechenden Testate zum nächsten Termin zusätzlich fällig. Regelmäßige Anwesenheit im Praktikum ist erforderlich! (75% Regel) Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
38 Was ist ein Algorithmus? Definition Algorithmus (informell): Ein Algorithmus ist eine eindeutige (Berechnungs-)Vorschrift, die beschreibt wie man Eingabeobjekte in Ausgabeobjekte umwandelt. Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
39 Was ist ein Algorithmus? Definition Algorithmus (informell): Ein Algorithmus ist eine eindeutige (Berechnungs-)Vorschrift, die beschreibt wie man Eingabeobjekte in Ausgabeobjekte umwandelt. Kochen harter Eier nach P. Bocuse (1977) : 1 In einem ausreichend großen Topf Wasser zum Kochen bringen Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
40 Was ist ein Algorithmus? Definition Algorithmus (informell): Ein Algorithmus ist eine eindeutige (Berechnungs-)Vorschrift, die beschreibt wie man Eingabeobjekte in Ausgabeobjekte umwandelt. Kochen harter Eier nach P. Bocuse (1977) : 1 In einem ausreichend großen Topf Wasser zum Kochen bringen 2 Das Ei in ein Sieb mit groben Löchern legen Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
41 Was ist ein Algorithmus? Definition Algorithmus (informell): Ein Algorithmus ist eine eindeutige (Berechnungs-)Vorschrift, die beschreibt wie man Eingabeobjekte in Ausgabeobjekte umwandelt. Kochen harter Eier nach P. Bocuse (1977) : 1 In einem ausreichend großen Topf Wasser zum Kochen bringen 2 Das Ei in ein Sieb mit groben Löchern legen 3 Das Sieb in das kochende Wasser legen Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
42 Was ist ein Algorithmus? Definition Algorithmus (informell): Ein Algorithmus ist eine eindeutige (Berechnungs-)Vorschrift, die beschreibt wie man Eingabeobjekte in Ausgabeobjekte umwandelt. Kochen harter Eier nach P. Bocuse (1977) : 1 In einem ausreichend großen Topf Wasser zum Kochen bringen 2 Das Ei in ein Sieb mit groben Löchern legen 3 Das Sieb in das kochende Wasser legen 4 Wenn das Ei mittelgroß ist, dann 9 Minuten kochen Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
43 Was ist ein Algorithmus? Definition Algorithmus (informell): Ein Algorithmus ist eine eindeutige (Berechnungs-)Vorschrift, die beschreibt wie man Eingabeobjekte in Ausgabeobjekte umwandelt. Kochen harter Eier nach P. Bocuse (1977) : 1 In einem ausreichend großen Topf Wasser zum Kochen bringen 2 Das Ei in ein Sieb mit groben Löchern legen 3 Das Sieb in das kochende Wasser legen 4 Wenn das Ei mittelgroß ist, dann 9 Minuten kochen 5 Wenn das Ei groß ist, dann 10 Minuten kochen Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
44 Was ist ein Algorithmus? Definition Algorithmus (informell): Ein Algorithmus ist eine eindeutige (Berechnungs-)Vorschrift, die beschreibt wie man Eingabeobjekte in Ausgabeobjekte umwandelt. Kochen harter Eier nach P. Bocuse (1977) : 1 In einem ausreichend großen Topf Wasser zum Kochen bringen 2 Das Ei in ein Sieb mit groben Löchern legen 3 Das Sieb in das kochende Wasser legen 4 Wenn das Ei mittelgroß ist, dann 9 Minuten kochen 5 Wenn das Ei groß ist, dann 10 Minuten kochen 6 Sieb aus dem kochenden Wasser nehmen Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
45 Was ist ein Algorithmus? Definition Algorithmus (informell): Ein Algorithmus ist eine eindeutige (Berechnungs-)Vorschrift, die beschreibt wie man Eingabeobjekte in Ausgabeobjekte umwandelt. Kochen harter Eier nach P. Bocuse (1977) : 1 In einem ausreichend großen Topf Wasser zum Kochen bringen 2 Das Ei in ein Sieb mit groben Löchern legen 3 Das Sieb in das kochende Wasser legen 4 Wenn das Ei mittelgroß ist, dann 9 Minuten kochen 5 Wenn das Ei groß ist, dann 10 Minuten kochen 6 Sieb aus dem kochenden Wasser nehmen 7 Sieb in kaltes Wasser tauchen Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
46 Was ist ein Algorithmus? (II) Berechnen des größten gemeinsamen Teilers nach Euklid (ca. 300 v. Chr.) : Eingaben: Zwei Zahlen a und b 1 Wenn a größer als b, dann tausche beide Zahlen Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
47 Was ist ein Algorithmus? (II) Berechnen des größten gemeinsamen Teilers nach Euklid (ca. 300 v. Chr.) : Eingaben: Zwei Zahlen a und b 1 Wenn a größer als b, dann tausche beide Zahlen 2 Teile b (ganzzahlig) durch a mit Rest r Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
48 Was ist ein Algorithmus? (II) Berechnen des größten gemeinsamen Teilers nach Euklid (ca. 300 v. Chr.) : Eingaben: Zwei Zahlen a und b 1 Wenn a größer als b, dann tausche beide Zahlen 2 Teile b (ganzzahlig) durch a mit Rest r 3 Setze b auf den Wert von a und a auf den Wert von r Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
49 Was ist ein Algorithmus? (II) Berechnen des größten gemeinsamen Teilers nach Euklid (ca. 300 v. Chr.) : Eingaben: Zwei Zahlen a und b 1 Wenn a größer als b, dann tausche beide Zahlen 2 Teile b (ganzzahlig) durch a mit Rest r 3 Setze b auf den Wert von a und a auf den Wert von r 4 Ist r größer 0 arbeite bei Schritt 2 weiter Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
50 Was ist ein Algorithmus? (II) Berechnen des größten gemeinsamen Teilers nach Euklid (ca. 300 v. Chr.) : Eingaben: Zwei Zahlen a und b 1 Wenn a größer als b, dann tausche beide Zahlen 2 Teile b (ganzzahlig) durch a mit Rest r 3 Setze b auf den Wert von a und a auf den Wert von r 4 Ist r größer 0 arbeite bei Schritt 2 weiter 5 Gib b aus (ist der größte gemeinsame Teiler von a und b) Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
51 Was ist ein Algorithmus? (II) Berechnen des größten gemeinsamen Teilers nach Euklid (ca. 300 v. Chr.) : Eingaben: Zwei Zahlen a und b 1 Wenn a größer als b, dann tausche beide Zahlen 2 Teile b (ganzzahlig) durch a mit Rest r 3 Setze b auf den Wert von a und a auf den Wert von r 4 Ist r größer 0 arbeite bei Schritt 2 weiter 5 Gib b aus (ist der größte gemeinsame Teiler von a und b) Zusätzlich fordern wir: Eine solche Vorschrift muss von einem mechanischen oder elektronischen Gerät, dem Prozessor, ausgeführt werden können. Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
52 Probleme Algorithmen lösen (Berechnungs-)Probleme. Um solche Probleme formal besser darstellen zu können, benutzen wir folgende Notation: Problem: Eingabe: Ausgabe: EIERKOCHEN Ein Ei Ein hartgekochtes Ei Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
53 Probleme Algorithmen lösen (Berechnungs-)Probleme. Um solche Probleme formal besser darstellen zu können, benutzen wir folgende Notation: Problem: Eingabe: Ausgabe: EIERKOCHEN Ein Ei Ein hartgekochtes Ei Problem: Eingabe: Ausgabe: GGT Zwei natürliche Zahlen a und b Der größte gemeinsame Teiler von a und b Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
54 Probleme Algorithmen lösen (Berechnungs-)Probleme. Um solche Probleme formal besser darstellen zu können, benutzen wir folgende Notation: Problem: Eingabe: Ausgabe: EIERKOCHEN Ein Ei Ein hartgekochtes Ei Problem: Eingabe: Ausgabe: GGT Zwei natürliche Zahlen a und b Der größte gemeinsame Teiler von a und b Eine konkrete Eingabe eines Problems wollen wir Instanz nennen. Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
55 Einige Anforderungen an Algorithmen Ein Algorithmus sollte folgenden Anforderungen genügen: Endlichkeit - Der Algorithmus muss eine endliche Beschreibung ( Befehle ) haben. Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
56 Einige Anforderungen an Algorithmen Ein Algorithmus sollte folgenden Anforderungen genügen: Endlichkeit - Der Algorithmus muss eine endliche Beschreibung ( Befehle ) haben. Determiniertheit - Jeder Eingabewert in den Algorithmus führt zu einem eindeutigen Resultat. Verarbeitet der Algorithmus diesen Wert erneut, so muss er das gleiche Ergebnis liefern. Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
57 Einige Anforderungen an Algorithmen Ein Algorithmus sollte folgenden Anforderungen genügen: Endlichkeit - Der Algorithmus muss eine endliche Beschreibung ( Befehle ) haben. Determiniertheit - Jeder Eingabewert in den Algorithmus führt zu einem eindeutigen Resultat. Verarbeitet der Algorithmus diesen Wert erneut, so muss er das gleiche Ergebnis liefern. Vollständigkeit - Ein Algorithmus hält für jede zulässige Eingabe nach endlich vielen Schritten an (= terminiert). Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
58 Einige Anforderungen an Algorithmen Ein Algorithmus sollte folgenden Anforderungen genügen: Endlichkeit - Der Algorithmus muss eine endliche Beschreibung ( Befehle ) haben. Determiniertheit - Jeder Eingabewert in den Algorithmus führt zu einem eindeutigen Resultat. Verarbeitet der Algorithmus diesen Wert erneut, so muss er das gleiche Ergebnis liefern. Vollständigkeit - Ein Algorithmus hält für jede zulässige Eingabe nach endlich vielen Schritten an (= terminiert). Universalität - Alle (zulässigen) Eingabedaten werden korrekt verarbeitet. Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
59 Einige Anforderungen an Algorithmen Ein Algorithmus sollte folgenden Anforderungen genügen: Endlichkeit - Der Algorithmus muss eine endliche Beschreibung ( Befehle ) haben. Determiniertheit - Jeder Eingabewert in den Algorithmus führt zu einem eindeutigen Resultat. Verarbeitet der Algorithmus diesen Wert erneut, so muss er das gleiche Ergebnis liefern. Vollständigkeit - Ein Algorithmus hält für jede zulässige Eingabe nach endlich vielen Schritten an (= terminiert). Universalität - Alle (zulässigen) Eingabedaten werden korrekt verarbeitet. Nachvollziehbarkeit - Ein Algorithmus muss von Dritten nachvollzogen / überprüft werden können. Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
60 Einige Anforderungen an Algorithmen (II) Erfüllt der Algorithmus von Bocuse diese Eigenschaften? Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
61 Einige Anforderungen an Algorithmen (II) Erfüllt der Algorithmus von Bocuse diese Eigenschaften? Endlichkeit - Offensichtlich ja, da die Beschreibung aus 7 Zeilen besteht. Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
62 Einige Anforderungen an Algorithmen (II) Erfüllt der Algorithmus von Bocuse diese Eigenschaften? Endlichkeit - Offensichtlich ja, da die Beschreibung aus 7 Zeilen besteht. Determiniertheit - Jaein, da nicht klar ist, ob jedes große Ei wirklich hart gekocht wird. Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
63 Einige Anforderungen an Algorithmen (II) Erfüllt der Algorithmus von Bocuse diese Eigenschaften? Endlichkeit - Offensichtlich ja, da die Beschreibung aus 7 Zeilen besteht. Determiniertheit - Jaein, da nicht klar ist, ob jedes große Ei wirklich hart gekocht wird. Vollständigkeit - Jaein, da nicht klar ist, ob das Programm hält, denn das Ei bleibt ja im kalten Wasser liegen. Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
64 Einige Anforderungen an Algorithmen (II) Erfüllt der Algorithmus von Bocuse diese Eigenschaften? Endlichkeit - Offensichtlich ja, da die Beschreibung aus 7 Zeilen besteht. Determiniertheit - Jaein, da nicht klar ist, ob jedes große Ei wirklich hart gekocht wird. Vollständigkeit - Jaein, da nicht klar ist, ob das Programm hält, denn das Ei bleibt ja im kalten Wasser liegen. Universalität - Nein, da das Programm nicht mit kleinen Eier umgehen kann (Evtl. kleine Eier nicht als Eingabe zulassen). Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
65 Einige Anforderungen an Algorithmen (II) Erfüllt der Algorithmus von Bocuse diese Eigenschaften? Endlichkeit - Offensichtlich ja, da die Beschreibung aus 7 Zeilen besteht. Determiniertheit - Jaein, da nicht klar ist, ob jedes große Ei wirklich hart gekocht wird. Vollständigkeit - Jaein, da nicht klar ist, ob das Programm hält, denn das Ei bleibt ja im kalten Wasser liegen. Universalität - Nein, da das Programm nicht mit kleinen Eier umgehen kann (Evtl. kleine Eier nicht als Eingabe zulassen). Nachvollziehbarkeit - Jaein, da nicht jedem klar ist, was ein ausreichend großer Topf, ein Sieb mit großen Löchern oder ein mittelgroßes Ei ist. Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
66 Einige Anforderungen an Algorithmen (II) Erfüllt der Algorithmus von Bocuse diese Eigenschaften? Endlichkeit - Offensichtlich ja, da die Beschreibung aus 7 Zeilen besteht. Determiniertheit - Jaein, da nicht klar ist, ob jedes große Ei wirklich hart gekocht wird. Vollständigkeit - Jaein, da nicht klar ist, ob das Programm hält, denn das Ei bleibt ja im kalten Wasser liegen. Universalität - Nein, da das Programm nicht mit kleinen Eier umgehen kann (Evtl. kleine Eier nicht als Eingabe zulassen). Nachvollziehbarkeit - Jaein, da nicht jedem klar ist, was ein ausreichend großer Topf, ein Sieb mit großen Löchern oder ein mittelgroßes Ei ist. Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
67 Einige Anforderungen an Algorithmen (III) Die meisten Algorithmen des täglichen Lebens genügen unseren Anforderungen nicht! (vgl. Aufbauanleitungen eines großen schwedischen Möbelhauses) Um Algorithmen präzise aufschreiben zu können, brauchen wir spezielle Notationen: Pseudocode - Eine an eine Programmiersprache (bei uns: C) angelehnte (verbale) Beschreibung Nassi-Shneiderman Diagramme - Graphische Darstellung von Algorithmen Wir werden alle Algorithmen mit den im folgenden beschriebenen Grundelementen konstruieren. (Stichwort: Strukturierte Programmierung) Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
68 Sequenz Die einzelnen Teilalgorithmen werden hintereinander in der Reihenfolge ausgeführt, in der sie aufgeschrieben sind: In Pseudocode: Anweisung1; Anweisung2; Anweisung3; Als Nassi-Shneiderman Diagramm: Anweisung 1 Anweisung 2 Anweisung 3 Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
69 Verzweigung Wenn die Bedingung B erfüllt ist, so wird der ja -Teilalgorithmus ausgeführt, sonst der nein -Teilalgorithmus. In Pseudocode: if (B) { ja-teilalgorithmus; } else { nein-teilalgorithmus; } Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
70 Verzweigung (II) Als Nassi-Shneiderman Diagramm: ja B nein "ja" Teil algorithmus "nein" Teil algorithmus Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
71 Fallunterscheidung Wenn der Ausdruck A den Wert i annimmt, dann führen wir den Teilalgorithmus i aus. Wenn kein passender Teilalgorithmus i existiert, dann wird der Teilalgorithmus default ausgeführt. In Pseudocode: switch (A) { case1: {Teilalgorithmus1;} break; case2: {Teilalgorithmus2;} break; default: {Default-Teilalgorithmus;} } Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
72 Fallunterscheidung (II) Als Nassi-Shneiderman Diagramm: A default Teil algorithmus 1 Teil algorithmus 2 Teil algorithmus 3 Teilalgorithmus "default" Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
73 Abweisende Schleife Solange die Bedingung B erfüllt ist, wird der Teilalgorithmus S ausgeführt: while (B) { TeilalgorithmusS; } Als Nassi-Shneiderman Diagramm: B Teilalgorithmus S Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
74 Nicht abweisende Schleife Führe den Teilalgorithmus S aus, solange bis die Bedingung B nicht mehr zutrifft. do { TeilalgorithmusS; } while (B); Als Nassi-Shneiderman Diagramm: Teilalgorithmus S B Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
75 Zählschleife Der Schleifenindex i wird vom Startwert zum Endwert inkrementiert, dabei wird der Teilalgorithmus S jedesmal durchlaufen. for (i = Start to Ende) { TeilalgorithmusS; } Als Nassi-Shneiderman Diagramm: for i = Start To End Teilalgorithmus S Steffen Reith Algorithmen und Datenstrukturen 4. April / 22
Algorithmen und Datenstrukturen. Organisatorisches. Christian Komusiewicz Ernst-Abbe-Platz 2, R3315
Algorithmen und Datenstrukturen Christian Komusiewicz Ernst-Abbe-Platz 2, R3315 christian.komusiewicz@uni-jena.de Friedrich-Schiller-Universität Jena Institut für Informatik http://users.fmi.uni-jena.de/
MehrAlgorithmen und Datenstrukturen ITS(B)-B 2016
Einführung Was ist (die) Informatik? Die Informatik und ihre Geschichte sowie ihre Abgrenzung von anderen Wissenschaften darzulegen gestaltet sich nicht ganz einfach (siehe dazu unter vielen Anderen ((GI)
MehrAlgorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert und Dr. Thomas Stibor
Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert und Dr. Thomas Stibor Organisatorisches: Vorlesung 4 SWS, Zentralübung 2 SWS: 6 Credit Points Mi 9:45 11:15 Raum 1200 (Vorlesung) Do 8:00
MehrAlgorithmen & Datenstrukturen
Algorithmen & Datenstrukturen Prof. Dr. Gerd Stumme Universität Kassel FB Elektrotechnik/Informatik FG Wissensverarbeitung Sommersemester 2009 Ziele der Veranstaltung 1 Kennenlernen grundlegender Algorithmen
MehrInformatikgrundlagen (WS 2016/2017)
Informatikgrundlagen (WS 2016/2017) Klaus Berberich (klaus.berberich@htwsaar.de) Wolfgang Braun (wolfgang.braun@htwsaar.de) 0. Organisatorisches Dozenten Klaus Berberich (klaus.berberich@htwsaar.de) Sprechstunde
MehrADS. 1. Vorlesung. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm
ADS 1. Vorlesung Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm 6.10.2016 ORGANISATORISCHES Algorithmen & Datenstrukturen Prof. Dr. Wolfgang Schramm Der Dozent 2 Prof. Dr. Wolfgang Schramm
Mehr2. Algorithmenbegriff
2. Algorithmenbegriff Keine Algorithmen: Anleitungen, Kochrezepte, Wegbeschreibungen,... Algorithmus: Berechnungsvorschrift, die angibt, wie durch Ausführung bestimmter Elementaroperationen aus Eingabegrößen
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
MehrAlgorithmen und Berechnungskomplexität I
Institut für Informatik I Wintersemester 2010/11 Organisatorisches Vorlesung Montags 11:15-12:45 Uhr (AVZ III / HS 1) Mittwochs 11:15-12:45 Uhr (AVZ III / HS 1) Dozent Professor für theoretische Informatik
MehrAlgorithmen und Datenstrukturen
Skript zur Vorlesung Algorithmen und Datenstrukturen Sommersemester 2014 Prof. Dr. Steffen Reith Steffen.Reith@hs-rm.de Hochschule RheinMain Fachbereich Design Informatik Medien Erstellt von: Steffen Reith
MehrDatenstrukturen. Sommersemester Kapitel 1: Motivation / Grundlagen. Steffen Lange
Datenstrukturen Sommersemester 2010 Steffen Lange 1/1, Folie 1 2010 Prof. Steffen Lange - HDa/FbI - Datenstrukturen Organisatorisches Vorlesung wöchentlich; zwei Blöcke Folien im Netz (/* bitte zur Vorlesung
MehrTheoretische Informatik: Berechenbarkeit und Formale Sprachen
Theoretische Informatik: Berechenbarkeit und Formale Sprachen Prof. Dr. F. Otto Fachbereich Elektrotechnik/Informatik, Universität Kassel 34109 Kassel, Germany E-mail: otto@theory.informatik.uni-kassel.de
MehrAlgorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert
Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert Organisatorisches: Vorlesung 4 SWS, Zentralübung 2 SWS: 6 Credit Points Mi 10:30-12:00 Raum 1200 (Vorlesung) Do 8:15-9:45 Raum 1200 (Vorlesung)
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm 1 Organisation 2 Einführung Ziele und Inhalt
MehrAlgorithmen und Datenstrukturen 1. EINLEITUNG. Algorithmen und Datenstrukturen - Ma5hias Thimm 1
Algorithmen und Datenstrukturen 1. EINLEITUNG Algorithmen und Datenstrukturen - Ma5hias Thimm (thimm@uni-koblenz.de) 1 Allgemeines Einleitung Zu den Begriffen: Algorithmen und Datenstrukturen systematische
MehrInformatikgrundlagen (WS 2015/2016)
Informatikgrundlagen (WS 2015/2016) Klaus Berberich (klaus.berberich@htwsaar.de) Wolfgang Braun (wolfgang.braun@htwsaar.de) 0. Organisatorisches Dozenten Klaus Berberich (klaus.berberich@htwsaar.de) Sprechstunde
MehrAlgorithmen und Datenstrukturen (für ET/IT) Programm heute. Sommersemester Dr. Tobias Lasser. 1 Organisation
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2014 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 1 Organisation 2 Einführung Ziele und Inhalt
MehrTheoretische Informatik: Berechenbarkeit und Formale Sprachen
Theoretische Informatik: Berechenbarkeit und Formale Sprachen Prof. Dr. F. Otto Fachbereich Elektrotechnik/Informatik, Universität Kassel 34109 Kassel, Germany E-mail: otto@theory.informatik.uni-kassel.de
MehrProgrammentwurf mittels strukturierter Programmierung. Programmentwurf. Nassi-Shneiderman-Diagramm [DIN ]
Programmentwurf Bevor man sich daran macht, den Quelltext eines Programmes zu schreiben, sollte man sich einen Plan der Struktur des zukünftigen Programmes machen. Diese Phase eines Softwarentwicklungsprojekts
MehrTheoretische Informatik: Berechenbarkeit und Formale Sprachen
Theoretische Informatik: Berechenbarkeit und Formale Sprachen Prof. Dr. F. Otto Fachbereich Elektrotechnik/Informatik, Universität Kassel 34109 Kassel, Germany E-mail: otto@theory.informatik.uni-kassel.de
MehrModul Algorithmik, T-Katalog
Modul Algorithmik, T-Katalog Sommersemester 2017 Steffen Lange 1/1, Folie 1 2017 Prof. Steffen Lange - HDa/FbI - Algorithmik Organisatorisches u Vorlesung Folien im Netz u Übung eine Übung alle 14 Tage
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,
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2016 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda 1. Vorstellen des vierten Übungsblatts 2. Vorbereitende Aufgaben für das vierte Übungsblatt
MehrInformatik. Teil 1 Wintersemester 2011/2012. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik
Informatik Teil 1 Wintersemester 2011/2012 Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Dieser Foliensatz wurde z.t. von Herrn Prof. Grossmann übernommen Inhalt 1. Algorithmen -
MehrKapitel 1: Informationsverarbeitung durch Programme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel 1: Informationsverarbeitung
MehrBKTM - Programmieren leicht gemacht.
BKTM Programmieren leicht gemacht. + Struktogramm Das Struktogramme ist eine Entwurfsmethode für die strukturierte Programmierung. Es ist nach der DIN 66261 genormt. Es ist 1972/73 von Dr. Isaac Nassi
MehrKapitel 1 Einleitung. Definition: Algorithmus nach M. Broy: aus: Informatik: Eine grundlegende Einführung, Band 1, Springer-Verlag, Berlin
Kapitel 1 Einleitung 1.1. Begriff des Algorithmus Eine der ältesten Beschreibungstechniken für Abläufe: Benannt nach dem Mathematiker Al-Khwarizmi (ca. 780...840), der am Hof der Kalifen von Bagdad wirkte.
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren Teilnehmerkreis und Voraussetzungen Studiengänge
MehrInformatik. Teil 1 - Sommersemester Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik
Informatik Teil 1 - Sommersemester 2011 Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Dieser Foliensatz wurde z.t. von Herrn Prof. Grossmann übernommen Inhalt 0. Rechner und Programmierung
MehrIdeen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn
Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn 26. Oktober 2015 Programme und Algorithmen Programmiersprache = Kunstsprache mit genau definierter Syntax (was ist ein zulässiger
MehrProgrammiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 5. Kontrollstrukturen Allgemein Kontrollstrukturen dienen zur Steuerung des Programmablaufs. (Bemerkung: C und C++ besitzen die selben Kontrollstrukturen.)
MehrGrundlagen der Informatik I (Studiengang Medieninformatik)
Grundlagen der Informatik I (Studiengang Medieninformatik) Thema: 3. Datentypen, Datenstrukturen und imperative Programme Prof. Dr. S. Kühn Fachbereich Informatik/Mathematik Email: skuehn@informatik.htw-dresden.de
MehrAlgorithmen und Datenstrukturen
Universität Innsbruck Institut für Informatik Zweite Prüfung 16. Oktober 2008 Algorithmen und Datenstrukturen Name: Matrikelnr: Die Prüfung besteht aus 8 Aufgaben. Die verfügbaren Punkte für jede Aufgabe
MehrIntensivübung zu Algorithmen und Datenstrukturen
Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik Was ist ein Algorithmus? Ein Algorithmus ist eine eindeutige Handlungsvorschrift, [bestehend] aus endlich vielen, wohldefinierten
Mehr{P} S {Q} {P} S {Q} {P} S {Q} Inhalt. Hoare-Kalkül. Hoare-Kalkül. Hoare-Tripel. Hoare-Tripel. Hoare-Tripel
Inhalt Hoare-Kalkül Formale Verifizierung Hoare-Kalkül while-sprache Terminierung Partielle / totale Korrektheit 4.0 Hoare-Kalkül entwickelt von C.A.R. (Tony) Hoare (britischer Informatiker), 1969 formales
MehrEinführung in die Informatik
Einführung in die Informatik Christian Rössl Wintersemester 2017/18 Einführung in die Informatik Christian Rössl EinfInf 2017: Übersicht 2 Berechenbarkeit Rekursion Java Analyse Theoretische Grundlagen
MehrAlgorithmen und Berechnungskomplexität I
Algorithmen und Berechnungskomplexität I Prof. Dr. Institut für Informatik Wintersemester 2013/14 Organisatorisches Vorlesung Dienstag und Donnerstag, 12:30 14:00 Uhr (HS 1) Übungen 16 Übungsgruppen Anmeldung
MehrEinstieg in die Informatik mit Java
1 / 28 Einstieg in die Informatik mit Java Algorithmen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 28 1 Überblick 2 Algorithmus 3 Grundalgorithmen in Java 4 Flussdiagramme
MehrUE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 1
UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 1 Darstellungsarten von Algorithmen Umgangssprache Stilisierte Prosa Ablauf-/Struktogramme Jana Programmiersprache Institut für Pervasive
MehrFACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung
C Sprachelemente für Übung 2 Typumwandlungen (type casts) Bei Ausdrücken, in denen Operanden mit unterschiedlichem Typ vorkommen, werden diese vom Compiler vor der Ausführung automatisch in einen gemeinsamen
MehrUE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 1
UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 1 Darstellungsarten von Algorithmen Umgangssprache Stilisierte Prosa Ablauf-/Struktogramme Jana Programmiersprache Institut für Pervasive
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,
MehrMathematik für Informatiker I
Mathematik für Informatiker I Mitschrift zur Vorlesung vom 19.10.2004 In diesem Kurs geht es um Mathematik und um Informatik. Es gibt sehr verschiedene Definitionen, aber für mich ist Mathematik die Wissenschaft
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen VO 708.031 Um was geht es? Datenstrukturen Algorithmen Algorithmus Versuch einer Erklärung: Ein Algorithmus nimmt bestimmte Daten als Input und transformiert diese nach festen
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Einleitung und Grundlagen Maike Buchin 18.4.2017 Verantwortliche Dozentin Organisation der Übungen Übungsleiter Korrekteure Maike Buchin Maike.Buchin@rub.de Raum NA 1/70 Sprechzeiten:
MehrC++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22
C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven
MehrWillkommen zur Vorlesung. Algorithmen und Datenstrukturen
Willkommen zur Vorlesung Algorithmen und Datenstrukturen Mein Name: Andreas Berndt Zum Dozenten Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen Derzeitige Sprachen:
MehrAlgorithmen und Datenstrukturen
Lehrstuhl für Informatik I Algorithmen und Datenstrukturen Wintersemester 2013/14 Organisatorisches Vorlesung: Übungsbetreuung: Übungen: Programmiertutorium: Alexander Wolff (E29) Krzysztof Fleszar (E13)
Mehr15. Elementare Graphalgorithmen
Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen
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
MehrVorlesung Programmieren
Vorlesung Programmieren Organisation Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Ziele dieser Veranstaltung Ziel: Wissen, wie man Computerprogramme
MehrFlussdiagramm / Programmablaufplan (PAP)
Flussdiagramm / Programmablaufplan (PAP) Basissysmbole Grenzstelle (Anfang, Zwischenhalt oder Ende des Programms/Algorithmus) Verbindung Zur Verdeutlichung der Ablaufrichtung werden Linien mit einer Pfeilspitze
MehrGrundlagen der Programmierung
Grundlagen der Programmierung Dr. Tom Kamphans 1. Vorlesung 12.10.2016 1 Organisatorisches Vorlesung: Mittwochs 14:00 15:30, Raum F 201 Übung: Mittwochs 15:45 19:00, Raum F 225 Übung: alle zwei Wochen
Mehr2 Teil 2: Nassi-Schneiderman
2 Teil 2: Nassi-Schneiderman Wie kann man Nassi-Schneiderman in einer objektorientierten Sprache verwenden? Jedes Objekt besitzt Methoden, welche die Attribute des Objektes verändern. Das Verhalten der
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 Organisatorisches Vorlesung: Übungsbetreuung: Übungen: Programmierübungen: Alexander Wolff (E29) Jan Haunert (E27) Markus Ankenbrand Titus Dose Alexej
MehrSteuerung von Programmabläufen. Lehrstuhl für Angewandte Mathematik Sommersemester Mai und 15. Mai 2008
Steuerung von Programmabläufen Vorlesung Computergestützte Mathematik zur Linearen Algebra Lehrstuhl für Angewandte Mathematik Sommersemester 2008 8. Mai und 15. Mai 2008 For-Schleifen Bisher: Matlab -Kommandos
Mehr1. Einführung. Was ist ein Algorithmus (eine Datenstruktur)? Welche Probleme kann man damit lösen? Warum betrachten wir (effiziente) Algorithmen?
1. Einführung Was ist ein Algorithmus (eine Datenstruktur)? Welche Probleme kann man damit lösen? Warum betrachten wir (effiziente) Algorithmen? Wie beschreiben wir Algorithmen? Nach welchen Kriterien
MehrDatenstrukturen und Algorithmen 2. Klausur SS 2001
UNIVERSITÄT PADERBORN FACHBEREICH 7 (MATHEMATIK INFORMATIK) Datenstrukturen und Algorithmen 2. Klausur SS 200 Lösungsansätze Dienstag, 8. September 200 Name, Vorname:...................................................
MehrTeil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik
Grundlagen der Programmierung 1 Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2 Softwaretechnik Prof. Dr. O. Drobnik Professur Architektur und Betrieb verteilter Systeme Institut für
MehrArbeitsblätter für Algorithmierung und Strukturierung C #
Prof. Dr.- Ing. Ch. Wahmkow Fachbereich Maschinenbau Fachhochschule Stralsund Arbeitsblätter für Algorithmierung und Strukturierung C # Inhalt : Struktogramme, Beispiele und Erläuterungen - Sequenz - vollständige
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2016 Patrick Schäfer, Humboldt-Universität zu Berlin Organisation Vorlesung: Montag 11 13 Uhr Marius Kloft RUD 26, 0 115 Mittwoch 11 13 Uhr Marius Kloft
MehrKomplexitätstheorie. Vorlesung im Sommersemester 2009
Komplexitätstheorie Vorlesung im Sommersemester 2009 Organisatorisches Zeit und Ort: Di 17-19 und Do 15-17 MZH 7250 Vortragender: Prof. Carsten Lutz Raum 3090 Tel. (218)-64431 clu@informatik.uni-bremen.de
MehrInformatik 1. Teil 1 - Wintersemester 2012/2013. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik
Informatik 1 Teil 1 - Wintersemester 2012/2013 Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Dieser Foliensatz wurde z.t. von Herrn Prof. Grossmann übernommen 0. Rechner und Programmierung
MehrString - Matching. Kapitel Definition
Kapitel 1 String - Matching 1.1 Definition String - Matching ( übersetzt in etwa Zeichenkettenanpassung ) ist die Suche eines Musters ( Pattern ) in einem Text. Es findet beispielsweise Anwendung bei der
MehrTheoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit. Sommersemester Herzlich willkommen!
Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit Sommersemester 2012 Prof. Dr. Nicole Schweikardt AG Theorie komplexer Systeme Goethe-Universität Frankfurt am Main Herzlich willkommen!
MehrDatenstrukturen, Algorithmen und Programmierung 2
Datenstrukturen, Algorithmen und Programmierung 2 Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 1. VO SS 2009 14. April 2009 Petra Mutzel Kurzvorstellung
MehrSAGE Computeralgebrapraktikum: Elementare Zahlentheorie und Anwendungen. Prof. Dr. Wolfram Koepf Prof. Dr. Werner Seiler WS 2014
SAGE Computeralgebrapraktikum: Elementare Zahlentheorie und Anwendungen Prof. Dr. Wolfram Koepf Prof. Dr. Werner Seiler WS 2014 Frühstudium Alle Teilnehmer dieses Praktikums können sich zum Frühstudium
MehrEntwurf von Algorithmen - Kontrollstrukturen
Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer
MehrOperations Research I
Operations Research I Lineare Programmierung Prof. Dr. Peter Becker Fachbereich Informatik Hochschule Bonn-Rhein-Sieg Sommersemester 2015 Peter Becker (H-BRS) Operations Research I Sommersemester 2015
MehrName Klasse Datum. Kontrollstrukturen steuern die Ausführung von Anweisungen
Name Klasse Datum 1 Allgemeines In der Programmierung unterscheidet man prinzipiell zwischen: Einfachen Anweisungen (Zuweisungen); z.b. Radius = Durchmesser /2 Kontrollstrukturen Kontrollstrukturen steuern
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik Was ist ein Algorithmus? Ein Algorithmus ist eine eindeutige Handlungsvorschrift, [bestehend] aus endlich vielen, wohldefinierten
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 Einführende Beispiele 2. Algorithmen Täglich werden Verarbeitungsvorschriften
MehrDr. Monika Meiler. Inhalt
Inhalt 4 C-Anweisungen...4-2 4.1 Ausdrucksanweisungen...4-3 4.2 Zusammengesetzte Anweisungen (Anweisungsblöcke)...4-3 4.3 Schleifenanweisungen...4-4 4.3.1 while - Schleife...4-4 4.3.2 do - Schleife...4-5
MehrInterne Sortierverfahren
Angewandte Datentechnik Interne Sortierverfahren Interne Sortierverfahren Ausarbeitung einer Maturafrage aus dem Fach A n g e w a n d t e D a t e n t e c h n i k Andreas Hechenblaickner 5CDH HTBLA Kaindorf/Sulm
MehrAlgorithmen und Datenstrukturen VO 3.0 Vorlesungsprüfung 19. Oktober 2007
Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen 1 186.089 VO 3.0 Vorlesungsprüfung 19. Oktober
MehrAlgorithmen und Datenstrukturen Laufzeitabschätzung
Algorithmen und Datenstrukturen Laufzeitabschätzung Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Lernziele der Vorlesung Algorithmen Sortieren, Suchen,
MehrTheoretische Informatik
Theoretische Informatik Wintersemester 2016/2017 2V, Mittwoch, 12:00-13:30 Uhr, F303 2Ü, Dienstag, 12:00-13:30 Uhr, BE08 2Ü, Dienstag, 15:00-16:30 Uhr, B212 2Ü, Mittwoch, 8:30-10:00 Uhr, B312 Fachprüfung:
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2011 Lösungsblatt 9 25. Juli 2011 Einführung in die Theoretische Informatik
MehrAlgorithmik - Kompaktkurs
Algorithmik - Kompaktkurs Sommersemester 2012 Steffen Lange 0/1, Folie 1 2012 Prof. Steffen Lange - HDa/FbI - Algorithmik Organisatorisches Vorlesung Folien im Netz (/* bitte zur Vorlesung mitbringen */)
MehrDatenstrukturen und Algorithmen
Joost-Pieter Katoen Datenstrukturen und Algorithmen 1/54 Datenstrukturen und Algorithmen Vorlesung 1: Algorithmische Komplexität Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification
MehrFachhochschule Südwestfalen Wir geben Impulse. Kontrollstrukturen und Schleifen in Octave
Fachhochschule Südwestfalen Wir geben Impulse Kontrollstrukturen und Schleifen in Octave Einführung Inhalt m-files Script-Files Function-Files Ein- Ausgabe von Variablen oder Ergebnissen For-Schleife While-Schleife
Mehr8.1.3 Operation Build-Max-Heap Operation zur Konstruktion eines Heaps Eingabe: Feld A[1..n], n = länge(a) BUILD-MAX-HEAP (A)
Stand der Vorlesung: Datenstruktur Heap: fast vollständiger Binärbaum MaxHeap: sortierter Heap, größtes Element an Wurzel Sortierverfahren: HeapSort: Sortieren eines Feldes A[1.. n] Idee: in place: Feld
MehrTechnische Universität München
Stand der Vorlesung: Datenstruktur Heap: fast vollständiger Binärbaum MaxHeap: sortierter Heap, größtes Element an Wurzel Sortierverfahren: HeapSort: Sortieren eines Feldes A[1.. n] Idee: in place: Feld
MehrAlgorithmus. Was ist ein Algorithmus? Ibn Musa Al-Chwarismi persischer Mathematikers 9. Jahrhundert Buch: Regeln der Wiedereinsetzung und Reduktion.
Algorithmus Was ist ein Algorithmus? Ibn Musa Al-Chwarismi persischer Mathematikers 9. Jahrhundert Buch: Regeln der Wiedereinsetzung und Reduktion. Hier einige informelle Erklärungen zum Algorithmus P
MehrDank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung
Dank Vorlesung Theoretische Informatik II Bernhard Beckert Institut für Informatik Diese Vorlesungsmaterialien basieren zum Teil auf den Folien zu den Vorlesungen von Katrin Erk (gehalten an der Universität
Mehr2.4 Schleifen. Schleifen unterscheiden sich hinsichtlich des Zeitpunktes der Prüfung der Abbruchbedingung:
2.4 Schleifen Schleifen beschreiben die Wiederholung einer Anweisung bzw. eines Blocks von Anweisungen (dem Schleifenrumpf) bis eine bestimmte Bedingung (die Abbruchbedingung) eintritt. Schleifen unterscheiden
MehrEinführung in die Programmierung für NF. Algorithmen, Datentypen und Syntax
Einführung in die Programmierung für NF Algorithmen, Datentypen und Syntax Ziele Begriffsbildungen: InformaCk, Algorithmus, Programm, Compiler und andere Einordnung von Java Ein einfaches Java- Programm
MehrEinführung in die Informatik I (autip)
Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Der Begriff des Algorithmus Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 48 Der Begriff
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 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
MehrKapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte
Elementare Schritte Ein elementarer Berechnungsschritt eines Algorithmus ändert im Allgemeinen den Wert von Variablen Zuweisungsoperation von fundamentaler Bedeutung Zuweisungsoperator In Pascal := In
MehrHydroinformatik I: Synthese-Übung Sprachelemente
Hydroinformatik I: Synthese-Übung Sprachelemente Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 29.
MehrLernziele Ablauf Übungsaufgaben Formalitäten. Programmierpraktika. Einführung in das Programmieren und Weiterführendes Programmieren
Programmierpraktika Einführung in das Programmieren und Weiterführendes Programmieren Prof. H. G. Matthies, Dr. Elmar Zander Präsentation: Dr. Th. Grahs 7.4.2016 Programmierpraktika 7.4.2016 1/15 Lernziele
Mehr