Grundlagen der Programmierung
|
|
|
- Dirk Kaufman
- vor 8 Jahren
- Abrufe
Transkript
1 GdP12 Slide 1 Grundlagen der Programmierung Vorlesung 12 Sebastian Iwanowski FH Wedel
2 GdP12 Slide 2 Entwurf von Algorithmen Wie klassifiziert man Algorithmen? offensichtlich nicht durch die Unterscheidung rekursiv / iterativ! Unterscheidung nach Lösungsstrategie (greedy, divide and conquer,...) schon besser! Welche Implementierungsvariante (rekursiv / iterativ) ist zu einem gegebenen Algorithmus zu bevorzugen?
3 GdP12 Slide 3 Entwurf von Algorithmen Welche Lösungsstrategie ist für ein gegebenes Problem besser? Unterscheiden sich die Algorithmen, die zu einer Lösungsstrategie gehören? Wie unterscheidet man zwischen Implementierungsvarianten desselben Algorithmus und zwei verschiedenen Algorithmen?
4 Grundlagen der Programmierung 1. Einführung Grundlegende Eigenschaften von Algorithmen und Programmen 2. Logik Aussagenlogik Prädikatenlogik 3. Programmentwicklung und verifikation Grundlagen der Programmverifikation Zuweisungen und Verbundanweisungen Verzweigungen Schleifen Modularisierung Rekursion 4. Entwurf und Analyse von Algorithmen Klassifikation von Algorithmen Programmierung von Algorithmen Bewertung von Algorithmen GdP12 Slide 4
5 GdP12 Slide 5 Was wird bewertet? Bewertung von Algorithmen benötigte Rechenzeit benötigter Speicherplatz Welche Eigenschaften sollte eine Bewertung haben? unabhängig von der Implementierung unabhängig vom eingesetzten Computer Wie ist das möglich?
6 GdP12 Slide 6 Bewertung von Algorithmen Der Schlüssel zum Erfolg: Die Turingmaschine von Alan Turing 1937 konstruierter theoretischer Urcomputer Für jeden bis heute konstruierten Computer gilt: Wenn ein Problem der Größe n auf einer Turingmaschine f(n) Rechenschritte braucht, dann benötigt es auf einem anderen Computer c f(n) Rechenschritte. Hierbei ist c eine Konstante, die nur vom Computer abhängt und für alle Algorithmen gilt. Daraus abgeleitetes Grundprinzip: Vernachlässige Konstante, die nicht von der Problemgröße abhängen!
7 GdP12 Slide 7 Bewertung von Algorithmen Definition Komplexitätsklasse: Ein Algorithmus gehört bzgl. der Rechenzeit (des Speicherplatzes) zur Komplexitätsklasse O(f(n)), wenn es eine Konstante c gibt, sodass gilt: Die Rechenzeit (Der Speicherplatz) für ein Problem der Größe n benötigt maximal c f(n) Rechenschritte (Speicherplätze). c darf nicht von der Problemgröße n abhängen. c darf vom Algorithmus abhängen. c darf vom Computer und von der Implementierung abhängen. O wird das Landau-Symbol genannt (nach Edmund Landau, ) Typische Komplexitätsklassen von Algorithmen: O(1), O(log n), O(n), O(n log n), O (n 2 ), O(2 n ) O(P(n)), wobei P ein Polynom ist
8 Bewertung von Algorithmen Bewertung von Algorithmen Gegeben ein Algorithmus: Finde die günstigste Komplexitätsklasse bzgl. Laufzeit und Speicherplatz: im ungünstigsten Fall (worst case) im Durchschnittsfall (average case) Beispiele: Lineare Suche: DC-Suche : Binärsuche: Laufzeit: O(n) O(n) O(log n) GdP12 Slide 8 Speicherplatz: O(n) O(n) O(n) Selectionsort: O(n 2 ) O(n) Mergesort: O(n log n) O(n) Quicksort: O(n 2 ) w.c. O(n log n) a.c. O(n)
9 GdP12 Slide 9 Bewertung von Algorithmen Bewertung von Problemen Gegeben ein Problem: Finde die günstigste Komplexitätsklasse, zu der es einen Algorithmus gibt, der das Problem im allgemeinen Fall löst. Ein Problem gehört bzgl. der Rechenzeit (des Speicherplatzes) zur Komplexitätsklasse Ω(f(n)), wenn es eine Konstante c gibt, so dass gilt: Die Rechenzeit (Der Speicherplatz) jedes Algorithmus für das Problem der Größe n benötigt mindestens c f(n) Rechenschritte (Speicherplätze). Beispiele: Laufzeit: Speicherplatz: Allgemeine Suche: Ω(n) Ω(n) Allgemeines Sortieren: Ω(n log n) Ω(n)
10 GdP12 Slide 10 NP-Vollständigkeit NP-vollständige Probleme sind folgendermaßen charakterisiert: Das Problem ist auf einer (hypothetischen) nichtdeterministischen Turingmaschine in polynomialer Zeit (O(P(n) für ein Polynom P) lösbar. Jedes NP-vollständige Problem ist genau dann auf einer normalen Turingmaschine in polynomialer Zeit lösbar, wenn alle NP-vollständigen Probleme auf einer normalen Turingmaschine in polynomialer Zeit lösbar sind. Offene Frage der Informatik: 1) Sind NP-vollständige Probleme auf einer normalen Turingmaschine in polynomialer Zeit lösbar? 2) Gehören sie zu einer Komplexitätsklasse Ω(f(n)), wobei f(n) stärker wächst als jedes Polynom P(n)?
11 GdP12 Slide 11 Was ist für die Klausur relevant? Vorlesung 1: Überblick / Grundlegende Eigenschaften Grundlegende Begriffe und Konzepte: Funktion, Spezifikation, Algorithmus, Programm, Verifikation, Konstruktion und alles, was damit zusammenhängt. Fähigkeit, die Konzepte an Minibeispielen anzuwenden. Vorlesung 2: Aussagenlogik Grundlegende Begriffe wie Aussage, Wahrheitswert, Formel, Belegung, Erfüllbarkeit. Sicherer Umgang mit aussagenlogischen Umformungen, eindeutige und exakte Notation. Konjunktive Normalform: Begriffe und Fähigkeit der Umformung in eine solche. Vorlesung 3-4: Prädikatenlogik Unterschied zur Aussagenlogik: Variable, Prädikate, Funktionen, Quantoren. Erklären dieser Begriffe an Beispielen, aktive und passive Beherrschung der Notation. Rechenregeln für Quantoren, Anwendung der Prädikatenlogik auf Minibeispiele aus dem täglichen Leben und der Arithmetik.
12 Was ist für die Klausur relevant? Vorlesung 5: Grundlagen der Programmverifikation Hoare-Tripel: Aktive und passive Beherrschung der Notation. Zusammenhang zwischen unterschiedlichen Stärken von Vorbedingungen und Nachbedingungen, Exakte Verifikation kleinster Programmteile: Finden von stärksten Nachbedingungen und schwächsten Vorbedingungen. Vorlesung 6: Verzweigungen Finden von stärksten Nachbedingungen und schwächsten Vorbedingungen in Anwendungsbeispielen. Vorlesung 7-8: Schleifen Bestimmung und Verifikation von Invariantenbedingungen sowie von Variantenzahlen für die Terminierung, Verifikation von kleinen Schleifen entweder mit vollständiger Induktion oder mit dem Invarianten/Variantenverfahren Vorlesung 8: Modularisierung Parameter, Rückgabewerte: Erklärung der Bedeutung und Verwendung, Anwendung in Minibeispielen. Call-by-reference und call-by-value: Erklärung der Unterschiede, Vorteile und Nachteile der beiden Parameterübergabetechniken. GdP12 Slide 12
13 GdP12 Slide 13 Was ist für die Klausur relevant? Vorlesung 9-10: Rekursion Nachvollziehen des Programmablaufs vorgegebener rekursiver Programme, Bestimmen von notwendigen Vorbedingungen. Erklärung der Konzepte primitiv rekursiv, endrekursiv und linear rekursiv. Erkennen dieser Konzepte an Beispielen. Umformung von endrekursiven Programmen in Schleifen. Vor- und Nachteile der rekursiven Formulierung gegenüber der iterativen. Vorlesung 11-12: Entwurf und Analyse von Algorithmen Grundideen der Algorithmen Lineare Suche, Binärsuche, Selectionsort und Mergesort, Kenntnis der Komplexitätseigenschaften dieser Algorithmen, Begründung, warum Komplexitätsklassen ein gutes Maß zur Bewertung von Algorithmen sind (zum Beispiel im Vergleich zu iterativ / rekursiv).
14 Das war die Vorlesung Grundlagen der Programmierung GdP12 Slide 14
Grundlagen der Programmierung
GdP4 Slide 1 Grundlagen der Programmierung Vorlesung 4 vom 04.11.2004 Sebastian Iwanowski FH Wedel Grundlagen der Programmierung 1. Einführung Grundlegende Eigenschaften von Algorithmen und Programmen
Grundlagen der Theoretischen Informatik
FH Wedel Prof. Dr. Sebastian Iwanowski GTI22 Folie 1 Grundlagen der Theoretischen Informatik Sebastian Iwanowski FH Wedel Kap. 2: Logik, Teil 2.2: Prädikatenlogik FH Wedel Prof. Dr. Sebastian Iwanowski
es gibt Probleme, die nicht berechenbar sind (z.b. Menge aller Funktionen N N und die Menge aller Sprachen sind überabzählbar)
Komplexitätstheorie es gibt Probleme, die nicht berechenbar sind (z.b. Menge aller Funktionen N N und die Menge aller Sprachen sind überabzählbar) andere Probleme sind im Prinzip berechenbar, möglicherweise
Notation für das asymptotische Verhalten von Funktionen
Vorbemerkungen: Notation für das asymptotische Verhalten von Funktionen 1. Aussagen über die Komplexität von Algorithmen und von Problemen sollen (in der Regel) unabhängig von speziellen Maschinenmodellen
Präsenzübung Datenstrukturen und Algorithmen SS 2014
Prof. aa Dr. E. Ábrahám F. Corzilius, S. Schupp, T. Ströder Präsenzübung Datenstrukturen und Algorithmen SS 2014 Vorname: Nachname: Studiengang (bitte genau einen markieren): Informatik Bachelor Informatik
Einführung (1/3) Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (1) Vorlesungen zur Komplexitätstheorie.
Einführung (1/3) 3 Wir verfolgen nun das Ziel, Komplexitätsklassen mit Hilfe von charakteristischen Problemen zu beschreiben und zu strukturieren Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit
f 1 (n) = log(n) + n 2 n 5 f 2 (n) = n 3 + n 2 f 3 (n) = log(n 2 ) f 4 (n) = n n f 5 (n) = (log(n)) 2
Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS Lösung - Präsenzübung.05.0 F. Corzilius, S. Schupp, T. Ströder Aufgabe (Asymptotische Komplexität): (6 + 0 + 6 = Punkte) a) Geben Sie eine formale
Einige Grundlagen der Komplexitätstheorie
Deterministische Polynomialzeit Einige Grundlagen der Komplexitätstheorie Ziel: NP-Vollständigkeit als ressourcenbeschränktes Analagon zur RE-Vollständigkeit. Komplexitätstheorie untersucht den Ressourcenbedarf
Ü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
Übungen zu Algorithmentechnik WS 09/10
Übungen zu Algorithmentechnik WS 09/10 1. Kurzsitzung Thomas Pajor 22. Oktober 2009 1/ 25 Eure Übungsleiter Tanja Hartmann [email protected] Raum 306, Gebäude 50.34 Thomas Pajor [email protected] Raum 322,
Algorithmen und Datenstrukturen Effizienz und Funktionenklassen
Algorithmen und Datenstrukturen Effizienz und Funktionenklassen Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Lernziele der Vorlesung Algorithmen Sortieren,
Komplexitätsklassen THEORETISCHE INFORMATIK VORGETRAGEN VON: ELIAS DROTLEFF
Komplexitätsklassen THEORETISCHE INFORMATIK VORGETRAGEN VON: ELIAS DROTLEFF Einflussgrößen bei der Bildung von Komplexitätsklassen Das zugrunde liegende Berechnungsmodell (Turingmaschine, Registermaschine
3.3 Laufzeit von Programmen
3.3 Laufzeit von Programmen Die Laufzeit eines Programmes T(n) messen wir als die Zahl der Befehle, die für die Eingabe n abgearbeitet werden Betrachten wir unser Programm zur Berechnung von Zweierpotenzen,
Komplexität von Algorithmen OOPM, Ralf Lämmel
Ganz schön komplex! Komplexität von Algorithmen OOPM, Ralf Lämmel 885 Motivierendes Beispiel Algorithmus Eingabe: ein Zahlen-Feld a der Länge n Ausgabe: Durchschnitt Fragen: sum = 0; i = 0; while (i
Vorlesung Datenstrukturen
Vorlesung Datenstrukturen Einleitung und Grundlagen Maike Buchin 18.4.2017 Verantwortliche Dozentin Organisation der Übungen Übungsleiter Korrekteure Maike Buchin [email protected] Raum NA 1/70 Sprechzeiten:
Logik für Informatiker
Vorlesung Logik für Informatiker 5. Aussagenlogik Normalformen Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Normalformen Definition: Literal Atom (aussagenlogische
UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 5. Asymptotische Laufzeitkomplexität Definition Regeln Beispiele
UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 5 Asymptotische Laufzeitkomplexität Definition Regeln Beispiele Institut für Pervasive Computing Johannes Kepler Universität Linz Altenberger
Algorithmen und Datenstrukturen 1 Kapitel 5
Algorithmen und Datenstrukturen 1 Kapitel 5 Technische Fakultät [email protected] Vorlesung, U. Bielefeld, Winter 2005/2006 Kapitel 5: Effizienz von Algorithmen 5.1 Vorüberlegungen Nicht
Übung Theoretische Grundlagen
Übung Theoretische Grundlagen Komplexitätstheorie Nico Döttling 8. Januar 2010 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in
Kapitel 10. Komplexität von Algorithmen und Sortieralgorithmen
Kapitel 10 Komplexität von Algorithmen und Sortieralgorithmen Arrays 1 Ziele Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
Statt Turingmaschinen anzugeben, genügt die Angabe eines C++ Programms oder die Angabe eines Pseudocodes.
Turingmaschinen Wir haben Turingmaschinen eingeführt. Bis auf einen polynomiellen Anstieg der Rechenzeit haben Turingmaschinen die Rechenkraft von parallelen Supercomputern! Statt Turingmaschinen anzugeben,
Abschnitt 7: Komplexität von imperativen Programmen
Abschnitt 7: Komplexität von imperativen Programmen 7. Komplexität von imperativen Programmen 7 Komplexität von imperativen Programmen Einf. Progr. (WS 08/09) 399 Ressourcenbedarf von Algorithmen Algorithmen
Grundlagen der Programmierung
GdP2 Slide 1 Grundlagen der Programmierung Vorlesung 2 Sebastian Ianoski FH Wedel GdP2 Slide 2 Beispiel ür eine Programmveriikation Gegeben sei olgender Algorithmus: i (x>0) ((y+x) 0) then z := x y else
Hier ist ein einfaches Turingprogramm. Außer dem Leerzeichen ist das Band nur mit. 1 belegt.
Die Turingmaschine besteht aus der Steuereinheit, die verschiedene Zustände annimmt dem Band, welches unendlich ausgedehnt ist, aber nur auf einem endlichem Bereich mit Zeichen aus einem Alphabet beschrieben
Komplexität eines Algorithmus, Grössenordnung, Landau-Symbole, Beispiel einer Komplexitätsberechnung (Mergesort) 7. KOMPLEXITÄT
Komplexität eines Algorithmus, Grössenordnung, Landau-Symbole, Beispiel einer Komplexitätsberechnung (Mergesort) 7. KOMPLEXITÄT Komplexität eines Algorithmus Algorithmen verbrauchen Ressourcen Rechenzeit
Komplexität von Algorithmen Musterlösungen zu ausgewählten Übungsaufgaben
Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekte mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten
Klausur Algorithmen und Datenstrukturen
Technische Universität Braunschweig Wintersemester 2013/2014 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Stephan Friedrichs Klausur Algorithmen und
Informatik II. Algorithmen und Datenstrukturen. Vorläufige Version 1 c 2002 Peter Thiemann
Informatik II Algorithmen und Datenstrukturen Vorläufige Version 1 c 2002 Peter Thiemann 1 Einführung 1.1 Inhalt Wichtige Datentypen und ihre Implementierung (Datenstrukturen) Operationen auf Datenstrukturen
Die Komplexitätsklassen P und NP
Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen November 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und
Prof. Dr. Margarita Esponda
Analyse von Algorithmen Die O-Notation WS 2012/2013 Prof. Dr. Margarita Esponda Freie Universität Berlin 1 Korrekte und effiziente Lösung von Problemen Problem Wesentlicher Teil der Lösung eines Problems.
Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 2 Prof. Dr. Helmut Seidl, S. Pott,
Klausur Algorithmen und Datenstrukturen
Technische Universität Braunschweig Wintersemester 2017/2018 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Christian Rieck Arne Schmidt Klausur Algorithmen
Einführung in die Theoretische Informatik
Einführung in die Theoretische Informatik Maximilian Haslbeck Fabian Mitterwallner Georg Moser David Obwaller cbr.uibk.ac.at Zusammenfassung der letzten LVA Definition Eine Registermaschine (RM) R ist
Ziele. Kapitel 10: Komplexität von Algorithmen und Sortierverfahren. Beispiel: Lineare Suche eines Elements in einem Array (1)
Einführung in die Informatik: Programmierung und Softwareentwicklung Wintersemester 2018/19 Ziele Kapitel 10: Komplexität von Algorithmen und Sortierverfahren Prof. Dr. David Sabel Lehr- und Forschungseinheit
A6.1 Logarithmus. Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. A6.1 Logarithmus. A6.2 Landau-Notation. A6.
Algorithmen und Datenstrukturen 8. März 2018 A6. Laufzeitanalyse: Logarithmus and Landau-Symbole Algorithmen und Datenstrukturen A6. Laufzeitanalyse: Logarithmus and Landau-Symbole Marcel Lüthi and Gabriele
Grundlagen: Algorithmen und Datenstrukturen
Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 2011 Übungsblatt 1 16. September 2011 Grundlagen: Algorithmen und
Karlsruher Institut für Technologie Institut für Theoretische Informatik. Übungsklausur Algorithmen I
Vorname: Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Jörn Müller-Quade 21.06.2017 Übungsklausur Algorithmen I Aufgabe 1. Kleinaufgaben 8 Punkte Aufgabe 2. Hashing 6 Punkte
2. Klausur Datenstrukturen und Algorithmen SS 2014
Prof. aa Dr. E. Ábrahám F. Corzilius, S. Schupp, T. Ströder 2. Klausur Datenstrukturen und Algorithmen SS 2014 Vorname: Nachname: Studiengang (bitte genau einen markieren): Informatik Bachelor Informatik
abgeschlossen unter,,,, R,
Was bisher geschah Turing-Maschinen können Sprachen L X akzeptieren entscheiden Funktionen berechnen f : X X (partiell) Menge aller Turing-akzeptierbaren Sprachen genau die Menge aller Chomsky-Typ-0-Sprachen
Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen
1 Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Ziele 2 Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
Algorithmen und Datenstrukturen
Technische Universität München SoSe 2017 Fakultät für Informatik, I-16 Lösungsblatt 4 Dr. Stefanie Demirci 31. Mai 2017 Rüdiger Göbl, Mai Bui Algorithmen und Datenstrukturen Aufgabe 1 Komplexität Berechnung
Kapitel 1.4. Exkurs: Entscheidbarkeit und Komplexität. Mathematische Logik (WS 2012/3) K. 1.4: Entscheidbarkeit und Komplexität 1/10
Kapitel 1.4 Exkurs: Entscheidbarkeit und Komplexität Mathematische Logik (WS 2012/3) K. 1.4: Entscheidbarkeit und Komplexität 1/10 Algorithmen Ein Algorithmus oder eine Rechenvorschrift ist ein effektives
Zeitkomplexität (1) Proseminar Theoretische Informatik. Proseminar Theoretische Informatik: Lisa Dohrmann 1
Zeitkomplexität (1) Proseminar Theoretische Informatik Proseminar Theoretische Informatik: Lisa Dohrmann 1 Warum Komplexitätsbetrachtung? Ein im Prinzip entscheidbares und berechenbares Problem kann in
Klausur Algorithmen und Datenstrukturen
Technische Universität Braunschweig Wintersemester 2014/2015 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Dr. Christian Scheffer Klausur Algorithmen
Einstieg 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
Algorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2014/15 3. Vorlesung Laufzeitanalyse Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Recap: Diskutieren Sie mit Ihrer NachbarIn! 1. 2. 3. Was sind
Einführung in die Informatik 2
Einführung in die Informatik 2 NP-Vollständigkeit Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 [email protected] Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v.
Kapitel 2. Weitere Beispiele Effizienter Algorithmen
Kapitel 2 Weitere Beispiele Effizienter Algorithmen Sequentielle Suche Gegeben: Array a[1..n] Suche in a nach Element x Ohne weitere Zusatzinformationen: Sequentielle Suche a[1] a[2] a[3] Laufzeit: n Schritte
8 Komplexitätstheorie
8 Komplexitätstheorie Formale Grundlagen der Informatik I Herbstsemester 2012 Robert Marti Vorlesung teilweise basierend auf Unterlagen von Prof. emer. Helmut Schauer Grundidee der Komplexitätstheorie
Grundlagen der Informatik
Jörn Fischer [email protected] Willkommen zur Vorlesung Grundlagen der Informatik ADS-Teil Page 2 Überblick Inhalt 1 Eigenschaften von Algorithmen Algorithmenbegriff O-Notation Entwurfstechniken
Übung zu Algorithmen und Datenstrukturen (für ET/IT)
Übung zu Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Jakob Vogel Computer-Aided Medical Procedures Technische Universität München Komplexität von Programmen Laufzeit kann näherungsweise
Christoph Niederseer, Michaela Mayr, Alexander Aichinger, Fabian Küppers. Wissenschaftl. Arbeitstechniken und Präsentation
Christoph Niederseer, Michaela Mayr, Alexander Aichinger, Fabian Küppers 1. Was ist paralleles Programmieren 2. Bitoner Sortieralgorithmus 3. Quicksort a) sequenzielles Quicksort b) paralleles Quicksort
Das große O. Aufwandsklasse O(g) für g : N R + enthält alle Funktionen f : N R + mit. f(n) c g(n) für alle n n 0
1 Das große O Aufwandsklasse O(g) für g : N R + enthält alle Funktionen f : N R + mit f(n) c g(n) für alle n n 0 c, n 0 : konstant und größer als 0 O(g) beschreibt alle Probleme, die eine algorithmische
Achtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass
Achtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass f O g und auch g O f. Wähle zum Beispiel und G. Zachmann Informatik
Theoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 16.11.2010 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
Klausur Algorithmen und Datenstrukturen
Technische Universität Braunschweig Wintersemester 2016/2017 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Phillip Keldenich Arne Schmidt Klausur Algorithmen
Komplexität von Algorithmen
Komplexität von Algorithmen Ziel Angabe der Effizienz eines Algorithmus unabhängig von Rechner, Programmiersprache, Compiler. Page 1 Eingabegröße n n Integer, charakterisiert die Größe einer Eingabe, die
Übung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Die Landau-Notation (Wiederholung und Vertiefung) 2. Vorbereitung Aufgabenblatt 1, Aufgabe 1
Klausur Algorithmen und Datenstrukturen
Technische Universität Braunschweig Sommersemester 2018 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Christian Rieck Arne Schmidt Klausur Algorithmen
Programmierung 1 (Wintersemester 2012/13) Lösungsblatt 10 (Kapitel 11)
Fachrichtung 6.2 Informatik Universität des Saarlandes Tutorenteam der Vorlesung Programmierung 1 Programmierung 1 (Wintersemester 2012/13) Lösungsblatt 10 (Kapitel 11) Hinweis: Dieses Übungsblatt enthält
Übung zur Vorlesung Berechenbarkeit und Komplexität
RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein
Inhaltsverzeichnis. Einführende Bemerkungen 11. Das Fach Informatik 11 Zielsetzung der Vorlesung Grundbegriffe
Inhaltsverzeichnis Einführende Bemerkungen 11 Das Fach Informatik 11 Zielsetzung der Vorlesung 12 1. Grundbegriffe 1 3 1.1 1.2 1.3 1.4 1.5 1.6 1.7 Information und Nachricht 1.1.1 Information 1.1.2 Nachricht
Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen
Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Arrays 1 Ziele Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
Komplexität von Algorithmen:
Komplexität von Algorithmen: Ansatz: Beschreiben/erfassen der Komplexität über eine Funktion, zur Abschätzung des Rechenaufwandes abhängig von der Größe der Eingabe n Uns interessiert: (1) Wie sieht eine
Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8
ETH Zürich Institut für Theoretische Informatik Prof. Dr. Angelika Steger Florian Meier, Ralph Keusch HS 2017 Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 Lösungsvorschlag zu Aufgabe 1
Die asymptotische Notation
Die asymptotische Notation f, g : N R 0 seien Funktionen, die einer Eingabelänge n N eine nicht-negative Laufzeit f (n), bzw. g(n) zuweisen. Asymptotik 1 / 9 Die asymptotische Notation f, g : N R 0 seien
NAME, VORNAME: Studiennummer: Matrikel:
TU Ilmenau, Fakultat IA Institut für Theoretische Informatik FG Komplexitätstheorie und Effiziente Algorithmen Prof. Dr. (USA) M. Dietzfelbinger Klausur Algorithmen und Datenstrukturen SS08, Ing.-Inf.
Komplexität. G. Zachmann Clausthal University, Germany Leistungsverhalten von Algorithmen
lausthal Informatik II Komplexität von Algorithmen. Zachmann lausthal University, ermany [email protected] Leistungsverhalten von Algorithmen Speicherplatzkomplexität: Wird primärer & sekundärer
C. A. R. Hoare. An Axiomatic Basis for Computer Programming. Nicolas Schelp. Proseminar Assertions SS 2007
C. A. R. Hoare An Axiomatic Basis for Computer Programming Nicolas Schelp Proseminar Assertions SS 2007 Inhalt Motivation Kurze Biographie Der Hoare-Kalkül Axiome und Inferenzregeln des Hoare-Kalküls Die
Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung
Kapitel 6 Komplexität von Algorithmen 1 6.1 Beurteilung von Algorithmen I.d.R. existieren viele Algorithmen, um dieselbe Funktion zu realisieren. Welche Algorithmen sind die besseren? Betrachtung nicht-funktionaler
Kapitel 5: Paradigmen des Algorithmenentwurfs. Gliederung
Gliederung 1. Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs 6. Ausgewählte
Theoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 7. Dezember 2017 INSTITUT FÜR THEORETISCHE 0 07.12.2017 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität
Was bisher geschah Modellierung von Daten durch Mengen Beziehungen (Zusammenhänge und Eigenschaften) durch Relationen, Graphen und Funktionen
Was bisher geschah Modellierung von Daten durch Mengen Beziehungen (Zusammenhänge und Eigenschaften) durch Relationen, Graphen und Funktionen Anforderungen durch Logiken Modellierung zusammenhängender
