Probeklausur. Algorithmen und Datenstrukturen (für ET/IT) Kapitel 1: Einführung. Programm heute. Wann? während Zentralübung am Mittwoch, 21.

Größe: px
Ab Seite anzeigen:

Download "Probeklausur. Algorithmen und Datenstrukturen (für ET/IT) Kapitel 1: Einführung. Programm heute. Wann? während Zentralübung am Mittwoch, 21."

Transkript

1 Probeklausur Algorithmen und strukturen (für ET/IT) Sommersemester 2014 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Wann? während Zentralübung am Mittwoch, 21. Mai 2014 Wo? Hörsaal 1200 Wie? 9:45-10:30: Bearbeitungszeit Probeklausur 10:30-11:15: Besprechung der Probeklausur Erlaubtes Material: nur 1 DIN A4 Blatt, handbeschrieben keine Bücher, Skripten, Ausdrucke, Smartphones, etc. Wozu? Simulation der tatsächlichen Prüfungssituation am 16. Juli 2014 Vertrautmachen mit der Art von Prüfungsaufgaben 3 Programm heute 1 Einführung 2 Grundlagen von Algorithmen 3 Grundlagen von strukturen 4 Grundlagen der Korrektheit von Algorithmen 5 Grundlagen der Effizienz von Algorithmen 6 Grundlagen des Algorithmen-Entwurfs Wiederholung und Anwendungsbeispiele Kapitel 1: Einführung Definition Algorithmus Algorithmus Definition: M. Broy: Informatik: Eine grundlegende Einführung Ein Algorithmus ist ein Verfahren mit einer präzisen (d.h. in einer genau festgelegten Sprache abgefassten), endlichen Beschreibung, unter Verwendung e ektiver (d.h. tatsächlich ausführbarer), elementarer (Verarbeitungs-) Schritte. Definition struktur struktur Definition: Definition struktur (nach Prof. Eckert) Eine struktur ist eine logische Anordnung von objekten, die Informationen repräsentieren, den Zugri auf die repräsentierte Information über Operationen auf ermöglichen und die Information verwalten

