Algorithmen und Datenstrukturen
|
|
- Jacob Busch
- vor 7 Jahren
- Abrufe
Transkript
1 Algorithmen und Datenstrukturen Prof. Dr. Sibylle Schwarz Westsächsische Hochschule Zwickau Dr. Friedrichs-Ring 2a, RII SS
2 Algorithmen Beispiel ggt (einfacher) Euklidischer Algorithmus zur Bestimmung des ggt zweier natürlicher Zahlen Algorithmus : Größter gemeinsamer Teiler Eingabe : a N, b N Ausgabe : ggt(a, b) solange a b : wenn a > b dann a a b sonst b b a Rückgabe a 2
3 Algorithmus endlich beschriebene schrittweise ausgeführte Arbeitsvorschrift zur Lösung eines Berechnungsproblemes, d.h. zur Transformation einer Eingabe in eine Ausgabe 3
4 Beispiele für Algorithmen historisch (Mathematik): Euklidischer Algorithmus Sieb des Erathostenes schriftliche Addition, Multiplikation usw. Gauß-Algorithmus im Alltag: Suchen eines Wörterbucheintrages Bauanleitung Kochrezept Orchester-Partitur in der Informatik: Programm-Quelltext Programm-Ablaufplan, Struktogramm Suchverfahren Sortierverfahren 4
5 Algorithmen und Datenstrukturen Informatik Wissenschaft von der Darstellung und Verarbeitung symbolischer Information Darstellung der Information als (strukturierte) Daten Verarbeitung der Information durch Algorithmen 5
6 Abstraktionsstufen Abstrakter DT Mathematik: Funktion (konkreter) DT algebraische Struktur Algorithmus Datenstruktur Implementierung: Funktion, Methode Typ, Klasse 6
7 Einordnung in die Informatik Teilgebiete der Informatik: theoretisch technisch Formalismen zur Darstellung von Daten und Algorithmen Möglichkeiten und Grenzen der Berechenbarkeit durch Algorithmen Grundlagen für technische und praktische (und angewandte) Informatik maschinelle Darstellung von Information Mittel zur Ausführung von Algorithmen praktisch Modellierung (Datenstrukturen) Entwurf von Algorithmen Programmierung, Softwaretechnik angewandt Modellierung durch geeignete Datenstrukturen Anwendung von Algorithmen (z.b. Suchen, Sortieren,... ) 7
8 Inhalt der Lehrveranstaltung Algorithmen Spezifikation Laufzeitabschätzungen rekursive Algorithmen Beispiele, z.b. Sortieralgorithmen abstrakte Datentypen mit häufigen Operationen: Mengen Folgen Zuordnungen (Wörterbücher) Relationen Datenstrukturen zu deren Realisierung: lineare Datenstrukturen (Listen, Stack, Queue, Hash-Tabellen) hierarchische Datenstrukturen (Bäume, Heaps) Graphen Algorithmen auf Graphen Pattern-Matching-Algorithmen 8
9 Literatur Cormen, Leiserson, Rivest, Stein: Algorithmen - Eine Einführung (Oldenbourg, 2007) Güting, Dieker: Datenstrukturen und Algorithmen (Teubner, 2004) Solymosi, Grude: Grundkurs Algorithmen und Datenstrukturen : eine Einführung in die praktische Informatik mit Java (Vieweg, 2000) Preiss: Data Structures and Algorithms with Object-Oriented Design Patterns in Java (Online-Version unter 9
10 Organisation Montag 11:20-12:50 in R304 Vorlesung Donnerstag Z1 15:05-16:35 in R308 Hausaufgaben schriftliche Aufgaben (Prüfungsvorbereitung) Vorbereitung des Praktikums (Entwurf) Autotool-Aufgaben Übung für alle gemeinsam (Hörsaalübung) Donnerstag Z1 9:35-11:05 in PBS 203 Fragen zum Vorlesungsstoff Besprechung der schriftlichen Übungsaufgaben Praktika 2 Gruppen (Eintragen im Autotool): Montag 9:35-11:05 in Pool 242 (14-tägig) (einige) Autotool-Aufgaben Programmieraufgaben (Implementierung) Prüfung: Klausur ca. 60 min (Hälfte von 120 min für Modul PTI621) 10
11 Algorithmen in der Informatik Algorithmus: in Schritte geordnete Arbeitsvorschrift endliche Beschreibung eines schrittweise ausgeführten Verfahrens in einer formalen Beschreibungssprache. zur Ausführung eines Algorithmus ist nötig: Akteur / Maschine, welche den Beschreibungsformalismus interpretieren kann 11
12 Algorithmen Eigenschaften notwendige Eigenschaften: endliche Beschreibung schrittweise Ausführung oft wird außerdem gefordert (meist sinnvoll für auf Computer ausgeführten Algorithmen): deterministischer Ablauf : bei wiederholter Ausführung mit denselben Eingaben wird immer derselbe Ablauf ausgeführt terminierend (Endlichkeit der Ausführung): Berechnungsvorschrift terminiert gdw. jede Ausführung bei jeder erlaubten Eingabe nach endlich vielen Schritten endet determiniertes Ergebnis : bei wiederholter Ausführung mit denselben Eingaben wird immer dieselbe Ausgabe erzeugt allgemeingültig : löst eine ganze Klasse von Aufgaben 12
13 Beispiele Algorithmus : A1 Eingabe : y Z Ausgabe : y x Wähle beliebige Zahl x Z y x + 4 Algorithmus : A2 Eingabe : x Z Ausgabe : y y 1 solange x 0 : y yx x x 1 Algorithmus : A3 Eingabe : n N Ausgabe : n solange n > 1 : wenn n 2 0 dann n n/2 sonst n 3n + 1 Welche dieser Algorithmen sind deterministisch, terminierend, haben determiniertes Ergebnis? 13
14 Algorithmen zur Lösung eines Berechnungsproblemes Berechnungsproblem: Transformation von Eingaben in Ausgaben Anforderungen an Algorithmen zur Lösung eines speziellen Berechnungsproblemes: Korrektheit Algorithmus löst alle Instanzen des gegebenen Problems (fehlerfrei): bestimmt für jede Eingabe korrekte Ausgabe. Berechenbarkeit Zu jeder Eingabe ist eine eindeutige Ausgabe definiert und wird vom Algorithmus erzeugt. Nicht alle formulierbaren Algorithmen sind berechenbar. (hängt vom Problem und der Beschreibungssprache ab). mehr dazu in LV Theoretische Informatik Effizienz möglicht geringer Ressourcen-Verbrauch (Speicherplatz, Laufzeit) 14
15 Algorithmen-Entwicklung 1. informale Aufgabenstellung 2. formale Spezifikation: Was (welches Berechnungsproblem) soll gelöst werden? exakte (formale) Beschreibung des Problemes: Eingabe des Algorithmus Ausgabe des Algorithmus Zusammenhang zwischen Ein- und Ausgabe 3. Entwurf des Algorithmus: Wie soll es gelöst werden? formale Darstellung der Arbeitsschritte zu jedem Schritt: Was wird getan? (Aktionen, Anweisungen) Womit wird es getan? (Daten) Wie geht es weiter? (nächster Schritt) 4. Verifikation: Nachweis der Korrektheit des Algorithmenentwurfes 5. Realisierung (Implementierung) 15
16 Algorithmen Spezifikation Problemanalyse: Was soll gelöst werden? Ausgangspunkt: Ergebnis: umgangssprachlich formulierte und oft ungenaue Aufgabenbeschreibung exakte und vollständige Definition des Problemes Spezifikation eines Berechnungsproblemes: korrekte formale Beschreibung des Zusammenhanges zwischen Eingaben und Ausgaben Spezifikation eines Berechnungsproblemes enthält Vorbedingung: Forderung an die Eingaben Nachbedingung: Forderung an die Ausgaben Instanz eines Berechnungsproblemes: spezielle Eingabe 16
17 Beispiel: Spezifikation des Sortier-Problems informale Aufgabenstellung: Entwurf eines Verfahrens, welches jede Folge (x 1,..., x n ) natürlicher Zahlen sortiert formale Spezifikation dieses Sortier-Problemes: Vorbedingung: Eingabe (x 1, x 2,..., x n ) mit i {1,..., n} : x i N Nachbedingung: Ausgabe (y 1, y 2,..., y n ) ist 1. y 1 y 2 y n+1 (aufsteigend geordnet) und 2. eine Permutation (Umordnung) der Eingabe (x 1, x 2,..., x n ) Instanz dieses Sortier-Problemes: (34, 6, 72, 3, 4, 15) 17
18 Algorithmen Korrektheit... there are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult. Tony Hoare, 1980 ACM Turing Award Lecture Ist der entworfene Algorithmus korrekt? Erfüllt der entworfene Algorithmus die Spezifikation? Verifikation: Nachweis, dass Entwurf die Spezifikation erfüllt sicherer (aber mitunter aufwendiger) als Testen Es gibt Verfahren / Systeme, die Verifikation automatisch ausführen oder unterstützen. mehr dazu im Master-Studium: LV Spezifikations- und Verifikationsmethoden 18
19 Effizienz von Algorithmen Aufwandsanalyse von Algorithmen abhängig von der Größe der Instanz unabhängig von konkreter Hardware im günstigsten Fall (best case) ungünstigsten Fall (worst case) Mittel (average case) Abschätzungen von Resourcenbedarf bei Ausführung des Algorithmus Zeitaufwand: Anzahl elementarer Rechenschritte auf einem idealisierten Rechnermodell (RAM) Speicherplatzbedarf 19
20 Algorithmenentwurf Algorithmus = in Schritte geordnete Arbeitsvorschrift endliche Beschreibung eines schrittweise von einem Aktuer ausgeführten Verfahrens in einer formalen Beschreibungssprache. Ziele beim Entwurf von Algorithmen: Korrektheit geringer Ressourcenverbrauch Laufzeit Speicherplatz sinnvoll strukturierte einfache formale Beschreibung (z.b. kurzer, lesbarer Programmcode) 20
21 Beispiel Summe der ersten n natürlichen Zahlen informale Aufgabenstellung: Addiere alle natürlichen Zahlen von 1 bis n. Spezifikation: Vorbedingung: Eingabe n N Nachbedingung: Ausgabe s = n i=1 i Algorithmus : A1 Eingabe : n N Ausgabe : s s 0 für jedes i 1,..., n : s s + i Algorithmus : A2 Eingabe : n N Ausgabe : s s n(n + 1)/2 21
22 (Idealisiertes) Rechnermodell Random-Access-Maschine (RAM) unendlich viele Speicherzellen für je eine natürliche Zahl (Alternative: Real-RAM für reelle Zahlen) Befehle: Laden Speichern Operationen (logisch, arithmetisch, Vergleiche) Unterprogrammaufrufe Ausführung jedes Befehles (elementare Anweisung, Schritt) dauert (kostet) genau eine Einheit sequentielle Ausführung aller Befehle 22
23 Laufzeitanalyse Laufzeit eines Algorithmus auf der Eingabe x: Anzahl der zur Ausführung des Algorithmus bei Eingabe x benötigten Einheiten (Schritte) Laufzeit T eines Algorithmus ist eine Funktion der Größe der Eingabe x Definition der Größe hängt vom Berechnungsproblem ab, z.b. Länge einer zu sortierenden Liste, Länge der Binärdarstellung zweier zu addierender Zahlen worst-case Maximum der Laufzeiten des Algorithmus über alle Eingaben obere Schranke für die Laufzeit best-case Minimum der Laufzeiten des Algorithmus über alle Eingaben untere Schranke für die Laufzeit average-case Durchschnitt der Laufzeiten des Algorithmus über alle Eingaben 23
24 Beispiel: Durchsuchen einer Folge Spezifikation des Suchproblemes: V: Eingaben x = (x 1,..., x n ), y N: Ausgabe: Algorithmus : Suche 1 Eingabe : (x 1,..., x n ), y Ausgabe : gefunden gefunden Nein i 1 solange i n : wenn x i = y dann gefunden Ja i i + 1 Laufzeit (Tafel) Ja, falls ein i {1,..., n} mit x i = y existiert, sonst Nein 24
25 Mathematische Grundlagen: Wachstumsklassen präzise Laufzeitfunktion meist nicht relevant, nur die Größenordnung des Wachstums Ziel: Abschätzung der Größenordnung der Wachstumsfunktion durch Vergleich mit einfachen Funktionen Abschätzungen des asymptotischen Wachstums gelten nur für hinreichend große Werte 25
26 Wachstumsklassen Funktionenklassen zu einer gegebenen Funktion g : N R 0 O(g) = {f : N R 0 n 0 N c > 0 n n 0 : f (n) cg(n)} f wächst höchstens so schnell wie g (asymptotische obere Wachstumsschranke) o(g) = {f : N R 0 n 0 N c > 0 n n 0 : f (n) < cg(n)} f wächst langsamer als g Ω(g) = {f : N R 0 n 0 N c > 0 n n 0 : 0 cg(n) f (n)} f wächst mindestens so schnell wie g (asymptotische untere Wachstumsschranke) ω(g) = {f : N R 0 n 0 N c > 0 n n 0 : 0 cg(n) < f (n)} f wächst schneller als g Θ(g) = O(g) Ω(g) (asymptotisch gleiches Wachstum) Gilt genau dann, wenn f O(g) und g O(f ) 26
27 Asymptotische obere Schranke O(g) = {f : N R 0 n 0 N c > 0 n n 0 : f (n) cg(n)} Beispiele: 3/2n 2 + 3/2n + 2 O(n 2 ) n O(n 3 ) 2 n O(n 3 ) geeignete Abschätzung für worst-case-analyse 27
28 Vereinfachungen in O-Notation O(cf ) = O(f ), konstante Faktoren irrelevant O(f + g) = max(o(f ), O(g)), Summanden mit kleinerem Wachstum irrelevant, z.b. Polynome kleineren Grades O(log a n) = O(log b n) 28
29 Berechnung durch Grenzwerte 1000n n n 3 + n 2 O(n 5 ) wegen 1000n n n 3 + n 2 lim n n n 5 = lim n n 5 = 1000 < Beispiele: O(n/2) = O(134n) = O(n ) = O(n 5000) = O(17n 5000) = O(n/5000) = O(n) O(log n) O(n) O(n 2 ) O(2 n ) 29
30 Beispiele n O(n) 1000n O(n) 1000n O(n 2 ) 1000n O( n) 1000n n 2 O(n 5 ) 1000n n 2 O(n 6 ) n/ O(n) log a n O(log b n) 30
31 Wichtige Funktionenklassen O(1) konstantes Wachstum O(n) lineares Wachstum O(n 2 ) quadratisches Wachstum O(n 3 ) kubisches Wachstum O(n k ) polynomielles Wachstum O(log n) logarithmisches Wachstum O(n log n) O(log log n) doppelt logarithmisches Wachstum O(2 n ) exponentielles Wachstum 31
32 Laufzeitabschätzungen für Ablaufstrukturen elementare Operationen A (Zuweisung, Berechnung eines arithmetischen Ausdruckes, Vergleich) T (A) = 1 O(1) sequentielle Verknüpfung (Nacheinanderausführung) Algorithmus A = A_1; A_2 Laufzeit T (A) = T (A 1 ) + T (A 2 ) Verzweigung (Alternative) Algorithmus A = if C then A_1 else A_2 Laufzeit T (A) = max(t (A 1 ), T (A 2 )) O(T (A 1 ) + T (A 2 )) Wiederholung (Schleife) Algorithmus A = for i = 1 to n A_i Laufzeit T (A) = T (A 1 ) + T (A 2 ) T (A n ) oft für jeden Durchlauf gleiche Laufzeit, dann T (A) = nt (A 1 ) 32
33 Beispiel: Suche 2 Spezifikation des Suchproblemes: V: Eingaben x = (x 1,..., x n ), y N: Ausgabe: Algorithmus : Suche 2 Eingabe : (x 1,..., x n ), y Ausgabe : gefunden Ja, falls ein i {1,..., n} mit x i = y existiert, sonst Nein gefunden Nein i 1 solange gefunden = Nein und i n : wenn x i = y dann gefunden Ja i i
34 Laufzeiten Suche 1 best falls y = x 1 : T (n) O(n) worst falls y nicht in x vorkommt: T (n) O(n) average T (n) O(n) Suche 2 best falls y = x 1 : T (n) O(1) worst falls y nicht in x vorkommt: T (n) O(n) average T (n) O(n) 34
35 Beispiel Minimum-Suche Spezifikation: Eingabe x = (x 1,..., x n ) Ausgabe y mit 1. y {x 1,..., x n } und 2. z {x 1,..., x n } : y z Algorithmus : Minimum-Suche Eingabe : (x 1,..., x n ) Ausgabe : y y x 1 für jedes i 2,..., n : wenn y > x i dann y x i Laufzeit: O(n) 35
36 Beispiele Laufzeiten Für alle Algorithmen: Algorithmus : A Eingabe : n Ausgabe : s Algorithmus : B k 52; s 5 für jedes i 1,..., n : für jedes j 1,..., k : s n + ij k 52; s 5 für jedes i 1,..., n : für jedes j 1,..., n : s n + ij Algorithmus : C k 52; s 5 für jedes i 1,..., n : für jedes j 1,..., i : s i + j T (A) 0(n) T (B) 0(n 2 ) T (C) 0(n 2 ) 36
37 Rekursive Algorithmen Basisfall (Induktionsanfang): direkte Lösung Rekursionsschritt (Induktionsschritt): Funktionswert wird aus den Funktionswerten derselben Funktion mit anderen (einfacheren) Argumenten berechnet Beispiele: Fakultät { 1 falls n = 0 n! = n(n 1)! sonst Fibonacci-Funktion 0 falls n = 0 f (n) = 1 falls n = 1 f (n 1) + f (n 2) sonst Ackermann-Funktion y + 1 falls x = 0 a(x, y) = a(x 1, 1) falls y = 0 und x > 0 a(x 1, a(x, y 1)) sonst 37
38 Laufzeit-Berechnung für n! Spezifikation: V: x N N: y = x! Algorithmus : fac Eingabe : x Ausgabe : y wenn x = 0 dann y 1 sonst y x fac(x 1) Rekurrenz T (0) = 1 T (n) = T (n 1) + 1 T (n) = T (n 1) + 1 = (T (n 2) + 1) + 1 = T (n 2) + 2 = T (n 3) = T (n n) + n = T (0) + n = 1 + n Laufzeit O(n) 38
39 Divide-and-Conquer-Verfahren (teile und herrsche) Idee: rekursive Zerlegung des Problemes in Teilprobleme bis zum Basisfall Grundprinzip: Teilung des Problems P in n Teilprobleme P i Lösung aller Teilprobleme P i (Rekursion) Kombination der Lösungen der Teilprobleme P i zu einer Lösung des Problems P (Baumstruktur) 39
40 Beispiel: Suche in geordneten Folgen Spezifikation des Suchproblemes in geordneten Folgen: V: Eingaben totale Ordnung (M, ), x = (x 1,..., x n ) M aufsteigend geordneten (d.h. x 1 x 2 x n ) y M N: Ausgabe: Ja, falls ein i {1,..., n} mit x i = y existiert, sonst Nein 40
41 Algorithmus: Suche in geordneten Folgen Algorithmus : Suche3 Eingabe : (x 1,..., x n ), y und l, r {1,..., n} (Bereichsgrenzen) Ausgabe : gefunden wenn l > r dann gefunden Nein sonst m (l + r)/2 wenn x m = y dann gefunden Ja sonst wenn x m < y dann Suche3(x, y, m + 1, r) sonst Suche3(x, y, l, m 1) 41
42 Laufzeit: Suche in sortierten Folgen T (0) = T (1) = a T (n) = T ( n/2 ) + b mit Konstanten a, b für n = 2 k, also k = log n: T (n) = T (n/2 1 ) + b = T (n/2 2 ) + b + b = T (n/2 3 ) + 3b... = T (n/2 k ) + kb = T (n/n) + kb = a + kb = a + b log n Laufzeit: O(log n) 42
43 Häufig vorkommende Rekurrenzen T (n) = T (n 1) = T (0) + n O(n) T (n) = T (n 1) + n... = T (0) + n 2 O(n 2 ) T (n) = T (n/2) = T (0) + log n O(log n) T (n) = T (n/2) + n... = T (0) + n log n O(n log n) T (n) = 2T (n/2) = 2 log n T (0) + 2 log n log n O(n log n) T (n) = 2T (n 1) + 1 O(2 n ) Allgemeines Verfahren zum Lösen von Rekurrenzen: Master-Theorem 43
44 Klassisches Beispiel: Türme von Hanoi Positionen A, B.C n Scheiben {1,..., n} der Größen 1,..., n Bedingung: Scheibe i darf nur dann auf Scheibe j liegen, wenn i < j zulässige Bewegungen (zusammen ein Zug): Nimm die obere Scheibe i von Position x {A, B, C} und Lege diese Scheibe i auf Position y {A, B, C}, sofern damit auf Position y die Bedingung nicht verletzt wird Startsituation: Auf Position A ein Turm aus n (zulässig) gestapelten Scheiben, Positionen B, C leer Zielsituation: Auf Position B ein Turm aus n (zulässig) gestapelten Scheiben, Positionen A, C leer gesucht: Folge von Schritten vom Start- zum Zielzustand 44
45 Türme von Hanoi: rekursiver Algorithmus Verschiebe einen Hanoi-Turm der Höhe n von Position A zu Position B, falls nötig, unter Verwendung der Position C: Spezifikation: V: (x : n, y : 0, z : 0), l = () N: (x : 0, y : n, z : 0), l enthält die Folge aller Züge (Start- und Zielposition der bewegten Scheibe) Algorithmus Hanoi(x, y, z): Basisfall: n = 0 (keine Bewegung) Rekursionsschritt: 1. die oberen n 1 Scheiben von Position x zu Position z verschieben, falls nötig, unter Verwendung der Position y (rekursiv), 2. Verschiebe die größte Scheibe von Position x zu Position y, Zug (x y) an l anhängen 3. die n 1 Scheiben von Position z zu Position y verschieben, falls nötig, unter Verwendung der Position x (rekursiv). 45
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
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
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
MehrAlgorithmen 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,
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:
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 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
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
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Übersicht Datenstrukturen und Algorithmen. Literatur. Algorithmus: Wikipedia Definition. Vorlesung 1: Einführung. Prof. Dr.
Übersicht Datenstrukturen und Vorlesung 1: Prof. Dr. Erika Ábrahám Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/ datenstrukturen-und-algorithmen/ Diese Präsentation verwendet
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
MehrKapitel 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:
Mehr2. Algorithmen und Algorithmisierung Algorithmen und Algorithmisierung von Aufgaben
Algorithmen und Algorithmisierung von Aufgaben 2-1 Algorithmisierung: Formulierung (Entwicklung, Wahl) der Algorithmen + symbolische Darstellung von Algorithmen Formalismen für die symbolische Darstellung
MehrKapitel 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:
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.
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
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
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
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,
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
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
MehrKapitel 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:
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
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
Mehr2. Algorithmische Methoden 2.1 Rekursion. 18. April 2017
2. Algorithmische Methoden 2.1 Rekursion 18. April 2017 Rekursiver Algorithmus Ein rekursiver Algorithmus löst ein Problem, indem er eine oder mehrere kleinere Instanzen des gleichen Problems löst. Beispiel
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
MehrAchtung: 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
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
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen VO 708.031 Um was geht es? Datenstrukturen Algorithmen Algorithmus Versuch einer Erklärung: Ein Algorithmus nimmt bestimmte Daten als Input und transformiert diese nach festen
MehrKapitel 1 Einleitung. Definition: Algorithmus nach M. Broy: aus: Informatik: Eine grundlegende Einführung, Band 1, Springer-Verlag, Berlin
Kapitel 1 Einleitung 1.1. Begriff des Algorithmus Eine der ältesten Beschreibungstechniken für Abläufe: Benannt nach dem Mathematiker Al-Khwarizmi (ca. 780...840), der am Hof der Kalifen von Bagdad wirkte.
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren Teilnehmerkreis und Voraussetzungen Studiengänge
Mehr1.3 Erinnerung: Mergesort
Mergesort 1.3 Erinnerung: Mergesort Um n Zahlen/Objekte a 1,..., a n zu sortieren, geht der Mergesort-Algorithmus so vor: Falls n n 0 : Sortiere mit einem naiven Algorithmus (z. B. Insertion Sort). Sonst:
Mehr9. Rekursion. 1 falls n 1 n (n 1)!, andernfalls. Experiment: Die Türme von Hanoi. Links Mitte Rechts. Mathematische Rekursion
Experiment: Die Türme von Hanoi. Rekursion Mathematische Rekursion, Terminierung, der Aufrufstapel, Beispiele, Rekursion vs. Iteration Links Mitte Rechts Mathematische Rekursion Viele mathematische Funktionen
Mehr5. Algorithmen. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16
5. Algorithmen K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 21. Okt. 2015 1. Berechne 2 n. Zu lösende Probleme 2. Berechne die Fakultät einer nat. Zahl: n! = 1 * 2 *... n 3. Entscheide,
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
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
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
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.
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
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
Mehr2. Algorithmenbegriff
2. Algorithmenbegriff Keine Algorithmen: Anleitungen, Kochrezepte, Wegbeschreibungen,... Algorithmus: Berechnungsvorschrift, die angibt, wie durch Ausführung bestimmter Elementaroperationen aus Eingabegrößen
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]
MehrQuickSort ist ein Sortieralgorithmus, der auf der Idee des Teile & Beherrsche beruht, und das gegebene Array an Ort und Stelle (in place) sortiert
4.3.6 QuickSort QuickSort ist ein Sortieralgorithmus, der auf der Idee des Teile & Beherrsche beruht, und das gegebene Array an Ort und Stelle (in place) sortiert QuickSort teilt das gegebene Array anhand
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
MehrEinführung in die Programmierung
Einleitung Gliederung Einführung in die Programmierung Wintersemester 2017/18 Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering
MehrEinführung in die Programmierung Wintersemester 2016/17
Einführung in die Programmierung Wintersemester 2016/17 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Einleitung Gliederung Zum Begriff Informatik Zum
Mehr11. Rekursion, Komplexität von Algorithmen
11. Rekursion, Komplexität von Algorithmen Teil 2 Java-Beispiele: Power1.java Hanoi.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 23. Nov. 2015 Anwendung der Rekursion Rekursiv
MehrEinführung in die Programmierung
Einleitung Gliederung Einführung in die Programmierung Wintersemester 08/09 Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering
MehrAlgorithmenbegriff: Berechenbarkeit. Algorithmenanalyse. (Berechnung der Komplexität)
Über-/Rückblick Algorithmenbegriff: Berechenbarkeit Turing-Maschine RAM µ-rekursive Funktionen Zeit Platz Komplexität Algorithmentechniken Algorithmenanalyse (Berechnung der Komplexität) Rekursion Iteration
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
MehrGrundlagen: 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
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
Mehrabgeschlossen 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
MehrKapitel 1: Einleitung. Gliederung. Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren
Kapitel 1: Einleitung Wintersemester 2006/07 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Gliederung Zum Begriff Informatik
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
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
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Eigene Entwicklungen Datenstrukturen Elementare Datentypen Abstrakte Datentypen Elementare
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Breitensuche, Tiefensuche Wir besprechen nun zwei grundlegende Verfahren, alle Knoten eines Graphen zu
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
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Ü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,
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
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
MehrDas Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle
122 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 123 Das Suchproblem Gegeben Menge von Datensätzen.
MehrDas Suchproblem 4. Suchen Das Auswahlproblem Suche in Array
Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge von Datensätzen. Beispiele
Mehr7. 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
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. Vorlesung
Algorithmen und Datenstrukturen 1. Vorlesung Martin Dietzfelbinger 7. April 2008 FG KTuEA, TU Ilmenau AuD 07.04.2008 Hörer: Informatikstudierende im 2. Semester, Ingenieurinformatik im 4. Semester. Andere
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 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
MehrDatenstrukturen. 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
MehrAlgorithmen und Datenstrukturen. Organisatorisches. Christian Komusiewicz Ernst-Abbe-Platz 2, R3315
Algorithmen und Datenstrukturen Christian Komusiewicz Ernst-Abbe-Platz 2, R3315 christian.komusiewicz@uni-jena.de Friedrich-Schiller-Universität Jena Institut für Informatik http://users.fmi.uni-jena.de/
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
MehrInhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.
1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Einführende Beispiele 2. Algorithmen Täglich werden Verarbeitungsvorschriften
MehrAlgorithmen und Datenstrukturen 1. EINLEITUNG. Algorithmen und Datenstrukturen - Ma5hias Thimm 1
Algorithmen und Datenstrukturen 1. EINLEITUNG Algorithmen und Datenstrukturen - Ma5hias Thimm (thimm@uni-koblenz.de) 1 Allgemeines Einleitung Zu den Begriffen: Algorithmen und Datenstrukturen systematische
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 Fibonacci Zahlen Fibonacci Folge Die Fibonacci
MehrAuswählen nach Rang (Selektion)
Auswählen nach Rang (Selektion) Geg.: Folge X von n Schlüsseln, eine Zahl k mit k n Ges.: ein k-kleinster Schlüssel von X, also den Schlüssel x k für X sortiert als x x 2 L x n trivial lösbar in Zeit O(kn)
MehrEinführung in die Informatik Algorithmen und Datenstrukturen. Thema 17 Sortieren
Einführung in die Informatik Algorithmen und Datenstrukturen Thema 17 Sortieren Sortierproblem Es gibt eine Menge von Datensätzen, und jeder dieser Sätze besitzt einen (möglichst eindeutigen) Schlüssel.
MehrDas Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle
119 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 120 Das Suchproblem Gegeben
MehrDas Suchproblem 4. Suchen Das Auswahlproblem Suche in Array
Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge
MehrEinführung in die Informatik I
Einführung in die Informatik I LOOP Programme, rekursive Funktionen und der Turm von Hanoi Prof. Dr. Nikolaus Wulff Berechenbarkeit Mitte des 20. Jahrhunderts beantworteten Pioniere, wie Alan M. Turing
MehrSuchen 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
MehrDatenstrukturen, Algorithmen und Programmierung 2
Datenstrukturen, Algorithmen und Programmierung 2 Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 1. VO SS 2008 8. April 2008 Petra Mutzel Kurzvorstellung
MehrÜberblick. 1 Vorbemerkungen. 2 Algorithmen. 3 Eigenschaften von Algorithmen. 4 Historischer Überblick. Einführung
Teil I Einführung Überblick 1 Vorbemerkungen 2 Algorithmen 3 4 Historischer Überblick Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 1 1 Vorbemerkungen Was ist Informatik? Informatik
MehrAlgorithmen und Datenstrukturen Heapsort
Algorithmen und Datenstrukturen 2 5 Heapsort In diesem Kapitel wird Heapsort, ein weiterer Sortieralgorithmus, vorgestellt. Dieser besitzt wie MERGE-SORT eine Laufzeit von O(n log n), sortiert jedoch das
MehrKapitel 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
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2016 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Grundlagen von Algorithmen
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
MehrAlgorithmen und Datenstrukturen Kapitel 2: Korrektheit von Algorithmen und Laufzeitanalyse rekursiver Algorithmen (mittels Rekurrenzgleichungen)
Algorithmen und Datenstrukturen Kapitel 2: und Laufzeitanalyse rekursiver Algorithmen (mittels ) Frank Heitmann heitmann@informatik.uni-hamburg.de 21. Oktober 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de
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
MehrAlgorithmen 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
MehrTechnische Universität München SoSe 2018 Fakultät für Informatik, I Mai 2018 Dr. Stefanie Demirci
Name: Vorname: Matr. Nr.: Technische Universität München SoSe 2018 Fakultät für Informatik, I-16 9. Mai 2018 Dr. Stefanie Demirci Probeklausur zu Algorithmen und Datenstrukturen Allgemeine Hinweise Die
MehrAlgorithmik Übung 2 Prof. Dr. Heiner Klocke Winter 11/
Algorithmik Übung 2 Prof. Dr. Heiner Klocke Winter 11/12 23.10.2011 Themen: Asymptotische Laufzeit von Algorithmen Experimentelle Analyse von Algorithmen Aufgabe 1 ( Asymptotische Laufzeit ) Erklären Sie,
Mehr