ADS: Algorithmen und Datenstrukturen
|
|
|
- Renate Althaus
- vor 9 Jahren
- Abrufe
Transkript
1 ADS: Algorithmen und Datenstrukturen Akuter Denk-Stau Prof. Peter F. Stadler & Sebastian Will Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität Leipzig 17. Oktober 2013 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39
2 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Ankündigungen im Netz Anmeldung zu Übungen, Übungsaufgaben, Vorlesungsfolien, Termin- und Raumänderungen,... Teaching Current classes Algorithmen und Datenstrukturen 1 ( class169.html)
3 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Übungsaufgaben Abzugeben sind Lösungen zu sechs Aufgabenblättern. Termine Aufgabenblatt Ausgabe Abgabe Lösungen sind direkt vor Beginn der Vorlesung im Hörsaal abzugeben. Lösungen werden bewertet und in der auf den Abgabetermin folgenden Übungsstunde zurückgegeben.
4 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Übungstermine Vorläuge Termine der Übungsgruppen Gruppe Tag Uhrzeit 01 Mo 17:1518:45 02 Di 7:30 9:00 03 Di 9:15 10:45 04 Di 15:1516:45 05 Mi 7:30 9:00 06 Mi 13:1514:45 07 Do 13:1514:45 08 Fr 7:30 9:00 09 Fr 13:1514:45
5 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Übungen Anmeldung Anmeldung für die Übungen Für die Teilnahme an den Übungen (und damit die Anerkennung von Übungsleistungen!) ist eine Anmeldung für eine Übungsgruppe unbedingt erforderlich! Freischaltung der Online-Anmeldung: Donnerstag, , direkt nach der Vorlesung Donnerstag, , vor der Vorlesung Teaching Current classes Algorithmen und Datenstrukturen
6 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Klausur Termin (voraussichtlich): , 11:1512:15 Uhr Zulassungsvoraussetzungen Erreichen von 50% der Punkte in den Übungsaufgaben Anwesenheit in der Übung Fähigkeit, abgegebene Lösungen an der Tafel zu erläutern
7 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Teaching Current classes Algorithmen & Datenstrukturen 1 ( currentclasses/class169.html)
8 Inhalt 1 Einführung: Typen von Algorithmen, Komplexität von Algorithmen 2 Einfache Suchverfahren in Listen 3 Verkette Listen, Stacks und Schlangen 4 Sortierverfahren Elementare Verfahren Shell-Sort, Heap-Sort, Quick-Sort Externe Sortierverfahren 5 Allgemeine Bäume und Binärbäume Orientierte und geordnete Bäume Binärbäume (Darstellung, Traversierung) 6 Binäre Suchbäume 7 Mehrwegbäume P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39
9 Wozu das Ganze? Algorithmen stehen im Mittelpunkt der Informatik Entwurfsziele bei Entwicklung von Algorithmen: 1 Korrektheit Cool! Wir werden Beweise führen 2 Terminierung Kommt später im Studium 3 Ezient Doof kann's (fast) jeder Wahl der Datenstrukturen ist für Ezienz entscheidend Schwerpunkt der Vorlesung: Entwurf von ezienten Algorithmen und Datenstrukturen, sowie die nachfolgende Analyse ihres Verhaltens P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39
10 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Wozu das Ganze? Funktional gleichwertige Algorithmen weisen oft erhebliche Unterschiede in der Ezienz (Komplexität) auf. Bei der Verarbeitung soll eektiv mit den Daten umgegangen werden. Die Ezienz hängt bei groÿen Datenmengen ab von - internen Darstellung der Daten - dem verwendeten Algorithmus Zusammenhang dieser Aspekte?
11 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Beispiel Telefon-CD Anforderungen 700 MB Speicherplatz 40 Millionen Telefone 35 Zeichen (Name Ort Nummer) 1.4 GB ASCII-Text passt nicht Wir brauchen eine Komprimierung der Daten, und eine Möglichkeit schnell zu suchen (Index!). (Technische Nebenbemerkung: ausserdem ist der Speicherzugri auf der CD sehr langsam)
12 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Beispiel Telefon-CD Design-Überlegungen Verwende Datenstruktur, die die vollständige Verwaltung der Einträge erlaubt: Suchen, Einfügen und Löschen. ODER Weil sowieso nur das Suchen erlaubt ist: verwende Datenstruktur, die zwar extrem schnelles Suchen in komprimierten Daten erlaubt, aber möglicherweise kein Einfügen. Also: Mitdenken hilft
13 Ezienz: Zeit und Speicher Die Abarbeitung von Programmen (Software) beansprucht zwei Ressourcen: Zeit und Hardware (insbesondere: Speicher). FRAGE: Wie steigt dieser Ressourcenverbrauch bei gröÿeren Problemen (d.h. mehr Eingabedaten)? Es kann sein, dass Probleme ab einer gewissen Gröÿe praktisch unlösbar sind, weil 1 Ihre Abarbeitung zu lange dauern würde (z.b. länger als ein Informatikstudium) oder 2 Das Programm mehr Speicher braucht, als zur Verfügung steht. Wichtig ist auch der Unterschied zwischen internem (RAM) und externem Speicher, da z.b. der Zugri auf eine Festplatten ca mal langsamer ist als ein RAM-Zugri. P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39
14 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Ressourcenbedarf von Algorithmen Wesentliche Ressourcen: Rechenzeitbedarf Speicherplatzbedarf Programmlaufzeit abhängig von Eingabe für das Programm Qualität des vom Compiler generierten Codes Leistungsfähigkeit der Maschine, die das Programm ausgeführt Kompliziertheit des Algorithmus, den das Programm implementiert Maÿ für Algorithmus-Kompliziertheit: Komplexität Rechenzeitbedarf Zeitkomplexität Speicherplatzbedarf Platzkomplexität
15 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Komplexität von Algorithmen Komplexität: Maÿ für Kosten eines Algorithmus Bedeutung: K. hängt nur vom Algorithmus ab; unabhängig von übrigen Faktoren, die Rechenzeit und Hardwarebedarf beeinussen Bestimmung der Komplexität Messungen auf einer bestimmten Maschine Aufwandsbestimmungen für idealisierten Modellrechner (Bsp.: Random-Access-Maschine oder RAM) Abstraktes Komplexitätsmaÿ zur asymptotischen Kostenabschätzung in Abhängigkeit von Problemgöÿe/Eingabegröÿe n abstrakt unabhängig von konkreter Maschine (konstanter Faktor) asymptotisch muss nur für groÿe Probleme gelten
16 Best Case, Average Case, Worst Case Komplexität hängt ab von Eingabegröÿe; z.b. Anzahl der Datensätze, über die gesucht werden soll ausserdem: von weiteren Eigenschaften der Eingabe; z.b. Reihenfolge der Datensätze (unsortiert grob vorsortiert sortiert) Meist Abschätzung der worst case Komplexität, d.h. unter Annahme der für den Algorithmus ungünstigsten Eingabe der jeweiligen Gröÿe (z.b. bestimmte Reihenfolge) Analyse der average case Komplexität oft viel schwerer; best case weniger interessant. P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39
17 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Obere Abschätzung asymptotischer Kosten Meist Abschätzung oberer Schranken: Groÿ-Oh-Notation Beispiel: Die asymptotische Komplexität T (n) eines Algorithmus ist durch die Funktion f (n) = n 2 nach oben beschränkt, wenn es Konstanten n 0 und c > 0 gibt, so daÿ für alle Werte von n > n 0 gilt: T (n) c n 2 man sagt T (n) ist in O(n 2 )", in Zeichen T (n) O(n 2 ) oder einfach T (n) = O(n 2 ) (oder im Informatikerslang: der Algo hat quadratische Komplexität). n cn 2 T(n)
18 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Allgemeine Denition Jetzt wird's ernst Wir denieren eine Menge O(f ) aller Funktionen der Grössenordnung f, d.h. aller Funktionen die durch f nach oben beschränkt sind. Denition: Die Klasse O(f ) der Funktionen von der Grössenordnung f ist O(f ) = {g c > 0 n 0 > 0 : n n 0 : g(n) cf (n)}
19 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Beispiele für Groÿ-Oh Denition O(f ) = {g c > 0 n 0 > 0 : n n 0 : g(n) cf (n)} Beispiel. T (n) = 6n 4 + 3n 2 7n + 42 log n + sin cos(2n) Behauptung: T (n) O(n 4 ) Beweis: Für n 1 gilt: n 4 n 3 n 2 n logn und n 4 1 sin(irgendwas). Also ist ( )n 4 auf jeden Fall grösser als T (n). Damit folgt die Behauptung aus n 1 : T (n) < 59f (n). Alles klar? Dann: Warum gilt g(n) O(n) g(n) O(n log n) g(n) O(n 2 )?
20 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Untere Schranken So wie T (n) O(f ) eine obere Schranke ausdrückt, beschreibt T (n) Ω(f ) eine untere Schranke. g Ω(f ) bedeutet, dass g (asymptotisch und in der Grössenordnung) mindestens so stark wächst wie f. Denition: Ω(f ) = {h c > 0 n 0 > 0 : n > n 0 : h(n) cf (n)} Anmerkung: alternativ kann man denieren Ω(f ) = {h c > 0 : unendlich viele n : h(n) cf (n)}
21 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Exakte Schranke (d.h., nach oben und unten) Gilt sowohl g O(f ) als auch g Ω(f ) schreibt man g Θ(f ). Also: g Θ(f ) bedeutet: die Funktion g verläuft fuer hinreichend grosse n im Bereich [c 1 f, c 2 f ] mit geeigneten Konstanten c 1 und c 2. [Formale Denition zur Übung analog zu O(f ) und Ω(f )] Satz: Ist T (n) ein Polynom vom Grad p, dann ist T (n) Θ(n p ) Wachtumsordnung = höchste Potenz BEWEIS TAFEL
22 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Wichtige Wachstumsfunktionen O(1) konstante Kosten O(logn) logarithmisches Wachstum O(n) lineares Wachstum O(n log n) n log n-wachstum O(n 2 ) quadratisches Wachstum O(n 3 ) kubisches Wachstum O(2 n ) exponentielles Wachstum O(n!) Wachstum der Fakultät n! = (n 1) n HAUSÜBUNG: Rechnen Sie das mal aus für n = 10, 100, 1000, 10000, , Bei welcher Platzkomplexität passt das jeweils noch auf ihren Laptop (z.b. unter Annahme eines konstanten Faktors von 4 Bytes)?
23 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Problemgröÿe bei vorgegebener Zeit Annahme n = 1 in 1ms... log 2 n n n log 2 n n n n
24 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Rechengeschwindigkeit Welche Problemgröÿe kann bei verschiedenen Kostenfunktionen mit Rechnern verschiedener Geschwindigkeit bearbeitet werden? Zeitbedarf T (n) bei gegebener Rechengeschwinding, T k (n) bei k-facher Geschwindigkeit Bei gleicher Rechenzeit: T (n) = KT k (n) Alternativ: Rechner #2 löst Problem der Gröÿe n k T (n) = T k (n k ) = kt (n k ) Lösung: n k = T 1 (k(t (n))) Beispiele: (1) T (n) = n m, (2) T (n) = 2 n Tafel
25 Komplexitätsklassen linear-beschränkt, T O(n) polynomial-beschränkt, T O(n k ) exponentiell-beschränkt, T O(α n ) Exponentiell-zeitbeschränkte Algorithmen sind im Allgemeinen, d.h. für groÿe n, nicht nutzbar. (Vergleiche das gerade betrachtete Beispiel T (n) = 2 n ) Probleme, für die kein polynomial-zeitbeschränkter Algorithmus existiert, heissen deshalb intractable ( unlösbar, hart). (umgekehrt: polynomial-beschränkt ezient / ezient lösbar) P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39
26 Rechenregeln für die Zeitkomplexität I: Mit folgenden Regeln können sie die Komplexität eines Algorithmus (nach oben) abschätzen: Elementare Operationen: O(1) z.b. Zuweisungen, 32/64bit-Arithmetik, Ein-/Ausgabe, etc. Fallunterscheidungen O(1) Schleife Produkt aus Anzahl der Schleifendurchläufe mit Kosten der teuersten Schleifenausführung Summenregel: Das Programm P führe die Programmteile P 1 und P 2 hintereinander aus. Die Komplexitäten von P 1 und P 2 seien T 1 (n) O(f (n)) und T 2 (n) O(g(n)). Die Komplexität von P wird berechnet nach der Summenregel Beispiel: T 1 (n) + T 2 (n) O( max{f (n), g(n)} ). x=0; /* P1 */ for (i=1; i<=n; i++) { x=x+i; } /* P2 */ P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39
27 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Rechenregeln für die Zeitkomplexität II: Produktregel: Das Programm P entstehe durch Einsetzen von P 1 in der inneresten Schleife von P 2. Die Komplexitäten von P 1 und P 2 seien T 1 (n) O(f (n)) und T 2 (n) O(g(n)). Die Komplexität von P wird berechnet nach der Produktregel T 1 (n) T 2 (n) O(f (n)g(n)). Beispiel: for (i=1; i<=n; i++) { for (j=1; j<=n; j++) { x=x+i*j; } }
28 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Rechenregeln für die Zeitkomplexität III: Rekursive Prozeduraufrufe: Produkt aus Anzahl der rekursiven Aufrufe mit Kosten der teuersten Prozedurausführung. Beispiele: 1 int sum(n) { if (n<=1) return 1; return n+sum(n-1); } 2 int sumsum(n) { if (n==0) return 1; return sum(n)+sumsum(n-1); } Schätzen sie die Komplexitäten von sum(n) und sumsum(n) mit Hilfe der Rechenregeln ab.
29 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Maximale Teilsumme Tag int maxsubsum( int[] a) { int maxsum = 0; for( i=0; i<a.length; i++) for( j=i; j<a.length; j++) { int thissum =0; for (int k = i; k<=j; k++) thissum += a[k]; if(thissum>maxsum) maxsum=thissum; } return maxsum; }
30 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Maximale Teilsumme: Analyse n =a.length Innerste Schleife for (k=i; k<=j; k++) j i + 1 mal durchlaufen fuer jedes i, j. Mittlere Schleife for (j=i; j<n; j++) jeweils j i + 1 Aktionen n i = (n i)(n i + 1)/2 Aktionen äuÿere Schleife for (i=0; i<n; i++) aufsummieren ueber den Aufwand des Durchlaufes für jedes i Beispiel n = Additionen n 1 n 1 j n 1 n 1 n 1 n i T (n) = 1 = (j i + 1) = = i=0 j=i k=i j=i j=i n 1 (n i)(n i + 1)/2 = i=0 j=i l=1 l n k(k + 2)/2 = n 3 /6 + n 2 /2 + n/3 k=1 n k=1 k2 = n 3 /3 + n 2 /2 + n/6 (wie sieht man das? Tafel)
31 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Versteckte Zeitkomplexität Beispiel: Fibonacci Zahlen 0, 1, 1, 2, 3, 5, 8, 13, 21,... Denition F 0 = 0, F 1 = 1, F n = F n 1 + F n 2 für n > 1. 1 int fibe (int n) { if (n <= 0) return 0; else if (n ==1) return 1; else return fibe(n-2) + fibe(n-1) } fibe(n) berechnet F n, aber exponentieller Aufwand! 2 int fibl (int n, int f1, int f2) { if (n <=0) return 0; else if (n==1) return f1+f2; else return fibl(n-1,f2+f1,f1) } fibl(n,1,0) berechnet F n mit linearem Aufwand z.b. fibl(4,1,0)=fibl(3,1,1)=fibl(2,2,1)=fibl(1,3,2)=5
32 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Versteckte Platzkomplexität am Beispiel n! int fakl(int n) { if(n<=1) return 1; else return n*fakl(n-1); } fakl(n) n! mit linearem Speicheraufwand Ω(n) int fakk(int n,int a) { if(n<=1) return a; else return fakk(n-1,n*a); } fakk(n,1) n! mit konstantem Speicheraufwand Ω(1) Bessere Abschätzung: Wie waechst der Aufwand bei der Multiplikation grosser Zahlen? Was ist der Speicheraufwand für n und für n!?
33 Multiplikation für Fortgeschrittene Wie in der Schule: 5432* Besser: = O(l 2 ) für l-stellige Zahlen. (100A + B) (100C + D) = 10000AC + 100(AD + BC) + BD Nach AD + BC = (A + B) (C + D) AC BD, nur noch 3 Multiplikationen von Zahlen der halben Länge: T (n) = 3T (n/2), wobei der Aufwand für die Addition vernachlässigt wird. Lösung: T (n) = n log 2 3 n n 2 Für groÿe Zahlen geht's also intelligenter als in der Schule! P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39
34 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Noch ein paar Beispiele Exponentielles Wachstum: T (n + 1) = at (n), daher... T (n) = at (n 1) = a 2 T (n 2) = a k T (n k) = a n T (0) = 2 log 2 an Skalengröÿe k = log 2 a Fibonacci-Zahlen: Binetsche Formel F n = (A n B n )/ 5 mit A = (1 + 5)/2 und B = (1 5)/2. Umschreiben: F n = (1/ 5)A n [1 (B/A) n ] Für groÿe n: (B/A) n = ( 1) n [( 5 1)/( 5 + 1)] n 0 Daher F n < ca n für hinreichend groÿe n, d.h. F n O(A n ). Genaugenommen sogar F n Θ(A n )
35 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Das Mastertheorem Allgemeines Theorem zur Lösung von Funktionalgleichungen (Rekursionsgleichungen) der Form ( n ) T (n) = at + g(n), a 1, b > 1 b Warum können wir i.d.r. T (1) = 1 annehmen? Funktionalgleichung beschreibt algorithmische Strategie Divide-and-Conquer: Zerlege Gesamtproblem in b gleich grosse Teilprobleme. Für Gesamtproblem löse a solche Teilprobleme. Für Zerlegung und Kombination der Teillösungen entstehen jeweils Overhead-Kosten g(n).
36 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Das Mastertheorem Polynomialer Overhead Es gibt mehrere Lösungen je nach Verhalten von g(n). Sei jetzt g(n) polynomial, d.h. g(n) = Θ(n k ): ( n ) T (n) = at + Θ(n k ), a 1, b > 1 b Dann unterscheide 3 Fälle: Θ(n k ) T (n) = Θ(n k log n) Θ(n log (a) b ) falls a < b k falls a = b k falls a > b k
37 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Das Mastertheorem Beispiele Sei wieder g(n) polynomial, g(n) = Θ(n k ). < } Setze k = 2 und b = 3 und betrachte Beispiele für a{ = n k. > ) a = 8 T (n) = 8T + Θ(n2 ) T (n) = Θ(n 2 ) a = 9 T (n) = 9T a = 10 T (n) = 10T ( n 3 ( n 3 ( n 3 ) + Θ(n2 ) T (n) = Θ(n 2 log 2 n) ) + Θ(n2 ) T (n) = Θ(n log 3 10 ) Θ(n k ) Zur Erinnerung: T (n) = Θ(n k log n) Θ(n log (a) b ) falls a < b k falls a = b k falls a > b k
38 P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39 Das Mastertheorem allgemein Setze u := log b (a). (Idee: die Fälle scheiden sich an n u ) Im Fall ohne Overhead-Kosten, d.h. g(n) = 0, gilt T (n) = Θ(n u ). ( vgl. Analyse des verbesserten Multiplikationsverfahrens / Übung). Allgemeine Lösung T (n) = Θ(n u ), falls g(n) = O(n u ɛ ) für ein ɛ > 0 T (n) = Θ(n u log n), falls g(n) = Θ(n u ) T (n) = Θ(g(n)), falls g(n) = Ω(n u+ɛ ) und ag( n b ) cg(n) für ein ɛ > 0
39 Zusammenfassung Komplexität / Ezienz = wesentliche Eigenschaft von Algorithmen meist asymptotische Worst-Case-Abschätzung in Bezug auf Problemgröÿe n Unabhängigkeit von konkreten Umgebungsparametern (Hardware, Betriebsystem,...) asymptotisch schlechte Verfahren können bei kleiner Problemgröÿe ausreichen wichtige Klassen: O(1), O(log n), O(n), O(nlogn), O(n 2 ),..., O(2 n ) zu gegebener Problemstellung gibt es oft Algorithmen mit stark unterschiedlicher Komplexität unterschiedliche Lösungsstrategien Raum/Zeit-Tradeo: Zwischenspeichern von Ergebnissen statt mehrfacher Berechnung Abschätzung der Komplexität aus Programmfragmenten nach Rechenregeln P.F. Stadler & S. Will (Bioinf, Uni LE) ADS: Algorithmen und Datenstrukturen 17. Oktober / 39
ADS: Algorithmen und Datenstrukturen
ADS: Algorithmen und Datenstrukturen Akuter Denk-Stau Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig
ADS: Algorithmen und Datenstrukturen
ADS: Algorithmen und Datenstrukturen Zweiter Akt Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität
Algorithmen 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
Algorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 Prof. Dr. E. Rahm Wintersemester 2001 / 2002 Universität Leipzig Institut für Informatik http://dbs.uni-leipzig.de Zur Vorlesung allgemein Vorlesungsumfang: 2 + 1 SWS
Algorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 Prof. Dr. E. Rahm Wintersemester 2001 / 2002 Universität Leipzig Institut für Informatik http://dbs.uni-leipzig.de Zur Vorlesung allgemein Vorlesungsumfang: 2 + 1 SWS
Ü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
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
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
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
Algorithmen 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
Programmieren 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
Komplexitä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
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
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
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:
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
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,
Algorithmen 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
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:
2. 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]
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:
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,
V. 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
Objektorientierte 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
2. 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
Datenstrukturen. Mariano Zelke. Sommersemester 2012
Datenstrukturen Mariano Zelke Sommersemester 2012 Mariano Zelke Datenstrukturen 2/19 Das Teilfolgenproblem: Algorithmus A 3 A 3 (i, j bestimmt den Wert einer maximalen Teilfolge für a i,..., a j. (1 Wenn
Ü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 Fibonacci Zahlen Fibonacci Folge Die Fibonacci
Algorithmen 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
Ü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.
Algorithmen 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
Ü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,
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,
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
Datenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Sortieralgorithmen Einleitung Heapsort Quicksort 2 Motivation Sortieren ist Voraussetzung für viele Anwendungen Nach
Suchen und Sortieren
Suchen und Sortieren Suchen Sortieren Mischen Zeitmessungen Bewertung von Sortier-Verfahren Seite 1 Suchverfahren Begriffe Suchen = Bestimmen der Position (Adresse) eines Wertes in einer Datenfolge Sequentielles
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
Ordnen Sie die folgenden Funktionen nach ihrer asymptotischer Komplexität in aufsteigender Reihenfolge: i=1 4i + n = 4 n. i=1 i + 3n = 4 ( n(n+1)
für Informatik Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder Tutoraufgabe (Asymptotische Komplexität): Ordnen Sie die folgenden Funktionen nach
Datenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Untere Schranken für Sortieren Sortieren mit linearem Aufwand Mediane und Ranggrössen 2 Wie schnell können wir sortieren?
Ü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
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.
Vorlesung Datenstrukturen
Vorlesung Datenstrukturen Weitere Grundlagen Maike Buchin 20.4.2017 Wiederholung wir interessieren uns für effizienten Algorithmen und Datenstrukturen Laufzeiten messen wir asymptotisch in der Oh-Notation
Datenstrukturen und Algorithmen
Datenstrukturen und Algorithmen VO 708.031 27.10.2011 [email protected] 1 Wiederholung Wir vergleichen Algorithmen anhand des ordnungsmäßigen Wachstums von T(n), S(n), Asymptotische Schranken: O-Notation:
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
6 Quicksort. die mittlere Laufzeit Θ(n log n) beträgt und. die in der asymptotischen Notation verborgenen Konstanten sehr klein sind.
Algorithmen und Datenstrukturen 132 6 Quicksort In diesem Abschnitt wird Quicksort, ein weiterer Sortieralgorithmus, vorgestellt. Trotz einer eher langsamen Worst-Case Laufzeit von Θ(n 2 ) ist Quicksort
Ü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
2. Hausübung Algorithmen und Datenstrukturen
Prof. Dr. Gerd Stumme, Folke Eisterlehner, Dominik Benz Fachgebiet Wissensverarbeitung 7.4.009. Hausübung Algorithmen und Datenstrukturen Sommersemester 009 Abgabetermin: Montag, 04.05.009, 10:00 Uhr 1
Stand 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
Heapsort / 1 A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8]
Heapsort / 1 Heap: Ein Array heißt Heap, falls A [i] A [2i] und A[i] A [2i + 1] (für 2i n bzw. 2i + 1 n) gilt. Beispiel: A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] Heapsort / 2 Darstellung eines Heaps als
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
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
( )= 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
Kostenmodell. 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
AlgoDat Fragen zu Vorlesung und Klausur
AlgoDat Fragen zu Vorlesung und Klausur Hochschule Fulda FB AI Sommersemester 2018 http://ad.rz.hs-fulda.de Peter Klingebiel, HS Fulda, AI Vorab: Was ist wichtig? AlgoDat - Fragen - Peter Klingebiel -
Ü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,
2 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
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
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
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
Algorithmen 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.
Datenstrukturen und Algorithmen (SS 2013)
Datenstrukturen und Algorithmen (SS 2013) Präsenzübung Musterlösung Dienstag, 28.05.2013 Aufgabe 1 (Allgemeine Fragen [20 Punkte]) 1. Tragen Sie in der folgenden Tabelle die Best-, Average- und Worst-Case-
ADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 5 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität
WS 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
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
Algorithmenbegriff: Berechenbarkeit. Algorithmenanalyse. (Berechnung der Komplexität)
Über-/Rückblick Algorithmenbegriff: Berechenbarkeit Turing-Maschine RAM µ-rekursive Funktionen Zeit Platz Komplexität Algorithmentechniken Algorithmenanalyse (Berechnung der Komplexität) Rekursion Iteration
Asymptotik 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
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
lim log 2n n = > 0 Da es einen Limes gibt, gibt es auch einen Limes inferior, der gleich diesem Limes ist.
Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Jonathan Heinen, Thomas Ströder, Sabrina von Styp Aufgabe 1 (O-Notation): Beweisen oder widerlegen Sie die folgenden Aussagen: (3 + 3 + 4 = 10 Punkte)
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
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
Grundlagen 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
7. Sortieren Lernziele. 7. Sortieren
7. Sortieren Lernziele 7. Sortieren Lernziele: Die wichtigsten Sortierverfahren kennen und einsetzen können, Aufwand und weitere Eigenschaften der Sortierverfahren kennen, das Problemlösungsparadigma Teile-und-herrsche
Grundlagen: 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
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
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:
Ü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
Datenstrukturen und Algorithmen (SS 2013) Prof. Dr. Leif Kobbelt Thomas Ströder, Fabian Emmes, Sven Middelberg, Michael Kremer
Präsenzübung Datenstrukturen und Algorithmen (SS 2013) Prof. Dr. Leif Kobbelt Thomas Ströder, Fabian Emmes, Sven Middelberg, Michael Kremer Dienstag, 28. Mai 2013 Nachname: Vorname: Matrikelnummer: Studiengang:
3.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
Algorithmen 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
Ü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
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Algorithmen und Datenstrukturen Teil 3 Suchen in Listen Version vom: 15. November 2016
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