2 Kapitel 1: Einführung Wie funktioniert ein Computer? Einordnung in Computer-Schema: Kapitel 2: Grundlagen von Algorithmen Algorithmen und Algorithmus strukturen Hochsprache (z.b. C, C++) Computertechnik Betriebssystem Assembler Maschinensprache Software 2.1 Darstellung von Algorithmen 2.2 Elementare Bausteine 2.3 Logische Ausdrücke Digitaltechnik Mikroarchitektur Digitale Logik Transistoren, Verdrahtung Hardware Schaltungstechnik Masken-Layout, Halbleiter Schema nach Prof. Diepold: Grundlagen der Informatik Kapitel 2.1: Darstellung von Algorithmen Algorithmus: max(a,b) Input: a,b x=a Falls b>a dann x=b Ende Falls Output: x Input: a,b x = a b>a? nein Output: x ja x = b max(a,b) x=a x=b x ja b>a? nein int max(int a, int b) { int x = a; if (b > a) x = b; return x; Kapitel 2.2: Elementare Bausteine Bausteine von Algorithmen Bausteine von Algorithmen: Elementare Bausteine Alle berechenbaren Algorithmen lassen sich mit darstellen: vier elementaren Bausteinen 1 Elementarer Verarbeitungsschritt (z.b. Zuweisung an Variable) 2 Sequenz (elementare Schritte nacheinander) 3 Bedingter Verarbeitungsschritt (z.b. if/else) 4 Wiederholung (z.b. while-schleife) Churchsche These: alle vernünftigen Beschreibungen sind äquivalent

3 Kapitel 2.3: Logische Ausdrücke Logische Werte und Verknüpfungen Kapitel 3: Elementare strukturen Grundrechenarten mit logischen Werten: Konjunktion: ^ : B B! B ähnlich zu Multiplikation bei Zahlen auch bezeichnet als UND bzw. AND Disjunktion: _ : B B! B ähnlich zu Addition bei Zahlen auch bezeichnet als ODER bzw. OR Negation: : B! B auch bezeichnet als NICHT bzw. NOT Wahrheitstabelle: a b a ^ b a b a _ b a a Primitive typen und Zahldarstellung 3.2 Felder als sequentielle Liste 3.3 Zeichen und Zeichenfolgen 3.4 Felder als verkettete Liste 3.5 Abstrakte typen 3.6 Stacks 3.7 Queues Verknüpfungen NAND, NOR, XOR Verknüpfungen Implikation, Äquivalenz Rechenregeln: NOT vor AND vor OR, De Morgan Gesetze Kapitel 3.1: Primitive typen und Zahldarstellung Kapitel 3.2: Felder als sequentielle Liste Bits und Bytes Bit 7 Bit 0 Feld als sequentielle Liste / Array: A[n-1] A[n-2].... A[1] A[0] 1 Byte = 8 Bit Primitive typen: char, short, long, signed oder unsigned Zahldarstellung mit Polynom p(x), wobei x Basis x = 10: Dezimaldarstellung x = 2: Binärdarstellung Wie viele Ziffern m pro Zahl z? m = log x (z) + 1 Größte Zahl pro m Ziffern? z max = x m 1 2-Komplement Darstellung Floating Point Zahlen: f = ( 1) V (1 + M) 2 E bias float, double Operationen: elementat: O(1), insert: O(n), erase: O(n) insert und erase erfordern Umkopieren der Elemente:

4 Kapitel 3.3: Zeichen und Zeichenfolgen Kapitel 3.4: Felder als verkettete Liste Feld als verkettete Liste: start Zeichen codiert als ASCII, Unicode, etc. Folge von Zeichen: String null Operationen: elementat: O(n), insert: O(n), erase: O(n) als String-Literal: AuD Feld als doppelte verkettete Liste: als Feld von Zeichen: null 'D' 'u' prev prev prev prev 'A' start stop null Operationen: elementat: O(n), insert: O(n), erase: O(n) 14 Kapitel 3.5: Abstrakte typen 15 Kapitel 3.6: Stacks Definition Abstrakter typ Stack als abstrakter typ mit Operationen (push, pop, top, isempty, initialize) Bedingungen (z.b. push(s, x); store(v, pop(s)) a quivalent zu store(v, x)) Definition abstrakter typ: Abstrakter typ (englisch: abstract data type, ADT) Ein abstrakter typ ist ein mathematisches Modell fu r bestimmte strukturen mit vergleichbarem Verhalten. Ein abstrakter typ wird indirekt definiert u ber "pop" mo gliche Operationen auf ihm sowie mathematische Bedingungen (oder: constraints) u ber die Piz za Auswirkungen der Operationen (u.u. auch die Kosten der Operationen). Piz za Piz za #3 #2 #1 neu e Piz za Stack implementiert als sequentielle Liste verkettete Liste beide mit Komplexita t von push, pop, top: O(1) Abstrakte Variable V mit Operationen (load, store) 23 Bedingungen (load(v) liefert Wert x von letztem store(v, x)) 16 17

5 Kapitel 3.7: Queues Kapitel 4: Grundlagen der Korrektheit von Algorithmen Queue als abstrakter typ mit Operationen (dequeue, enqueue, isempty, initialize) Bedingungen (z.b. enqueue(q, x); store(v, dequeue(q)) äquivalent zu store(v, x)) Person verlässt Schlange Person stellt sich an Queue implementiert als verkettete Liste sequentielle Liste (z.b. zirkulär) beide mit Komplexität von dequeue, enqueue: O(1) 4.1 Motivation und Spezifikation 4.2 Verifikation 4.3 Beispiel: Insertion Sort 4.4 Validation als Kuriosität: als zwei Stacks (dequeue hat hier worst-case Komplexität O(n)) Kapitel 4.1: Motivation und Spezifikation Kapitel 4.2: Verifikation Software-Fehler sind leider alltäglich Korrektheit ist relativ bezüglich der Spezifikation Verifikation: formaler Beweis der Korrektheit bzgl. Spezifikation mit Vor- und Nachbedingungen {VOR ANW {NACH für die vier elementaren Bausteine: für elementaren Verarbeitungsschritt für Sequenz für bedingten Verarbeitungsschritt für Wiederholung mit Schleifeninvariante Verifikation ist aufwendig und teilweise automatisierbar 20 21

6 Kapitel 4.3: Beispiel Insertion Sort Kapitel 4.4: Validation Insertion Sort: Sortieren durch direktes Einfügen Komplexität: best case: O(n) worst case: O(n 2 ) formale Verifikation von Insertion Sort Pseudocode mit Schleifeninvariante Validation: informeller Nachweis der Korrektheit durch systematisches Testen leider oft: Validation statt Verifikation Validation auch hilfreich falls Verifikation erfolgt Validation durch systematisches Testen: Blackbox-Test Whitebox-Test Regressions-Test Integrations-Test Testen in der Praxis z.b. mit assert und Unit Test Frameworks fehlertolerantes und fehlerpräventives Programmieren Kapitel 5: Grundlagen der Effizienz von Algorithmen Kapitel 5.1: Motivation 5.1 Motivation 5.2 RAM-Modell 5.3 Landau-Symbole Komplexitätsanalyse von Algorithmen: Bedarf an Speicherplatz und Rechenzeit Komplexität abhängig von Eingabegröße n Wachstumsverhalten n n² n*ln(n) n ln(n) ausführliche Komplexitätsanalyse von Insertion Sort mit Konstanten (aufwendig) 24 25

7 Kapitel 5.2: RAM-Modell RAM-Modell: einfaches Rechnermodell zur Laufzeitanalyse nur sequentielle Ausführung keine Speicherlatenz alle elementaren Verarbeitungsschritte benötigen eine Wachstumsraten illustriert Zeiteinheit Annahme: Rechner mit 1GHz Taktfrequenz eine Operation benötigt 1ns (nano-sekunde) der höchste Term n bezeichne dominiert Anzahl Operationen Laufzeit: n T (n) =ln(n) T (n) =n T (n) =n ln(n) T (n) =n 2 T (n) =2 n T (n) =n! µs 0.01µs 0.033µs 0.1µs 1µs 3.63ms µs 0.02µs 0.086µs 0.4µs 1ms 77.1 years µs 0.03µs 0.147µs 0.9µs 1s years µs 0.04µs 0.213µs 1.6µs 18.3min µs 0.05µs 0.282µs 2.5µs 13 days µs 0.1µs 0.644µs 10µs years µs 1.0µs 9.966µs 1ms µs 10µs 130µs 100ms µs 0.1ms 1.67ms 10s µs 1ms 19.93ms 16.7min µs 0.01s 0.23s 1.16 days µs 0.1s 2.66s days µs 1s 29.9s 31.7 years Tabelle adaptiert von The Algorithm Design Manual, S. Skiena, Springer 8 26 Kapitel 5.3: Landau-Symbole Landau-Symbol Landau-Symbol Θ: Landau-Symbol Sei g : R! R eine Funktion. Das Landau-Symbol (g) ist definiert als die Menge (g) := f : R! R : es existieren c 1, c 2 > 0, n 0 2 N so dass für alle n Landau-Symbol O Landau-Symbol O: n 0 gilt: 0 apple c 1 g(n) apple f (n) apple c 2 g(n) Für f : R! R mit f 2 (g) schreibenwirkurz:f = (g). f ist also bis auf konstanten Faktor im wesentlichen gleich der Funktion g für n n 0 Landau-Symbol O man sagt auch: g ist asymptotisch scharfe Schranke von f Sei g (von : R! oben R eine und Funktion. unten) Das Landau-Symbol O(g) ist definiert Kurznotation: als die Menge f = (g) oder f (n) = (g(n)) O(g) := {f : R! R : es existieren c > 0undn 0 2 N so dass für alle n n 0 gilt: 0 apple f (n) apple cg(n) Für f : R! R mit f 2 O(g) schreibenwirkurz:f = O(g). man sagt auch: g ist asymptotisch obere Schranke von f auch genannt: gross-o-notation aus f = (g) folgt automatisch f = O(g) Kapitel 5.3: Landau-Symbole Kapitel 6: Grundlagen des Algorithmen-Entwurfs 23 Kategorisierung der Laufzeit von Algorithmen O(1): konstant O(log n): logarithmisch O(n): linear O(n log n): loglinear O(n 2 ): quadratisch O(2 n ): exponentiell Rechenregeln für die vier elementaren Bausteine elementarer Verarbeitungsschritt: O(1) Sequenz: Addition in O-Notation bedingter Verarbeitungsschritt: Maximum von if/else sowie O(1) für Bedingung Wiederholung: Anzahl Schleifendurchläufe multipliziert mit Komplexität Schleifenkörper sowie jeweils O(1) für Bedingung 6.1 Entwurfsprinzipien 6.2 Divide and Conquer 6.3 Greedy-Algorithmen 6.4 Backtracking 6.5 Dynamisches Programmieren 28 29

8 Kapitel 6.1: Entwurfsprinzipien kein Patentrezept zum Entwurf von Algorithmen Prinzip: Verfeinerung bzw. Top-Down Entwurf Vorgehen mit schrittweiser Verfeinerung des Lösungsansatzes Prinzip: Algorithmen-Muster bzw. Design Patterns Lösungsverfahren f ur bestimmte Problemklasse Anpassung an konkrete Problemstellung Kapitel 6.2: Divide and Conquer Muster: Divide and Conquer Algorithmen-Muster: Divide and Conquer-Muster Divide and als Pseudocode: Conquer Input: Aufgabe A DivideAndConquer(A): if (A klein) { löse A explizit; else { teile A in Teilaufgaben A 1,...,A n auf; DivideAndConquer(A 1);... DivideAndConquer(A n); setze Lösung für A zusammen aus Lösungen für A 1,...,A n Beispiel: MergeSort Komplexität O(n log n) mit Rekursionsbaum benötigt extra Speicher Beispiel: QuickSort Komplexität im Mittel O(n log n) worst case: O(n 2 ) Algorithmen-Muster: Greedy Kapitel 6.3: Greedy-Algorithmen Algorithmen-Muster: Greedy Greedy-Muster als Pseudocode: Input: Aufgabe A Greedy(A): while (A nicht gelöst) { wähle bestmöglichen Schritt; // Greedy Strategie baue Schritt in Lösung ein; Beispiel: Wechselgeld, minimale Anzahl Münzen Kapitel 6.4: Backtracking Algorithmen-Muster: Backtracking Voraussetzungen: Lösungs(teil)raum repräsentiert als Konfiguration K K 0 ist Start-Konfiguration jede Konfiguration K i kann direkt erweitert werden Algorithmen-Muster: Backtracking für jede Konfiguration ist entscheidbar, ob Lösung Input: Konfiguration K Backtrack(K): if (K ist Lösung) { gib K aus; else { for each (direkte Erweiterung K 0 von K) { Backtrack(K 0 ); Beispiel: Labyrinth, Maus mit Käse 26 Beispiel: Glasfasernetz, minimale Spannbaum 10 1 (1,1) (1,2) K K K 3 K K 5 K 2 6 K 4 K 1 1 K K 5 2 (2,2) (2,1) (3,2) 3 (3,1) (3,3) Beispiel: Traveling Salesman Problem Beispiel: Acht-Damen-Problem (1,3) (2,3) 32 33

9 Kapitel 6.5: Dynamisches Programmieren Warnung! Prinzip dynamisches Programmieren statt Rekursion aufwärts von kleinstem Teilproblem rechnen Zwischenergebnisse Fibonacci Zahlen in Tabellen speichern Beispiel: Fibonacci Folge Fibonacci Folge Die Fibonacci Folge ist eine Folge natürlicher Zahlen f 1, f 2, f 3,..., für die gilt f n = f n 1 + f n 2 für n 3 mit Anfangswerten f 1 = 1, f 2 = 1. ACHTUNG! Vorlesung heute dient nur der Wiederholung und Einordnung des bereits behandelten Stoffes Anwendungs-Szenarien (und Hintergründe, Details dazu) sind NICHT klausur-relevant! eingesetzt von Leonardo Fibonacci zur Beschreibung von Wachstum einer Kaninchenpopulation Folge lautet: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,... berechenbar z.b. via Rekursion Anwendungs-Szenarien Warnung! separate Präsentation ACHTUNG! Vorlesung heute dient nur der Wiederholung und Einordnung des bereits behandelten Stoffes Anwendungs-Szenarien (und Hintergründe, Details dazu) sind NICHT klausur-relevant! 36 37

10 Zusammenfassung 1 Einführung 2 Grundlagen von Algorithmen 3 Grundlagen von strukturen 4 Grundlagen der Korrektheit von Algorithmen 5 Grundlagen der Effizienz von Algorithmen 6 Grundlagen des Algorithmen-Entwurfs Wiederholung und Anwendungsbeispiele 38

Algorithmen und Datenstrukturen (für ET/IT)

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

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen 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

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Algorithmus. Wie beschreibt man Algorithmen?

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Algorithmus. Wie beschreibt man Algorithmen? Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 1 Einführung Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München 2 Grundlagen von Algorithmen

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 05 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute Einführung Grundlagen von Algorithmen Grundlagen

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen 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

Mehr

Wiederholung: Zusammenfassung Felder. Algorithmen und Datenstrukturen (für ET/IT) Definition Abstrakter Datentyp. Programm heute

Wiederholung: Zusammenfassung Felder. Algorithmen und Datenstrukturen (für ET/IT) Definition Abstrakter Datentyp. Programm heute Wiederholung: Zusammenfassung Felder Algorithmen und Datenstrukturen (für ET/IT) Wintersemester / Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Ein Feld A kann repräsentiert

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 07 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Programm heute Einführung Grundlagen von Algorithmen

Mehr

1 Einführung. 2 Grundlagen von Algorithmen. 3 Grundlagen von Datenstrukturen. 4 Grundlagen der Korrektheit von Algorithmen

1 Einführung. 2 Grundlagen von Algorithmen. 3 Grundlagen von Datenstrukturen. 4 Grundlagen der Korrektheit von Algorithmen Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 0 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Einführung Grundlagen von Algorithmen Grundlagen

Mehr

Organisatorisches. Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Tutorübungen

Organisatorisches. Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Tutorübungen Organisatorisches Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2018 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Vorlesung online: Webseite: http://campar.in.tum.de/chair/teachingss18aud

Mehr

Übung zu Algorithmen und Datenstrukturen (für ET/IT)

Ü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

Mehr

Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Wintersemester 2012/13. Dr. Tobias Lasser. 1 Organisation

Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Wintersemester 2012/13. Dr. Tobias Lasser. 1 Organisation 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 Organisation 2 Einführung Ziele und

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen 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

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen 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 Organisation 2 Einführung Ziele und

Mehr

Technische Universität München SoSe 2015 Institut für Informatik I Mai 2015 Dr. Tobias Lasser. Aufgabe 1 Rechnen mit Landau-Symbolen

Technische Universität München SoSe 2015 Institut für Informatik I Mai 2015 Dr. Tobias Lasser. Aufgabe 1 Rechnen mit Landau-Symbolen Technische Universität München SoSe 2015 Institut für Informatik I-16 27. Mai 2015 Dr. Tobias Lasser Lösungsvorschläge zur Musterklausur zu Algorithmen und Datenstrukturen Aufgabe 1 Rechnen mit Landau-Symbolen

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm 1 Organisation 2 Einführung Ziele und Inhalt

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Feld als sequentielle Liste. Definition Feld

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Feld als sequentielle Liste. Definition Feld Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 205 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Einführung 2 Grundlagen von Algorithmen

Mehr

Algorithmen und Datenstrukturen (fu r ET/IT) Personen. Programm heute. Wintersemester 2012/13. Wintersemester 2012/13. Dr.

Algorithmen und Datenstrukturen (fu r ET/IT) Personen. Programm heute. Wintersemester 2012/13. Wintersemester 2012/13. Dr. Algorithmen und Datenstrukturen (fu r ET/IT) Algorithmen und Datenstrukturen (fu r ET/IT) Wintersemester 2012/13 Wintersemester 2012/13 Dr. Tobias Lasser Dr. Tobias Lasser Computer Aided Medical Procedures

Mehr

Organisatorisches. Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Definition Feld. Definition Feld

Organisatorisches. Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Definition Feld. Definition Feld Organisatorisches Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 208 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München TUMonline-Einträge: Vorlesung https://campus.tum.de/tumonline/wblv.

Mehr

Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Sommersemester Dr. Tobias Lasser. 1 Organisation

Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Sommersemester Dr. Tobias Lasser. 1 Organisation Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2014 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 1 Organisation 2 Einführung Ziele und Inhalt

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Personen. Termine. Vorlesung. Sommersemester Dr. Tobias Lasser

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Personen. Termine. Vorlesung. Sommersemester Dr. Tobias Lasser Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2014 1 Organisation Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München 2 Einführung Ziele und Inhalt

Mehr

Übung zu Algorithmen und Datenstrukturen (für ET/IT)

Ü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

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2014 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München 2 Programm heute 1 Einführung 2 Grundlagen von Algorithmen

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen 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 Wiederholung: Ziele der Vorlesung Wissen: Algorithmische

Mehr

Algorithmen und Datenstrukturen (für ET/IT) Wiederholung: Ziele der Vorlesung. Wintersemester 2012/13. Dr. Tobias Lasser

Algorithmen und Datenstrukturen (für ET/IT) Wiederholung: Ziele der Vorlesung. Wintersemester 2012/13. Dr. Tobias Lasser Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Wiederholung: Ziele der Vorlesung Wissen: Algorithmische

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2014 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München 2 Programm heute 1 Einführung 2 Grundlagen von Algorithmen

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Feld. Feld als sequentielle Liste

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Feld. Feld als sequentielle Liste Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 204 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Einführung 2 Grundlagen von Algorithmen

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Personen. Termine. Vorlesung. Sommersemester Dr. Tobias Lasser

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Personen. Termine. Vorlesung. Sommersemester Dr. Tobias Lasser Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 1 Organisation Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München 2 Einführung Ziele und Inhalt

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen 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 Feedback Vielen Dank für das Feedback auf Moodle! Bitte

Mehr

Detaillierte Gliederung Algorithmen und Datenstrukturen (für ET/IT)

Detaillierte Gliederung Algorithmen und Datenstrukturen (für ET/IT) Detaillierte Gliederung Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 Dr. Tobias Lasser Stand: 7. Juli 2015 1 Einführung Wo kommen Algorithmen und Datenstrukturen vor? Definition und

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2018 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Organisatorisches: Keine Vorlesung nächste Woche wegen

Mehr

Übung zu Algorithmen und Datenstrukturen (für ET/IT)

Ü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) Ü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 Administratives Zentralübung (Mittwoch, 09:45

Mehr

Übung zu Algorithmen und Datenstrukturen (für ET/IT)

Übung zu Algorithmen und Datenstrukturen (für ET/IT) Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 Matthias Wieczorek Computer-Aided Medical Procedures Technische Universität München Administratives Zentralübung (Mittwoch, 09:45

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen 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 Organisatorisches ausführliches Inhaltsverzeichnis

Mehr

Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3)

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

Mehr

Übung Algorithmen und Datenstrukturen

Ü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

Mehr

Übung Algorithmen und Datenstrukturen

Ü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.

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Suchen. Lineare Suche. Such-Algorithmen. Sommersemester Dr.

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Suchen. Lineare Suche. Such-Algorithmen. Sommersemester Dr. Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 0 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Fortgeschrittene Datenstrukturen Such-Algorithmen

Mehr

( )= c+t(n-1) n>1. Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3)

( )= 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

Mehr

Algorithmen und Datenstrukturen Effizienz und Funktionenklassen

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,

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

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 Organisation 2 Einführung Ziele und

Mehr

2. Grundlagen. Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten.

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

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2017 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda 1. Sortierte Listen 2. Stacks & Queues 3. Teile und Herrsche Nächste Woche: Vorrechnen (first-come-first-served)

Mehr

Algorithmen I. Tutorium 1-3. Sitzung. Dennis Felsing

Algorithmen I. Tutorium 1-3. Sitzung. Dennis Felsing Algorithmen I Tutorium 1-3. Sitzung Dennis Felsing dennis.felsing@student.kit.edu www.stud.uni-karlsruhe.de/~ubcqr/algo 2011-05-02 Überblick 1 Sortieren und Suchen 2 Mastertheorem 3 Datenstrukturen 4 Kreativaufgabe

Mehr

Algorithmen und Datenstrukturen 1 Kapitel 5

Algorithmen 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

Mehr

Abschnitt 7: Komplexität von imperativen Programmen

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

Mehr

Willkommen zur Vorlesung. Algorithmen und Datenstrukturen

Willkommen zur Vorlesung. Algorithmen und Datenstrukturen Willkommen zur Vorlesung Algorithmen und Datenstrukturen Mein Name: Andreas Berndt Zum Dozenten Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen Derzeitige Sprachen:

Mehr

Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken.

Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken. Abstrakte Datentypen und Datenstrukturen/ Einfache Beispiele Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken. Datenstruktur (DS): Realisierung

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen 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 Organisatorisches Nächste Woche keine Vorlesung! Es

Mehr

Kapitel 1 Einleitung. Definition: Algorithmus nach M. Broy: aus: Informatik: Eine grundlegende Einführung, Band 1, Springer-Verlag, Berlin

Kapitel 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.

Mehr

Organisatorisches. Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Definition Datenstruktur. Nächste Woche keine Vorlesung!

Organisatorisches. Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Definition Datenstruktur. Nächste Woche keine Vorlesung! Organisatorisches Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Nächste Woche keine Vorlesung! Es

Mehr

Übung zu Algorithmen und Datenstrukturen (für ET/IT)

Übung zu Algorithmen und Datenstrukturen (für ET/IT) Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2018 Mai Bui Computer Aided Medical Procedures Technische Universität München Administratives Zentralübung (Mittwoch, 09:45 11:15) Programmierbeispiele

Mehr

2. Effizienz von Algorithmen

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]

Mehr

Algorithmen und Datenstrukturen I Grundlagen

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

Mehr

Übung Algorithmen und Datenstrukturen

Ü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

Mehr

1 Einführung. 2 Grundlagen von Algorithmen. 3 Grundlagen von Datenstrukturen. 4 Grundlagen der Korrektheit von Algorithmen

1 Einführung. 2 Grundlagen von Algorithmen. 3 Grundlagen von Datenstrukturen. 4 Grundlagen der Korrektheit von Algorithmen Programm heute lgorithmen und atenstrukturen (für T/IT) Sommersemester 0 r. Tobias Lasser omputer ided Medical Procedures Technische Universität München inführung rundlagen von lgorithmen rundlagen von

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

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 Organisatorisches Tutorfragestunden (Start: Heute)

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 6 (7.5.2018) Dictionaries, Binäre Suche, Hashtabellen I / Yannic Maus Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary:

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & 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

Mehr

Grundlagen der Programmierung

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

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Eigene Entwicklungen Datenstrukturen Elementare Datentypen Abstrakte Datentypen Elementare

Mehr

Asymptotik und Laufzeitanalyse

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

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Was sind primitive Datentypen? Bits und Bytes. Primitive Datentypen. Sommersemester 2014

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Was sind primitive Datentypen? Bits und Bytes. Primitive Datentypen. Sommersemester 2014 Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2014 1 Einführung Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München 2 Grundlagen von Algorithmen

Mehr

Einstieg in die Informatik mit Java

Einstieg 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

Mehr

Einführung in die Programmierung

Einfü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

Grundlagen: Algorithmen und Datenstrukturen

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

Mehr

Komplexität von Algorithmen

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

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. (Sortierte) Listen 2. Stacks & Queues 3. Datenstrukturen 4. Rekursion und vollständige Induktion

Mehr

Algorithmen und Datenstrukturen (für ET/IT) Organisatorisches. Sommersemester Dr. Stefanie Demirci. Weiterer Ablauf:

Algorithmen und Datenstrukturen (für ET/IT) Organisatorisches. Sommersemester Dr. Stefanie Demirci. Weiterer Ablauf: Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2017 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Organisatorisches Weiterer Ablauf: Dienstag, 2. Juli:

Mehr

Komplexität von Algorithmen:

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

Mehr

12. Dynamische Datenstrukturen

12. Dynamische Datenstrukturen Motivation: Stapel. Dynamische Datenstrukturen Verkettete Listen, Abstrakte Datentypen Stapel, Warteschlange, Implementationsvarianten der verketteten Liste 0 04 Motivation: Stapel ( push, pop, top, empty

Mehr

Kapitel 10. Komplexität von Algorithmen und Sortieralgorithmen

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:

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2018 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Programm heute 1 Organisation 2 Einführung Ziele und

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Personen. Personen. Sommersemester Dr. Stefanie Demirci

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Personen. Personen. Sommersemester Dr. Stefanie Demirci Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2018 1 Organisation Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München 2 Einführung Ziele und

Mehr

Counting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit

Counting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit Counting-Sort Counting - Sort ( A,B,k ). for i to k. do C[ i]. for j to length[ A]. do C[ A[ j ] C[ A[ j ] +. > C[ i] enthält Anzahl der Elemente in 6. for i to k. do C[ i] C[ i] + C[ i ]. > C[ i] enthält

Mehr

Kapitel 3 Zur Korrektheit und Effizienz von Algorithmen

Kapitel 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

Mehr

Vorlesung Datenstrukturen

Vorlesung 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:

Mehr

Übungen zu Algorithmentechnik WS 09/10

Ü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,

Mehr

Kapitel 1: Informationsverarbeitung durch Programme

Kapitel 1: Informationsverarbeitung durch Programme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel 1: Informationsverarbeitung

Mehr

Komplexität. G. Zachmann Clausthal University, Germany Leistungsverhalten von Algorithmen

Komplexitä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

Mehr

3.3 Laufzeit von Programmen

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,

Mehr

Kapitel 5: Paradigmen des Algorithmenentwurfs. Gliederung

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

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: 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

Mehr

Abschnitt 2: Daten und Algorithmen

Abschnitt 2: Daten und Algorithmen Abschnitt 2: Daten und Algorithmen 2. Daten und Algorithmen 2.1 Zeichenreihen 2.2 Datendarstellung durch Zeichenreihen 2.3 Syntaxdefinitionen 2.4 Algorithmen 2 Daten und Algorithmen Einf. Progr. (WS 08/09)

Mehr

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. 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

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 2 (22.4.2016) Sortieren II Algorithmen und Komplexität SelectionSort: Programm Schreiben wir doch das gleich mal als Java/C++ - Programm

Mehr

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen

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:

Mehr

Grundlagen: Algorithmen und Datenstrukturen

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

Mehr

Learning Object-Oriented Programming. Algorithmen. Algorithmusbegriff. Klärung der Herkunft des Begriffs Formale Definition von Algorithmus

Learning Object-Oriented Programming. Algorithmen. Algorithmusbegriff. Klärung der Herkunft des Begriffs Formale Definition von Algorithmus Algorithmen Algorithmusbegriff Klärung der Herkunft des Begriffs Formale Definition von Algorithmus Algorithmusbegriff Algorithmen sind eine der ältesten (abstrakten) Beschreibungstechniken für Abläufe.

Mehr

1 Abstrakte Datentypen

1 Abstrakte Datentypen 1 Abstrakte Datentypen Spezifiziere nur die Operationen! Verberge Details der Datenstruktur; der Implementierung der Operationen. == Information Hiding 1 Sinn: Verhindern illegaler Zugriffe auf die Datenstruktur;

Mehr