Algorithmen und Datenstrukturen Effizienz und Funktionenklassen
|
|
- Kristina Sommer
- vor 6 Jahren
- Abrufe
Transkript
1 Algorithmen und Datenstrukturen Effizienz und Funktionenklassen Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12
2 Lernziele der Vorlesung Algorithmen Sortieren, Suchen, Optimieren Datenstrukturen Repräsentation von Daten Listen, Stapel, Schlangen, Bäume Techniken zum Entwurf von Algorithmen Algorithmenmuster Greedy, Backtracking, Divide-and-Conquer Analyse von Algorithmen Korrektheit, Effizienz
3 Analyse von Algorithmen Korrektheit Ein korrekter Algorithmus stoppt (terminiert) für jede Eingabeinstanz mit der durch die Eingabe-Ausgabe-Relation definierten Ausgabe. Ein inkorrekter Algorithmus stoppt nicht oder stoppt mit einer nicht durch die Eingabe-Ausgabe-Relation vorgegebenen Ausgabe. Effizienz Bedarf an Speicherplatz und Rechenzeit Wachstum (Wachstumsgrad, Wachstumsrate) der Rechenzeit bei steigender Anzahl der Eingabe-Elemente (Laufzeitkomplexität)
4 Überblick Kontext Einführung Funktionenklasse Θ Definition, Illustration, Beispiele weitere Funktionenklassen Definition, Illustration, Beispiele Anwendung in der Laufzeitbeschreibung
5 Effizienz Bedeutung der Effizienz eines Algorithmus durch Begrenztheit von Ressourcen gegeben Sortieralgorithmus A benötigt Schritte für n Elemente Sortieralgorithmus B benötigt nlog 2 n Schritte für n Elemente Computer 1: 10 9 Schritte / s, Computer 2: 10 7 Schritte / s Eingabegröße: 10 6 Elemente Laufzeit: Algorithmus A Algorithmus B Computer 1 17 min 0.02 s Computer 2 2 d 8 h 2 s n 2
6 Effizienz Laufzeitkomplexität dominiert die benötigte Berechnungszeit für große Eingaben durch Hard- und Software bedingte Unterschiede weniger entscheidend Anmerkung: Speicherbedarf oder Kommunikationsbandbreite können auch bei der Effizienzanalyse relevant sein. Fokus auf Laufzeitkomplexität eines Algorithmus
7 Überblick Kontext Einführung Funktionenklasse Θ Definition, Illustration, Beispiele weitere Funktionenklassen Definition, Illustration, Beispiele Anwendung in der Laufzeitbeschreibung
8 Maschinenmodell Maschine mit wahlfreiem Speicherzugriff (RAM) mit einem Prozessor Speicherhierarchie wird vernachlässigt (z. B. Cache) kann Algorithmus als Programm ausführen Schritte eines Algorithmus sind zeitkonstante Anweisungen werden in konstanter Zeit ausgeführt Laufzeit unabhängig von der Eingabe Laufzeitunterschiede einzelner Schritte werden vernachlässigt. Addieren, Runden, Kopieren, bedingte Verzweigung, Aufruf eines Unterprogramms Sortieren ist kein Schritt (sinnvolle Definition von Schritten!)
9 Analyse der Laufzeiteffizienz Laufzeit hängt von der Komplexität der Eingabemenge ab oft die Anzahl der Elemente n Laufzeit wird oft durch eine Funktion der Anzahl der Eingabeelemente f (n) beschrieben Laufzeit von Algorithmus 1: Laufzeit von Algorithmus 2: f 1 (n)=n 7 5 +n+7 f 2 (n)=2n n+10 Wie vergleicht man die Effizienz der Algorithmen?
10 Analyse der Laufzeiteffizienz Zahl der Schritte (Laufzeit [s]) f2 (n)=2n n+10 Zahl der Schritte (Laufzeit [s]) f 1 (n)=n 7 5 +n+7 f 1 (n)=n 7 5 +n+7 f 2 (n)=2n n+10 Anzahl der Eingabeelemente n Anzahl der Eingabeelemente n entscheidend ist das Verhalten für große Eingaben
11 Wachstumsrate Üblicherweise interessiert nur der Term höchster Ordnung. Terme niedriger Ordnung werden ignoriert. Konstante Faktoren werden ignoriert. f 1 (n)=n 7 5 +n+7 f 2 (n)=2n n+10 n n 6 Wachstumsrate n 7 6 n 7 5 Algorithmus 2 ist effizienter als Algorithmus 1. asymptotisches Verhalten (Wie verhält sich die Funktion für Eingabegrößen gegen unendlich?)
12 Asymptotische Analyse Methode zur Einschätzung des Grenzverhaltens einer Funktion (bei uns Laufzeitverhalten für wachsende Eingabegrößen) Fokus auf den wesentlichen Trend des Grenzverhaltens ermöglicht die Einordnung von Funktionen in Funktionenklassen Beispielsweise können die Landau-Symbole Θ, Ο, Ω verwendet werden, um Klassen von Funktionen zu beschreiben. Funktionenklassen werden zur Beschreibung von Laufzeit bzw. Komplexität von Algorithmen verwendet (aymptotische Effizienz eines Algorithmus).
13 Überblick Kontext Einführung Funktionenklasse Θ Definition, Illustration, Beispiele weitere Funktionenklassen Definition, Illustration, Beispiele Anwendung in der Laufzeitbeschreibung
14 Landau-Symbol Θ f Θ(g): c 1 >0 c 2 >0 n 0 n>n 0 : c 1 g(n) f(n) c 2 g(n) f und g sind Funktionen, die Laufzeiten beschreiben: f, g: N R + f ist Element der Menge Theta von g, wenn zwei positive Konstanten c 1 und c 2 existieren, sodass der Funktionswert f(n) ab einem bestimmten n=n 0 immer zwischen c 1 g(n) und c 2 g(n) liegt. Wie sich f und g für n<n 0 verhalten, spielt keine Rolle. Anschaulich: f wächst genauso schnell wie g.
15 Illustration Zahl der Schritte (Laufzeit [s]) f Θ(g) c 2 g(n) f(n) c 1 g(n) n 0 n f und g haben die gleiche Größenordnung.
16 Beispiel f 1 (n)= 1 2 n2 +3n f 1 Θ(n 2 )? Existieren c 1, c 2, und n 0, sodass für n>n 0 gilt: c 1 n n2 +3n c 2 n 2?
17 Beispiel c n c 2 n Für : und n n 1 2 =c 1 n=1 Für : = 7 2 =c n2 +3n Θ(n 2 ), dafuern 1gilt: 1 2 n2 1 2 n2 +3n 7 2 n2
18 Beispiel Zahl der Schritte (Laufzeit [s]) 7 2 n2 c2=7/2 hätte man auch kleiner oder größer wählen können, spielt aber keine Rolle. 1 2 n2 +3n 1 2 n2 c1=1/2 hätte man auch kleiner wählen können, spielt aber keine Anzahl der Eingabeelemente n Rolle. c1 hätte nicht größer gewählt werden können, aber auch egal.
19 Beispiel f 1 (n)=n 3 f 1 Θ(n 2 )? Existieren c 1, c 2, und n 0, sodass für n>n 0 gilt: c 1 n 2 n 3 c 2 n 2? Für jedes c 2 existiert ein n mit n>c 2. c 1 n c 2 n 3 / Θ(n 2 )
20 Noch mehr Beispiele Es interessiert nur der Term höchster Ordnung, der am schnellsten wachsende Summand Terme niedriger Ordnung und Konstanten werden ignoriert. 2 n 2 +7 n 20 Θ(n 2 ) 2 n 2 +7 nlogn 20 Θ(n 2 ) 7 nlogn 20 / Θ(n 2 ) 5 / Θ(n 2 ) 2 n 2 +7 nlogn+n 3 / Θ(n 2 ) Laufzeit eines Algorithmus wird über Funktionenklasse beschrieben.
21 Typische Funktionenklassen zur Effizienzbeschreibung f Θ(1) f Θ(logn)=Θ(log 2 n) f Θ(n) f Θ(nlogn) f Θ(n 2 ) f Θ(n 3 ) f Θ(n k ) f Θ(2 n ) zeitkonstant, f ist beschränkt logarithmisch wachsende Funktionen linear wachsende Funktionen n-log-n wachsend, superlinear quadratisch wachsende Funktionen kubisch wachsende Funktionen polynomiell wachsende Funktionen exponentiell wachsende Funktionen
22 Praktische Relevanz der Funktionenklassen 1 Rechenschritt benötigt 0.001s Laufzeit / Komplexität Maximale Problemgröße bei gegebener Rechenzeit und Laufzeitkomplexität 1 Sekunde 1 Minute 1 Stunde n n n n
23 Praktische Relevanz der Funktionenklassen Rechner B 10fach schneller als Rechner A Maximale Problemgröße auf Rechner B bei gegebener Problemgröße p auf Rechner A Laufzeit / Problemgröße Komplexität auf Rechner B n 10 p n p n p 2 n p = p + log p =2 log p =2 p+log 2 10 Polynomielle Laufzeiten erlauben die Bearbeitung einer um einen Faktor größeren Problemgröße bei schnellerer Hard- / Software. Exponentielle Laufzeiten nicht.
24 Kurz zum Logarithmus Logarithmen lösen Gleichungen der Form bei gegebenen a und b: n=log b a a=b n Bezeichnungen: log e a=lna log 10 a=lga log 2 a=lda loga bei ist die Basis aus dem Kontext klar, bei uns oft 2
25 Illustration Zahl der Schritte (Laufzeit [s]) 2 6 = 64 log 2 n log e n 10 2 = 100 log 10 n Anzahl der Eingabeelemente n
26 Einige Rechenregeln Umkehrfunktionen b log b n =n log b (b n )=n Produktregel log b (m n)=log b m+log b n Potenzregel log b (n r )=r log b n Basisumrechnung log a n=log a blog b n konstant Θ(logn)=Θ(log b n) log 2 (256)=log =8 daher für beliebige Basis b und wir sind wieder beim Thema.
27 Zusammenfassung zu Θ Θ(g) f Θ(g) beschreibt eine Klasse von Funktionen, wenn f bis auf einen konstanten Faktor gleich schnell wächst wie g g ist eine asymptotisch scharfe obere und untere Schranke von f f wird einer Funktionenklasse g zugeordnet, indem nur der Term höchster Ordnung betrachtet wird (der am schnellsten wachsende Summand) Terme niedriger Ordnung und Konstanten ignoriert werden Beispiele: 2 n 2 +7 n 20 Θ(n 2 ) 7 nlogn 20 Θ(nlogn)
28 Überblick Kontext Einführung Funktionenklasse Θ Definition, Illustration, Beispiele weitere Funktionenklassen Definition, Illustration, Beispiele Anwendung in der Laufzeitbeschreibung
29 Landau-Symbol O Wenn eine Funktion nicht von oben und von unten beschränkt wird, sondern nur von oben (obere asymptotische Schranke), dann wird O verwendet. f O(g): c>0 n 0 n>n 0 :f(n) c g(n) f ist Element der Menge Gross-O von g, wenn eine positive Konstante c existiert, sodass der Funktionswert f(n) ab einem bestimmten n=n 0 immer kleiner oder gleich c g(n) ist. Wie sich f und g für n<n 0 verhalten, spielt keine Rolle. Anschaulich: f(n) wächst höchstens so schnell wie g(n) bzw. c g(n).
30 Illustration Zahl der Schritte (Laufzeit [s]) c g(n) f 1 (n) O(g) f 2 (n) O(g) n 2 n 1 n f ist höchstens von der Größenordnung von g.
31 Beispiele Es interessiert nur der Term höchster Ordnung, der am schnellsten wachsende Summand Terme niedriger Ordnung und Konstanten werden ignoriert. f(n) muss nur von oben durch c g(n) beschränkt sein. 2 n 2 +7 n 20 O(n 2 ) 2 n 2 +7 nlogn 20 O(n 2 ) 7 nlogn 20 O(n 2 ) 5 O(n 2 ) 2 n 2 +7 nlogn+n 3 / O(n 2 )
32 Landau-Symbol Ω Wenn eine Funktion nicht von oben und von unten beschränkt wird, sondern nur von unten (untere asymptotische Schranke), dann wird Ω verwendet. f Ω(g): c>0 n 0 n>n 0 :f(n) c g(n) f ist Element der Menge Gross- Ω von g, wenn eine positive Konstante c existiert, sodass der Funktionswert f(n) ab einem bestimmten n=n 0 immer größer oder gleich c g(n) ist. Wie sich f und g für n<n 0 verhalten, spielt keine Rolle. Anschaulich: f(n) wächst mindestens so schnell wie g(n) bzw. c g(n).
33 Illustration Zahl der Schritte (Laufzeit [s]) f 1 (n) Ω(g) f 2 (n) Ω(g) c g(n) n 2 n 1 n f ist mindestens von der Größenordnung von g.
34 Beispiele Es interessiert nur der Term höchster Ordnung, der am schnellsten wachsende Summand Terme niedriger Ordnung und Konstanten werden ignoriert. f(n) muss nur von unten durch c g(n) beschränkt sein. 2 n 2 +7 n 20 Ω(n 2 ) 2 n 2 +7 nlogn 20 Ω(n 2 ) 7 nlogn 20 / Ω(n 2 ) 5 / Ω(n 2 ) 2 n 2 +7 nlogn+n 3 Ω(n 2 )
35 Landau-Symbole ο und ω asymptotisch nicht scharfe Schranken obere Schranke f o(g): c>0 n 0 n>n 0 :f(n) c g(n) f wächst langsamer als g (ist von kleinerer Größenordnung) 2 n o(n 2 ) 4 n 2 / o(n 2 ) untere Schranke f ω(g): c>0 n 0 n>n 0 :f(n) c g(n) f wächst schneller als g (ist von höherer Größenordnung) 2 n 3 ω(n 2 ) 4 n 2 / ω(n 2 )
36 Zusammenfassung O-Notation f Θ(g): c 1 >0 c 2 >0 n 0 n>n 0 :c 1 g(n) f(n) c 2 g(n) f O(g): c>0 n 0 n>n 0 :f(n) c g(n) f Ω(g): c>0 n 0 n>n 0 :f(n) c g(n) f o(g): c>0 n 0 n>n 0 :f(n) c g(n) f ω(g): c>0 n 0 n>n 0 :f(n) c g(n)
37 Zusammenfassung Eigenschaften Transitivität f Θ(g) g Θ(h) f Θ(h) f O(g) g O(h) f O(h) f Ω(g) g Ω(h) f Ω(h) f o(g) g o(h) f o(h) f ω(g) g ω(h) f ω(h) Reflexivität f Θ(f) f Ω(f) f O(f) Symmetrie f Θ(g) g Θ(f) Austausch-Symmetrie f O(g) g Ω(f) f o(g) g ω(f)
38 Überblick Kontext Einführung Funktionenklasse Θ Definition, Illustration, Beispiele weitere Funktionenklassen Definition, Illustration, Beispiele Anwendung in der Laufzeitbeschreibung
39 Uns reicht oft O Laufzeiten werden oft mit O beschrieben (Vernachlässigung der unteren Schranke). f =O(g) f O(g) Oft wird statt geschrieben. f =O(h) g=o(h) f+g=o(h) a k n k +a k 1 n k a 1 n+a 0 =O(n k ) f(n)=c g(n) f=o(g)
40 O-Kalkül Einfache Regeln f =O(f) O(O(f))=O(f) ko(f)=o(f) O(f+k)=O(f) Addition O(f)+O(g)=O(max{f,g}) Multiplikation O(f) O(g)=O(f g)
41 Zusammenfassung Werkzeuge zur Analyse der Effizienz von Algorithmen Effizienz, Laufzeitkomplexität: Wachstum (Wachstumsgrad, Wachstumsrate) der Rechenzeit bei steigender Anzahl der Eingabe-Elemente Beschreibung der asymptotischen Effizienz durch Funktionenklassen Konzentration auf das Wesentliche bei der Laufzeitbeschreibung Landau-Symbole O zur Beschreibung von asymptotisch scharfen bzw. nicht scharfen Schranken für die Beschreibung der Laufzeitkomplexität zur Beschreibung oberer asymptotischer Schranken von Laufzeiten
42 Nächstes Thema Analyse von Algorithmen Abschätzung der Laufzeit von Algorithmen
Algorithmen 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,
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013 Vorlesung 3, Donnerstag 7.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013 Vorlesung 3, Donnerstag 7. November 2013 (O-Notation, Theta, Omega) Junior-Prof. Dr. Olaf Ronneberger
MehrV. Claus, Juli 2005 Einführung in die Informatik II 45
Um die Größenordnung einer reellwertigen oder ganzzahligen Funktion zu beschreiben, verwenden wir die so genannten Landau-Symbole (nach dem deutschen Mathematiker Edmund Landau, 1877-1938). Hierbei werden
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 3, Donnerstag 6.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 3, Donnerstag 6. November 2014 (O-Notation, Theta, Omega) Junior-Prof. Dr. Olaf Ronneberger
MehrA6.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
MehrAsymptotik und Laufzeitanalyse
und Vorkurs Informatik SoSe13 08. April 2013 und Algorithmen = Rechenvorschriften Wir fragen uns: Ist der Algorithmus effizient? welcher Algorithmus löst das Problem schneller? wie lange braucht der Algorithmus
MehrWS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2017 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Grundlagen von Algorithmen
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
MehrProgrammieren und Problemlösen
Dennis Komm Programmieren und Problemlösen Komplexität von Algorithmen Frühling 2019 27. Februar 2019 Komplexität von Algorithmen Aufgabe Primzahltest Schreibe ein Programm, das eine ganze Zahl x als Eingabe
MehrKomplexitä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
MehrDas O-Tutorial. 1 Definition von O, Ω, Θ, o und ω
Definition von O, Ω, Θ, o und ω Das O-Tutorial Seien f und g zwei Funktionen von N nach R 0. Hierbei bezeichne R 0 die nicht-negativen reellen Zahlen. Die Funktionsmengen O, Ω, Θ, o und ω sind wie folgt
MehrAbschnitt 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
MehrNotation 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
MehrÜbersicht. Datenstrukturen und Algorithmen. Laufzeit von Algorithmen. Übersicht. Vorlesung 2: Asymptotische Effizienz (K3) Begründung Grenzwerte
Übersicht Datenstrukturen und Algorithmen Vorlesung 2: (K3) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-15/dsal/ 10.
MehrAlgorithmen und Datenstrukturen I Grundlagen
Algorithmen und Datenstrukturen I Grundlagen Prof. Dr. Oliver Braun Letzte Änderung: 01.11.2017 14:15 Algorithmen und Datenstrukturen I, Grundlagen 1/24 Algorithmus es gibt keine präzise Definition Handlungsvorschrift
MehrInformatik I Komplexität von Algorithmen
Leistungsverhalten von Algorithmen Informatik I Komplexität von Algorithmen G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Speicherplatzkomplexität: Wird primärer & sekundärer Speicherplatz
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2017 Marc Bux, Humboldt-Universität zu Berlin Organisatorisches Vorlesung: Montag 11 13 Uhr Ulf Leser RUD 26, 0 115 Mittwoch 11 13 Uhr Ulf Leser RUD
MehrAlgorithmen und Datenstrukturen I. Grundlagen. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München
Algorithmen und Datenstrukturen I Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 18.03.2018 18:16 Inhaltsverzeichnis Algorithmus..................................... 2 Problem
MehrÜ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
MehrAlgorithmen und Datenstrukturen 1 Kapitel 5
Algorithmen und Datenstrukturen 1 Kapitel 5 Technische Fakultät robert@techfak.uni-bielefeld.de Vorlesung, U. Bielefeld, Winter 2005/2006 Kapitel 5: Effizienz von Algorithmen 5.1 Vorüberlegungen Nicht
MehrDatenstrukturen und Algorithmen (SS 2013)
Datenstrukturen und Algorithmen (SS 2013) Übungsblatt 4 Abgabe: Montag, 13.05.2013, 14:00 Uhr Die Übungen sollen in Gruppen von zwei bis drei Personen bearbeitet werden. Schreiben Sie die Namen jedes Gruppenmitglieds
Mehr2. Effizienz von Algorithmen
Effizienz von Algorithmen 2. Effizienz von Algorithmen Effizienz von Algorithmen, Random Access Machine Modell, Funktionenwachstum, Asymptotik [Cormen et al, Kap. 2.2,3,4.2-4.4 Ottman/Widmayer, Kap. 1.1]
MehrAlgorithmik Kap. 2: Laufzeit von Algorithmen
1. Motivation 1.1 Fallstudie: Sortieralgorithmen 1.2 Fallstudie: Selektionsalgorithmen 2. Laufzeit von Algorithmen 2.1 Grundlagen 2.2 3. Paradigmen des Algorithmenentwurfs 3.1 Dynamisches Programmieren
Mehr2. Grundlagen. Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten.
2. Grundlagen Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten. Laufzeitverhalten beschreiben durch O-Notation. 1 Beispiel Minimum-Suche Eingabe bei Minimum
Mehr2 Wachstumsverhalten von Funktionen
Algorithmen und Datenstrukturen 40 2 Wachstumsverhalten von Funktionen Beim Vergleich der Worst-Case-Laufzeiten von Algorithmen in Abhängigkeit von der Größe n der Eingabedaten ist oft nur deren Verhalten
MehrAlgorithmen und Datenstrukturen Zusammenfassung
Algorithmen und Datenstrukturen Zusammenfassung Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Eigenschaften von Algorithmen Entwurfstechniken
MehrDatenstrukturen, Algorithmen und Programmierung 2
Datenstrukturen, Algorithmen und Programmierung 2 Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 2. VO SS 2009 16. April 2009 1 Überblick Asymptotische Schranken
Mehr1. Asymptotische Notationen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. String Matching 5. Ausgewählte Datenstrukturen
Gliederung 1. Asymptotische Notationen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. String Matching 5. Ausgewählte Datenstrukturen 1/1, Folie 1 2009 Prof. Steffen Lange - HDa/FbI - Effiziente
MehrKostenmodell. Daniel Graf, Tobias Pröger. 22. September 2016 (aktualisierte Fassung 5 vom 9. Oktober 2016)
Kostenmodell Daniel Graf, Tobias Pröger 22. September 2016 (aktualisierte Fassung 5 vom 9. Oktober 2016) Erklärung: Diese Mitschrift ist als Ergänzung zur Vorlesung gedacht. Wir erheben keinen Anspruch
MehrZunächst ein paar einfache "Rechen"-Regeln: Lemma, Teil 1: Für beliebige Funktionen f und g gilt:
Der Groß-O-Kalkül Zunächst ein paar einfache "Rechen"-Regeln: G. Zachmann Informatik 1 - WS 05/06 Komplexität 22 Additionsregel Lemma, Teil 1: Für beliebige Funktionen f und g gilt: Zu beweisen: nur das
MehrÜbersicht. Datenstrukturen und Algorithmen. Die Teile-und-Beherrsche-Methode. Übersicht. Vorlesung 3: Rekursionsgleichungen (K4)
Datenstrukturen und Algorithmen Vorlesung 3: (K4) 1 e für rekursive Algorithmen Prof. Dr. Erika Ábrahám 2 Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/ datenstrukturen-und-algorithmen/
MehrKomplexität. G. Zachmann Clausthal University, Germany Leistungsverhalten von Algorithmen
lausthal Informatik II Komplexität von Algorithmen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Leistungsverhalten von Algorithmen Speicherplatzkomplexität: Wird primärer & sekundärer
MehrEinführung in die Programmierung
Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität
MehrUE 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
MehrInformatik I Komplexität von Algorithmen
Informatik I Komplexität von Algorithmen G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Leistungsverhalten von Algorithmen Speicherplatzkomplexität: Wird primärer & sekundärer Speicherplatz
MehrInformatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 3 (27.4.2014) O-Notation, Asymptotische Analyse, Sortieren III Algorithmen und Komplexität Selection Sort Algorithmus SelectionSort (informell):
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2015 Marc Bux, Humboldt-Universität zu Berlin Organisation Vorlesung: Montag 11 13 Uhr Ulf Leser RUD 26, 0 115 Mittwoch 11 13 Uhr Ulf Leser RUD 26,
MehrÜ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
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 Wiederholung: Validation Validation: nicht-formaler
MehrKomplexitä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
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2016 Marc Bux, Humboldt-Universität zu Berlin Organisation Vorlesung: Montag 11 13 Uhr Marius Kloft RUD 26, 0 115 Mittwoch 11 13 Uhr Marius Kloft RUD
MehrInformatik II. Vorlesung am D-BAUG der ETH Zürich. Felix Friedrich & Hermann Lehner FS 2018
1 Informatik II Vorlesung am D-BAUG der ETH Zürich Felix Friedrich & Hermann Lehner FS 2018 23 1. Einführung Algorithmen und Datenstrukturen, erstes Beispiel 24 Ziele der Vorlesung Verständnis des Entwurfs
MehrÜ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 t.hartmann@kit.edu Raum 306, Gebäude 50.34 Thomas Pajor pajor@kit.edu Raum 322,
MehrEinstieg in die Informatik mit Java
1 / 32 Einstieg in die Informatik mit Java Effizienz Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 32 1 Überblick: was ist Effizienz? 2 Landau-Symbole 3 Eier im Korb 4
Mehres 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
MehrProf. 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.
MehrKomplexität. G. Zachmann Clausthal University, Germany Leistungsverhalten von Algorithmen
lausthal Informatik II Komplexität von Algorithmen. Zachmann lausthal University, ermany zach@tu-clausthal.de Leistungsverhalten von Algorithmen Speicherplatzkomplexität: Wird primärer & sekundärer Speicherplatz
Mehr. Die obige Beschreibung der Laufzeit für ein bestimmtes k können wir also erweitern und erhalten die folgende Gleichung für den mittleren Fall:
Laufzeit von Quicksort im Mittel. Wir wollen die erwartete Effizienz von Quicksort ermitteln. Wir nehmen an, die Wahrscheinlichkeit, dass das gewählte Pivot-Element a j das k-t kleinste Element der Folge
MehrÜbung Algorithmen & Datenstrukturen
Übung lgorithmen & Datenstrukturen SS 2016 Kim Völlinger Übungstermine: Montag 09:00-11:00 RUD 26, 1'303, Marc Bux Montag 13:00-15:00 RUD 26, 1'305, Marc Bux Montag 13:00-15:00 RUD 26, 1'303, Florian Tschorsch
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2014/15 3. Vorlesung Laufzeitanalyse Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Recap: Diskutieren Sie mit Ihrer NachbarIn! 1. 2. 3. Was sind
MehrInformatik II. 1. Einführung. Ziele der Vorlesung. Inhalte der Vorlesung. Vorlesung am D-BAUG der ETH Zürich
Informatik II Vorlesung am D-BAUG der ETH Zürich 1. Einführung Felix Friedrich & Hermann Lehner Algorithmen und Datenstrukturen, erstes Beispiel FS 2018 1 23 Ziele der Vorlesung Inhalte der Vorlesung Verständnis
MehrInformatik I Komplexität von Algorithmen
Leistungsverhalten von Algorithmen Informatik I Komplexität von Algorithmen G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Speicherplatzkomplexität: Wird primärer & sekundärer Speicherplatz
MehrInformatik II, SS 2018
Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 2 (23.4.2018) Sortieren II, Asymptotische Analyse, O-Notation Algorithmen und Komplexität Laufzeit Zeitmessung SelectionSort n 2 Laufzeit/n
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Vorrechnen von Aufgabenblatt 1. Wohlgeformte Klammerausdrücke 3. Teile und Herrsche Agenda 1.
MehrRekursionen (Teschl/Teschl 8.1/8.2)
Rekursionen (Teschl/Teschl 8.1/8.2) treten in vielen Algorithmen auf: Eine Rekursion ist eine Folge von Zahlen a 0, a 1, a 2,.., bei der jedes a n aus seinen Vorgängern berechnet wird: Beispiele a n =
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 heute 1 Einführung 2 Mathematische Grundlagen
MehrGrundlagen: Algorithmen und Datenstrukturen
Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Jeremias Weihmann Sommersemester 2014 Übungsblatt 2 28. April 2014 Grundlagen: Algorithmen und
Mehr3.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,
MehrKomplexität von Algorithmen
Komplexität von Algorithmen Prof. Dr. Christian Böhm WS 07/08 in Zusammenarbeit mit Gefei Zhang http://www.dbs.informatik.uni-muenchen.de/lehre/nfinfosw Ressourcenbedarf - Größenordnungen Prozesse verbrauchen
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen A7. Sortieren III Marcel Lüthi and Gabriele Röger Universität Basel 14. März 2018 Untere Schranke Sortierverfahren Sortieren Vergleichsbasierte Verfahren Nicht vergleichsbasierte
MehrKapitel 3 Zur Korrektheit und Effizienz von Algorithmen
Kapitel 3 Zur Korrektheit und Effizienz von Algorithmen Ziel: Kurze Einführung in den Pseudocode zur Beschreibung von Algorithmen Induktionsbeweise als wichtiges Hilfsmittel, um die Korrektheit eines Algorithmus
MehrA7.1 Untere Schranke. Algorithmen und Datenstrukturen. A7.1 Untere Schranke. Algorithmen und Datenstrukturen. A7.2 Quicksort. A7.
Algorithmen und Datenstrukturen 14. März 2018 A7. III Algorithmen und Datenstrukturen A7. III Marcel Lüthi and Gabriele Röger Universität Basel 14. März 2018 A7.1 Untere Schranke A7.2 Quicksort A7.3 Heapsort
MehrPraktische Informatik I - Algorithmen und Datenstrukturen Wintersemester 2006/ Algorithmen und ihre formalen Eigenschaften, Datenstrukturen
1 Grundlagen 1.1 Algorithmen und ihre formalen Eigenschaften, Datenstrukturen Ein Algorithmus ist ein mit formalen Mitteln beschreibbares, mechanisch nachvollziehbares Verfahren zur Lösung einer Klasse
Mehr3.2. Korrektheit und Komplexität am Beispiel: Sortieren Sortieren ist eine wichtige Basis-Operation für komplexe Algorithmen
3.2. Korrektheit und Komplexität am Beispiel: Sortieren Sortieren ist eine wichtige Basis-Operation für komplexe Algorithmen Sortierproblem Eingabe: Folge von n natürlichen Zahlen a 1, a 2,, a n, die Folge
Mehr1 for ( int index = 0; index < n; index ++) { 3 if ( E[ index1 ] == K) { x++ }
Organisatorisches VL-02: Asymptotische Effizienz (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Sprechstunde: Mittwoch 11:15 12:00 Übungen:
MehrGrundlagen der Programmierung
GdP12 Slide 1 Grundlagen der Programmierung Vorlesung 12 Sebastian Iwanowski FH Wedel GdP12 Slide 2 Entwurf von Algorithmen Wie klassifiziert man Algorithmen? offensichtlich nicht durch die Unterscheidung
MehrInformatik II. 1. Einführung. Inhalte der Vorlesung. Ziele der Vorlesung. Vorlesung am D-BAUG der ETH Zürich
Informatik II Vorlesung am D-BAUG der ETH Zürich 1. Einführung Felix Friedrich & Hermann Lehner Algorithmen und Datenstrukturen, Korrektheit, erstes Beispiel FS 2019 1 2 Ziele der Vorlesung Inhalte der
MehrDie 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
MehrObjektorientierte Programmierung VL: Prof. Dr. Marco Block-Berlitz - Freie Universität Berlin Proinformatik III
Objektorientierte Programmierung VL: Prof. Dr. Marco Block-Berlitz - Freie Universität Berlin Proinformatik III Text: Hinnerk van Bruinehsen - Grafiken: Jens Fischer powered by SDS.mint SoSe 2011 1 Teil
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:
MehrEinführung in die Informatik 2
Einführung in die Informatik 2 Mathematische Grundbegriffe Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr,
MehrAbgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 2 Prof. Dr. Helmut Seidl, S. Pott,
MehrProgrammierung 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
MehrGrundlagen: Algorithmen und Datenstrukturen
Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2010
MehrTheoretische Informatik 1
Theoretische Informatik 1 Teil 2 Bernhard Nessler Institut für Grundlagen der Informationsverabeitung TU Graz SS 2007 Übersicht 1 Codierung, Gödelisierung Paare, Tupel, Listen Überabzählbarkeit 2 Ist universell?
MehrF3 Berechenbarkeit und Komplexität
F3 Berechenbarkeit und Komplexität Berndt Farwer Fachbereich Informatik AB Theoretische Grundlagen der Informatik (TGI) Universität Hamburg farwer@informatik.uni-hamburg.de F3 01/02 p.1/70 Zielgruppe 1.
Mehr1 Asymptotische Notation
In diesem Kapitel wollen wir die Grundlagen der asymptotischen Notation vermitteln. Diese ist ein wichtiges Werkzeug zur Betrachtung der Effizienz eines Algorithmus. 1.1 Grundlagen und einleitende Beispiele
MehrAlgorithmen und Datenstrukturen
Technische Universität München WiSe 2012/13 Institut für Informatik I-16 Lösungsblatt 7 Dr. Tobias Lasser 3. Dezember 2012 Jakob Vogel Algorithmen und Datenstrukturen Aufgabe 1 Rechnen mit Landau-Symbolen
MehrInformatik 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
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
MehrBabeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Rekursion
Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Rekursion Rekursion Neue Denkweise Wikipedia: Als Rekursion bezeichnet man den Aufruf
MehrAlgorithmen und Datenstrukturen 1-1. Seminar -
Algorithmen und Datenstrukturen 1-1. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Wintersemester 2009/10 Inhalt der ersten beiden Vorlesungen Algorithmenbegriff Komplexität, Asymptotik
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
MehrAlgorithmen und Datenstrukturen (Th. Ottmann und P. Widmayer) Folien: Leistungsanalyse Autor: Stefan Edelkamp
Algorithmen und Datenstrukturen (Th. Ottmann und P. Widmayer) Folien: Leistungsanalyse Autor: Stefan Edelkamp Institut für Informatik Georges-Köhler-Allee Albert-Ludwigs-Universität Freiburg 1 Überblick
Mehr2. Tag. Teil II. 1.5 Interpretation der Grenzwertregeln
Teil II 2. Tag Die bisherige Darstellung war zwar weitgehend intuitiv, ist aber für Beweise über Komplexitätsaussagen nur bedingt geeignet. 1.5 Interpretation der Grenzwertregeln Für die Funktionen f,g
MehrKapitel 3. Folgen Körper der reellen Zahlen. Wir kennen schon den Körper Q der rationalen Zahlen: : a, b Z, b 0}. Q = { a b
Kapitel 3. Folgen 3.1. Körper der reellen Zahlen Wir kennen schon den Körper Q der rationalen Zahlen: Q = { a b : a, b Z, b 0}. Die natürliche Ordnung auf Q ist eine totale Ordnung. Überdies gilt folgendes
MehrDer Sprung ins Wasser... Algorithmen und Datenstrukturen Kapitel 1 Algorithmen & Algorithmenanalyse. Und warum brauch ich das?! Organisatorisches 1
Der Sprung ins Wasser... Algorithmen und Datenstrukturen Kapitel 1 Algorithmen & Frank Heitmann heitmann@informatik.uni-hamburg.de Worum geht es bei Algorithmen und Datenstrukturen? 14. Oktober 2015 Frank
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / Vorlesung 9, Donnerstag 18.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 9, Donnerstag 18. Dezember 2014 (Teile und Herrsche, Mastertheorem) Junior-Prof. Dr.
MehrAlgorithmen und Datenstrukturen Kapitel 1 Algorithmen & Algorithmenanalyse
Algorithmen und Datenstrukturen Kapitel 1 Algorithmen & Frank Heitmann heitmann@informatik.uni-hamburg.de 14. Oktober 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/48 Der Sprung ins Wasser...
MehrDatenstrukturen und Algorithmen
Datenstrukturen und Algorithmen Vorlesung am D-Math (CSE) der ETH Zürich 1. Einführung Felix Friedrich Überblick, Algorithmen und Datenstrukturen, Korrektheit, erstes FS 2019 1 19 Ziele des Kurses Verständnis
MehrKomplexitä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
MehrAlgorithmen und Datenstrukturen Übung #4 BFS/DFS, Wachstum von Funktionen
Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Algorithmen und Datenstrukturen Übung #4 BFS/DFS, Wachstum von Funktionen Christian Rieck, Arne Schmidt 22.11.2018 Heute 12 Breiten-
MehrKapitel ADS:II. II. Algorithm Engineering
Kapitel ADS:II II. Algorithm Engineering Problemklassen und Lösungsstrategien Phasen des Algorithm Engineering Exkurs: Programmiersprachen Pseudocode Rekursion Maschinenmodell Laufzeitanalyse Algorithmenimplementierung
MehrAlgorithmen und Datenstrukturen Kapitel 1 Algorithmen & Algorithmenanalyse
Algorithmen und Datenstrukturen Kapitel 1 Algorithmen & Frank Heitmann heitmann@informatik.uni-hamburg.de 14. Oktober 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/48 Der Sprung ins Wasser...
MehrKapitel 3: Sortierverfahren Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
MehrKapitel 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
MehrKapitel 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
Mehr