Algorithmen I. Prof. Jörn Müller-Quade. Übungen: Björn Kaidel, Sebastian Schlag und Sascha Witt

Größe: px
Ab Seite anzeigen:

Download "Algorithmen I. Prof. Jörn Müller-Quade. Übungen: Björn Kaidel, Sebastian Schlag und Sascha Witt"

Transkript

1 Algorithmen I Prof. Jörn Müller-Quade Übungen: Björn Kaidel, Sebastian Schlag und Sascha Witt Institut für theoretische Informatik Web: (Folien von Peter Sanders) KIT Institut für Theoretische Informatik 1

2 Organisatorisches Vorlesungen: Saalübung: Mo: 15:4517:15 Mi: 14:0014:45 Mi: 14:4515:30 Tutorium: wöchentlich, ab nächster Woche Einteilung mittels Webinscribe Übungsblätter: wöchentlich Ausgabe Montag (spätestens nach der Vorlesung) Abgabe Dienstag 12:45 Uhr (8 Tage nach Ausgabe) KIT Institut für Theoretische Informatik 2

3 Organisatorisches Sprechstunde: Montag, Uhr Prof. Jörn Müller-Quade, Raum 268, Geb Mittsemesterklausur: zur Kontrolle Abschlussklausur: , 100% der Note nächste Versuchsmöglichkeit: nach dem WS 17/18 KIT Institut für Theoretische Informatik 3

4 Materialien Folien, Übungsblätter Diskussionsforum: Link siehe Homepage Buch: K. Mehlhorn, P. Sanders Algorithms and Data Structures The Basic Toolbox Taschenbuch der Algorithmen Springer 2008 (Unterhaltung / Motivation) KIT Institut für Theoretische Informatik 4

5 Weitere Bücher Algorithmen - Eine Einführung von Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, und Cliord Stein von Oldenbourg Algorithmen und Datenstrukturen von Thomas Ottmann und Peter Widmayer von Spektrum Akademischer Verlag Algorithmen kurz gefasst von Uwe Schöning von Spektrum Akad. Vlg., Hdg. KIT Institut für Theoretische Informatik 5

6 Übungen Übungen Siehe Extra-Folien KIT Institut für Theoretische Informatik 6

7 Algorithmus? Kann man das essen? Pseudogriechische Verballhornung eines Namens, der sich aus einer Landschaftsbezeichnung ableitet: Al-Khwarizmi war persischer/usbekischer Wissenschaftler (aus Khorasan) aber lebte in Bagdad Machtzentrum des arabischen Kalifats auf seinem Höhepunkt. Er hat ein Rechenlehrbuch geschrieben. Algorithmus wurde zum Synonym für Rechenvorschrift. Unter einem Algorithmus versteht man eine genau denierte Handlungsvorschrift zur Lösung eines Problems oder einer bestimmten Art von Problemen in endlich vielen Schritten. KIT Institut für Theoretische Informatik 7

8 Algorithmik Kerngebiet der (theoretischen) Informatik mit direktem Anwendungsbezug Informatik theoretische Algorithmik Logik effiziente Soft u. Hardware korrekte praktische KIT Institut für Theoretische Informatik 8

9 Datenstruktur Ein Algorithmus bearbeitet Daten. Wenn ein Teil dieser Daten eine (interessante) Struktur haben, nennen wir das Datenstruktur. Immer wiederkehrende Datenstrukturen und dazugehörige Algorithmenteile wichtige Grundwerkzeuge (Basic Toolbox) KIT Institut für Theoretische Informatik 9

10 Themenauswahl: Werkzeugkasten Immer wieder benötigte Datenstrukturen Algorithmen Entwurfstechniken neue Algorithmen Analysetechniken Leistungsgarantien, objektiver Algorithmenvergleich Jeder Informatiker braucht das Pichtvorlesung KIT Institut für Theoretische Informatik 10

11 Inhaltsübersicht 1. Amuse Geule Appetithäppchen 2. Einführung der Werkzeugkasten für den Werkzeugkasten 3. Folgen, Felder, Listen Mütter und Väter aller Datenstrukturen 4. Hashing Chaos als Ordnungsprinzip 5. Sortieren Ezienz durch Ordnung 6. Prioritätslisten immer die Übersicht behalten 7. Sortierte Liste die eierlegende Wollmilchsau 8. Graphrepräsentation Beziehungen im Gri haben 9. Graphtraversierung globalen Dingen auf der Spur 10. Kürzeste Wege schnellstens zum Ziel 11. Minimale Spannbäume immer gut verbunden 12. Optimierung noch mehr Entwurfsmethoden KIT Institut für Theoretische Informatik 11

12 Amuse Geule Beispiel: Langzahl-Multiplikation Schreibe Zahlen als Ziernfolgen a = (a n 1...a 0 ), a i 0..B 1. Wir zählen Volladditionen: (c,s):= a i +b j +c Beispiel (B = 10): = (1,9) Ziernmultiplikationen: (p,p):= a i b j Beispiel (B = 10): 9 9 = (8,1) KIT Institut für Theoretische Informatik 12

13 Addition c=0 : Digit // carry / Überlauf for i := 0 to n 1 do (c,s i ):= a i + b i + c s n := c a b 0 c n 0 s Satz: Addition von n-ziern-zahlen braucht n Ziern-Additionen. KIT Institut für Theoretische Informatik 13

14 Beispiel c=0 : Digit // carry / Überlauf for i := 0 to n 1 do (c,s i ):= a i + b i + c s n := c a b c s KIT Institut für Theoretische Informatik 14

15 Exkurs: Pseudocode Kein C/C++/Java Eher Pascal + Mathe begin/end Zuweisung: := Kommentar: // Ausdrücke: volle Mathepower Deklarationen: c=0 : Digit Tupel: (c,s i ):= a i + b i + c Schleifen: for, while, repeat...until,... Menschenlesbarkeit vor Maschinenlesbarkeit Einrückung trägt Bedeutung {i 2 : a,b 2 : i = ab} uvam: Buch Abschnitt 2.3, hier: just in time und on demand if, Datentypen, Klassen, Speicherverwaltung KIT Institut für Theoretische Informatik 15

16 Exkurs vom Exkurs: Wieso nicht C++/Java-like? Klare Unterscheidung von Programmcode viele redundante ()[]; C for ist sehr low level == ist unschön während := für Zuweisung klarer ist C Logik/Bitoperatoren sind kryptischer als etc. Wir verwendenen C++/Java-Notation wo dies sinnvoll ist // + +, + = = Mathenotation ist oft mächtiger KIT Institut für Theoretische Informatik 16

17 Ziernmultiplikation Function numbertimesdigit(a : Array [0..n 1] of Digit, b : Digit) low(ab) high(ab) 0 c n 0 result KIT Institut für Theoretische Informatik 17

18 Beispiel numbertimesdigit(256, 4) low(ab) high(ab) c result KIT Institut für Theoretische Informatik 18

19 Ziernmultiplikation Function numbertimesdigit(a : Array [0..n 1] of Digit, b : Digit) result : Array [0..n] of Digit c=0 : Digit // carry / Überlauf (h,l):= a[0] b // Ziffernmultiplikation result[0]:= l for i := 1 to n 1 do // n 1 Iterationen (h, l):= a[i] b // Ziffernmultiplikation (c,result[i]):= c + h + l // Ziffernaddition h := h result[n]:= c + h // Ziffernaddition, kein Überlauf?! return result Analyse: 1 + (n 1) = n Multiplikationen, (n 1) + 1 = n Additionen KIT Institut für Theoretische Informatik 19

20 Schulmultiplikation p=0 : N for j := 0 to n 1 do // Langzahladdition, Langzahl mal Ziffer, Schieben: p:= p + a b[j] B j // Langzahl 2n 1 n 0 a ab ab 2 b 0 ab n 1 n 1 n p KIT Institut für Theoretische Informatik 20

21 Schulmultiplikation Beispiel p=0 : N for j := 0 to n 1 do // Langzahladdition, Langzahl mal Ziffer, Schieben: p:= p + a b[j] B j // Langzahl * a 2 ab b p KIT Institut für Theoretische Informatik 21

22 Schulmultiplikation Analyse p=0 : N for j := 0 to n 1 do p:= p // n + j Ziffern (außer bei j = 0) + // n + 1 Ziffernadditionen (optimiert) a b[j] // je n Additionen/Multiplikationen B j // schieben (keine Ziffernarithmetik) Insgesamt: n 2 Multiplikationen n 2 + (n 1)(n + 1) = 2n 2 1 Additionen 3n 2 1 3n 2 Ziernoperationen KIT Institut für Theoretische Informatik 22

23 Exkurs O-Kalkül, die Erste O(f (n)) = {g(n) : c > 0 : n 0 N + : n n 0 : g(n) c f (n)} Idee: Konstante Faktoren (und Anfangsstück) ausblenden + Operationen zählen Laufzeit welche Ops.? + Rechnungen vereinfachen + Interpretation vereinfachen? Werfen wir zuviel Information weg? Beispiel: Schulmultiplikation braucht Zeit O ( n 2) KIT Institut für Theoretische Informatik 23

24 Ein rekursiver Algorithmus Function recmult(a, b) assert a und b haben n Ziern, sei k = n/2 if n = 1 then return a b Schreibe a als a 1 B k + a 0 Schreibe b als b 1 B k + b 0 return recmult(a 1,b 1 ) B 2k + (recmult(a 0,b 1 )+recmult(a 1,b 0 )) B k + recmult(a 0,b 0 ) KIT Institut für Theoretische Informatik 24

25 Beispiel = ( ) = KIT Institut für Theoretische Informatik 25

26 Analyse Function recmult(a, b) assert a und b haben n Ziern, sei k = n/2 if n = 1 then return a b Schreibe a als a 1 B k + a 0 Schreibe b als b 1 B k + b 0 return // T (n) Ops // 1 Op // 0 Ops // 0 Ops recmult(a 1,b 1 ) B 2k + // T (n/2) + 2n Ops (recmult(a 0,b 1 )+recmult(a 1,b 0 ))B k + // 2T (n/2) + 2n Ops recmult(a 0,b 0 ) // T (n/2) + 2n Ops Also T (n) 4T (n/2) + 6n KIT Institut für Theoretische Informatik 26

27 Analyse T (n) (Master-Theorem, stay tuned) T (n) Θ (n ) log 2 4 O ( n 2) { 1 if n = 1, 4 T ( n/2 ) + 6 n if n 2. Aufgabe: Zeigen Sie durch vollständige Induktion, dass T (n) 7n 2 6n, falls n eine Zweierpotenz ist KIT Institut für Theoretische Informatik 27

28 Exkurs: Algorithmen-Entwurfsmuster Im Buch: siehe auch Index! Schleife: z. B. Addition Unterprogramm: z. B. Ziernmultiplikation, Addition Teile und Herrsche: (lat. divide et impera, engl. divide and conquer) Aufteilen in eins oder mehrere, kleinere Teilprobleme, oft rekursiv Es kommen noch mehr: greedy, dynamische Programmierung, Metaheuristiken, Randomisierung,... KIT Institut für Theoretische Informatik 28

29 Karatsuba-Ofman Multiplikation[1962] Beobachtung: (a 1 + a 0 )(b 1 + b 0 ) = a 1 b 1 + a 0 b 0 + a 1 b 0 + a 0 b 1 Function recmult(a, b) assert a und b haben n Ziern, sei k = n/2 if n = 1 then return a b Schreibe a als a 1 B k + a 0 Schreibe b als b 1 B k + b 0 c 11 := recmult(a 1,b 1 ) c 00 := recmult(a 0,b 0 ) return c 11 B 2k + (recmult((a 1 + a 0 ),(b 1 + b 0 )) c 11 c 00 )B k +c 00 KIT Institut für Theoretische Informatik 29

30 Beispiel = ((10 + 1) ( ) ) = KIT Institut für Theoretische Informatik 30

31 Analyse T (n) (Master-Theorem) { 1 if n = 1, T (n) = Θ (n ) log 2 3 Θ ( n 1.58) 3 T ( n/2 ) + 10 n if n 2. KIT Institut für Theoretische Informatik 31

32 Algorithm Engineering was hat das mit der Praxis zu tun? design analyze Algorithmics implement experiment KIT Institut für Theoretische Informatik 32

33 Algorithmentheorie (Karikatur) models design Theory Practice analysis perf. guarantees deduction implementation applications KIT Institut für Theoretische Informatik 33

34 Algorithmik als Algorithm Engineering Algorithm Engineering Analyse Deduktion Leistungs garantien realistische Modelle 1 Entwurf 2 falsifizierbare 3 Hypothesen 5 Induktion 4 Implementierung Algorithmen bibliotheken 6 reale Eingaben Experimente 7 Anwendungen KIT Institut für Theoretische Informatik 34

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2012/13 Organisatorisches Vorlesung: Übungsbetreuung: Übungen: Programmierübungen: Alexander Wolff (E29) Jan Haunert (E27) Markus Ankenbrand Titus Dose Alexej

Mehr

Algorithmik - Kompaktkurs

Algorithmik - Kompaktkurs Algorithmik - Kompaktkurs Sommersemester 2012 Steffen Lange 0/1, Folie 1 2012 Prof. Steffen Lange - HDa/FbI - Algorithmik Organisatorisches Vorlesung Folien im Netz (/* bitte zur Vorlesung mitbringen */)

Mehr

Abschnitt: Algorithmendesign und Laufzeitanalyse

Abschnitt: Algorithmendesign und Laufzeitanalyse Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher

Mehr

Teil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik

Teil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik Grundlagen der Programmierung 1 Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2 Softwaretechnik Prof. Dr. O. Drobnik Professur Architektur und Betrieb verteilter Systeme Institut für

Mehr

16. All Pairs Shortest Path (ASPS)

16. All Pairs Shortest Path (ASPS) . All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e

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

Informatikgrundlagen (WS 2015/2016)

Informatikgrundlagen (WS 2015/2016) Informatikgrundlagen (WS 2015/2016) Klaus Berberich (klaus.berberich@htwsaar.de) Wolfgang Braun (wolfgang.braun@htwsaar.de) 0. Organisatorisches Dozenten Klaus Berberich (klaus.berberich@htwsaar.de) Sprechstunde

Mehr

Algorithmen und Berechnungskomplexität I

Algorithmen und Berechnungskomplexität I Institut für Informatik I Wintersemester 2010/11 Organisatorisches Vorlesung Montags 11:15-12:45 Uhr (AVZ III / HS 1) Mittwochs 11:15-12:45 Uhr (AVZ III / HS 1) Dozent Professor für theoretische Informatik

Mehr

Uebersicht. Webpage & Ilias. Administratives. Lehrbuch. Vorkenntnisse. Datenstrukturen & Algorithmen

Uebersicht. Webpage & Ilias. Administratives. Lehrbuch. Vorkenntnisse. Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Uebersicht Administratives Einleitung Ein einführendes Beispiel Matthias Zwicker Universität Bern Frühling 2010 2 Administratives Dozent Prof. Zwicker, zwicker@iam.unibe.ch

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Laufzeit und Komplexität

Laufzeit und Komplexität Laufzeit und Komplexität Laufzeit eines Algorithmus Benchmarking versus Analyse Abstraktion Rechenzeit, Anzahl Schritte Bester, Mittlerer, Schlechtester Fall Beispiel: Lineare Suche Komplexitätsklassen

Mehr

Algorithmen mit Python

Algorithmen mit Python Algorithmen mit Python Vorbesprechung zum Proseminar im Sommersemester 2009 http://www.python.org 1 Sie lernen in DAP Java und C/C++: 80% Syntax, 20% Algorithmen-Design Idee Schon ein einfaches Hello World

Mehr

Kapitel 0: Organisatorisches

Kapitel 0: Organisatorisches Einführung in die Praktische Informatik Wintersemester 2009 / 2010 Kapitel 0: Organisatorisches Prof. Dr. Manfred Reichert Andreas Lanz, Rüdiger Pryss Universität Ulm Institut für Datenbanken und Informationssysteme

Mehr

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung

Mehr

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7)

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7) Datenstrukturen und Algorithmen Vorlesung 9: (K7) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.rwth-aachen.de/i2/dsal0/ Algorithmus 8. Mai 200 Joost-Pieter

Mehr

Programmieren I + II

Programmieren I + II Programmieren I + II Werner Struckmann Institut für Programmierung und Reaktive Systeme Wintersemester 2015/2016 Sommersemester 2016 Was ist Informatik? Die Informatik ist die Wissenschaft von Aufbau,

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) 5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

Übersicht. Schleifen. Schleifeninvarianten. Referenztypen, Wrapperklassen und API. 9. November 2009 CoMa I WS 08/09 1/15

Übersicht. Schleifen. Schleifeninvarianten. Referenztypen, Wrapperklassen und API. 9. November 2009 CoMa I WS 08/09 1/15 Übersicht Schleifen Schleifeninvarianten Referenztypen, Wrapperklassen und API CoMa I WS 08/09 1/15 CoMa I Programmierziele Linux bedienen Code umschreiben strukturierte Datentypen Anweisungen und Kontrollstrukturen

Mehr

Programmiertechnik II

Programmiertechnik II Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Datenstrukturen und Algorithmen Sommersemester 2013 1 1 O. Einführung 0.1 Organisatorisches 0.2 Überblick 2 0.1 Organisatorisches DSAL Team Veranstaltungen & Termine Kommunikation Materialien Übungsbetrieb

Mehr

Organisatorisches. Informatik II Informationen und Daten. Organisatorisches. Organisatorisches. Rainer Schrader. 13. Oktober 2008

Organisatorisches. Informatik II Informationen und Daten. Organisatorisches. Organisatorisches. Rainer Schrader. 13. Oktober 2008 Dozent: Prof. Dr. Rainer Schrader Informatik II Informationen und Daten Rainer Schrader Zentrum für Angewandte Informatik Köln 13. Oktober 2008 Tel.: 470-6030 email: schrader@zpr.uni-koeln.de Sprechstunde:

Mehr

Einführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann

Einführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann Einführung in die Informatik für Hörer aller Fakultäten II Andreas Podelski Stephan Diehl Uwe Waldmann 1 Einführung in die Informatik für Hörer aller Fakultäten II Andreas Podelski Stephan Diehl Uwe Waldmann

Mehr

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015. Vorlesung 8, Donnerstag 11.

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015. Vorlesung 8, Donnerstag 11. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 8, Donnerstag 11. Dezember 2014 (Cache-Effizienz, Teile und Herrsche) Junior-Prof. Dr.

Mehr

SOI 2013. Die Schweizer Informatikolympiade

SOI 2013. Die Schweizer Informatikolympiade SOI Die Schweizer Informatikolympiade Lösung SOI Wie schreibe ich eine gute Lösung? Bevor wir die Aufgaben präsentieren, möchten wir dir einige Tipps geben, wie eine gute Lösung für die theoretischen

Mehr

Das Knapsack-Kryptosystem

Das Knapsack-Kryptosystem Das Knapsack-Kryptosystem Frank Hellweg 21. Februar 2006 1 Einleitung Das Knapsack-Kryptosystem wurde 1978 von den amerikanischen Kryptologen Martin Hellman und Ralph Merkle entwickelt [MH78] und war eines

Mehr

Tutorium 5 - Programmieren

Tutorium 5 - Programmieren Tutorium 5 - Programmieren Grischa Liebel Uni Karlsruhe (TH) Tutorium 11 1 Einleitung 2 Abschlussaufgaben 3 Vorlesungsstoff 4 Ergänzungen zum Vorlesungsstoff Grischa Liebel (Uni Karlsruhe (TH)) c 2008

Mehr

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Algorithmen und Datenstrukturen 265 10 Binäre Suchbäume Suchbäume Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Kann als Wörterbuch, aber auch zu mehr eingesetzt werden (Prioritätsschlange)

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen

Mehr

Programmieren I + II

Programmieren I + II Programmieren I + II Werner Struckmann Institut für Programmierung und Reaktive Systeme Wintersemester 2012/2013 Sommersemester 2013 Was ist Informatik? Die Informatik ist die Wissenschaft von Aufbau,

Mehr

Wirtschaftsinformatik I

Wirtschaftsinformatik I Wirtschaftsinformatik I - Tutorium 6/ 7 (April 2010) Zusatzinformationen - Lösungsvorschläge Wirtschaftsinformatik I Tutorium Jochen Daum (4.Semester BWL) Universität Mannheim Rechtshinweis: Diese Präsentation

Mehr

Teile und Herrsche Teil 2

Teile und Herrsche Teil 2 Teile und Herrsche Teil 2 binär Suchen und schnell Multiplizieren Markus Fleck Manuel Mauky Hochschule Zittau/Görlitz 19. April 2009 Suchen in langen Listen (0, 1, 2, 7, 8, 9, 9, 13, 13, 14, 14, 14, 16,

Mehr

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland. 1 Programmierung 2 Dynamische Programmierung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 2 Übersicht Stammt aus den Zeiten als mit Programmierung

Mehr

Kostenmaße. F3 03/04 p.188/395

Kostenmaße. F3 03/04 p.188/395 Kostenmaße Bei der TM nur ein Kostenmaß: Ein Schritt (Konfigurationsübergang) kostet eine Zeiteinheit; eine Bandzelle kostet eine Platzeinheit. Bei der RAM zwei Kostenmaße: uniformes Kostenmaß: (wie oben);

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 16.10.2015 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Suchen Binärsuche Binäre Suchbäume 16.10.2015 Dr. Werner

Mehr

Analysis I. Einige Bemerkungen zum Beginn... R. Haller-Dintelmann Analysis I

Analysis I. Einige Bemerkungen zum Beginn... R. Haller-Dintelmann Analysis I Analysis I Einige Bemerkungen zum Beginn... Termine Vorlesung Di., 09:50 11:30 S2 07/109 Do., 09:50 11:30 S2 17/103 Übung Mi., 08:00 09:40 S1 02/36 Mi., 09:50 11:30 S1 03/313 Mi., 09:50 11:30 S1 02/34

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 0. Organisatorisches Malte Helmert Gabriele Röger Universität Basel 16. Februar 2015 Organisatorisches Personen Dozenten Prof. Dr. Malte Helmert E-Mail: malte.helmert@unibas.ch Büro:

Mehr

Vorlesung: Montag 8:15-10:00 Donnerstag 8:15-10:00 Hörsaal: M 1 M 1

Vorlesung: Montag 8:15-10:00 Donnerstag 8:15-10:00 Hörsaal: M 1 M 1 Begrüßung Informatik II Vorlesung: Montag 8:15-10:00 Donnerstag 8:15-10:00 Hörsaal: M 1 M 1 Übung: Dozent: Prof. Dr. Klaus Hinrichs Institut für Informatik Einsteinstr. 62 6. Stock, Raum 606 khh@uni-muenster.de

Mehr

Datenstrukturen. Mariano Zelke. Sommersemester 2012

Datenstrukturen. Mariano Zelke. Sommersemester 2012 Datenstrukturen Mariano Zelke Sommersemester 2012 Mathematische Grundlagen: Das Handwerkszeug Mariano Zelke Datenstrukturen 2/26 Formeln: n - i = n (n+1) 2 und - i=1 k i=0 a i = ak+1 1 a 1, falls a 1 Rechnen

Mehr

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean 01.11.05 1 Noch für heute: 01.11.05 3 primitie Datentypen in JAVA Primitie Datentypen Pseudocode Name Speichergröße Wertgrenzen boolean 1 Byte false true char 2 Byte 0 65535 byte 1 Byte 128 127 short 2

Mehr

3. Übung Algorithmen I

3. Übung Algorithmen I Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und nationales Forschungszentrum in der

Mehr

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:

Mehr

Sortieren durch Einfügen. Prof. Dr. W. Kowalk Sortieren durch Einfügen 1

Sortieren durch Einfügen. Prof. Dr. W. Kowalk Sortieren durch Einfügen 1 Sortieren durch Einfügen Prof. Dr. W. Kowalk Sortieren durch Einfügen 1 Schon wieder aufräumen Schon wieder Aufräumen, dabei habe ich doch erst neulich man findet alles schneller wieder Bücher auf Regal

Mehr

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg 19.04.2011

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg 19.04.2011 Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 19.04.2011 Überlagern von Kartenebenen Beispiel: Gegeben zwei

Mehr

Programmierung 2. Organisatorisches. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.

Programmierung 2. Organisatorisches. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland. 1 Programmierung 2 Organisatorisches Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 2 Wer sind wir? Dozent Assistent Sebastian Hack Gebäude E1 3 Raum

Mehr

IT-Studiengänge an der

IT-Studiengänge an der IT-Studiengänge an der Universität Hildesheim Informationsmanagement und Informationstechnologie (IMIT) und Wirtschaftsinformatik (Winf) Begrüssung zum Sommersemester 2011 Vorab Folien werden im Web unter

Mehr

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik Vorlesung für den Bereich Diplom/Master Informatik Dozent: Juniorprof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR INFORMATIK KIT Universität des Landes

Mehr

Programmieren ++ Begleitende Übungen zu Veranstaltungen + Umsetzen des Algorithmus in ein lauffähiges Programm

Programmieren ++ Begleitende Übungen zu Veranstaltungen + Umsetzen des Algorithmus in ein lauffähiges Programm Studienanforderungen Studiengang Maschinenbau Programmieren Begleitende Übungen zu Veranstaltungen Umsetzen des Algorithmus in ein lauffähiges Programm Studiengang Bauingenieurwesen Programmieren Begleitende

Mehr

1. Grundlagen... 2. 2. Sortieren... 6. 1.1. Vertauschen... 13. 1.2. Selektion... 16. 1.3. Einfügen... 19. 1.4. Quicksort... 22. 3. Suchen...

1. Grundlagen... 2. 2. Sortieren... 6. 1.1. Vertauschen... 13. 1.2. Selektion... 16. 1.3. Einfügen... 19. 1.4. Quicksort... 22. 3. Suchen... Suchen und Sortieren In diesem Kapitel behandeln wir Algorithmen zum Suchen und Sortieren Inhalt 1. Grundlagen... 2 2. Sortieren... 6 1.1. Vertauschen... 13 1.2. Selektion... 16 1.3. Einfügen... 19 1.4.

Mehr

Algorithmen und Datenstrukturen Einführung

Algorithmen und Datenstrukturen Einführung Algorithmen und Datenstrukturen Einführung Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Einführung in die Begriffe Algorithmus Datenstruktur

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

Ideen der Informatik Suchen und Sortieren [Ordnung muss sein ] Kurt Mehlhorn Adrian Neumann viele Folien von Kostas Panagiotou

Ideen der Informatik Suchen und Sortieren [Ordnung muss sein ] Kurt Mehlhorn Adrian Neumann viele Folien von Kostas Panagiotou Ideen der Informatik Suchen und Sortieren [Ordnung muss sein ] Kurt Mehlhorn Adrian Neumann viele Folien von Kostas Panagiotou Suchen Welche Telefonnummer hat Kurt Mehlhorn? Wie schreibt man das Wort Equivalenz?

Mehr

Algorithmen & Datenstrukturen 1. Klausur

Algorithmen & Datenstrukturen 1. Klausur Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse

Mehr

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element

Mehr

Sortierte Folgen 250

Sortierte Folgen 250 Sortierte Folgen 250 Sortierte Folgen: he 1,...,e n i mit e 1 apple applee n kennzeichnende Funktion: M.locate(k):= addressof min{e 2 M : e k} Navigations Datenstruktur 2 3 5 7 11 13 17 19 00 Annahme:

Mehr

4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04

4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04 4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04 JOACHIM VON ZUR GATHEN, OLAF MÜLLER, MICHAEL NÜSKEN Abgabe bis Freitag, 14. November 2003, 11 11 in den jeweils richtigen grünen oder roten Kasten

Mehr

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel 3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36

Mehr

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Stefan Lucks Diskrete Strukturen (WS 2009/10) 57 2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32,

Mehr

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische

Mehr

Lehrstuhl Informatik VI Grundzüge der Informatik * WS 2008/2009 Prof. Dr. Joachim Biskup

Lehrstuhl Informatik VI Grundzüge der Informatik * WS 2008/2009 Prof. Dr. Joachim Biskup Universität Dortmund Lehrstuhl Informatik VI Grundzüge der Informatik * WS 28/29 Prof. Dr. Joachim Biskup Leitung der Übungen: Arno Pasternak Lösungs-Ideen Übungsblatt 6 A: Grammatiken, Syntaxdiagramme

Mehr

Data Warehousing. Sommersemester 2005. Ulf Leser Wissensmanagement in der Bioinformatik

Data Warehousing. Sommersemester 2005. Ulf Leser Wissensmanagement in der Bioinformatik Data Warehousing Sommersemester 2005 Ulf Leser Wissensmanagement in der Bioinformatik ... Der typische Walmart Kaufagent verwendet täglich mächtige Data Mining Werkzeuge, um die Daten der 300 Terabyte

Mehr

Breiten- und Tiefensuche in Graphen

Breiten- und Tiefensuche in Graphen Breiten- und Tiefensuche in Graphen Inhalt Theorie. Graphen. Die Breitensuche in der Theorie am Beispiel eines ungerichteten Graphen. Die Tiefensuche in der Theorie am Beispiel eines gerichteten Graphen

Mehr

Einführung in Computer Microsystems

Einführung in Computer Microsystems Einführung in Computer Microsystems Kapitel 9 Entwurf eines eingebetteten Systems für Anwendungen in der IT-Sicherheit Prof. Dr.-Ing. Sorin A. Huss Fachbereich Informatik Integrierte Schaltungen und Systeme

Mehr

Algorithms & Datastructures Midterm Test 1

Algorithms & Datastructures Midterm Test 1 Algorithms & Datastructures Midterm Test 1 Wolfgang Pausch Heiko Studt René Thiemann Tomas Vitvar

Mehr

Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis

Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 13./14. VO DAP2 SS 2009 2./4. Juni 2009 1 2. Übungstest

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

Binäre Suchbäume (binary search trees, kurz: bst)

Binäre Suchbäume (binary search trees, kurz: bst) Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.

Mehr

Einführung in die Informatik 1

Einführung in die Informatik 1 Einführung in die Informatik 1 Datenorganisation und Datenstrukturen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00

Mehr

Entwurf von Algorithmen - Kontrollstrukturen

Entwurf von Algorithmen - Kontrollstrukturen Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer

Mehr

Übung Info A. http://www.is.informatik.uni-duisburg.de. Übungsleiter. Informationen (Sprechstunden, Kontaktdaten): André Schaefer Gudrun Fischer

Übung Info A. http://www.is.informatik.uni-duisburg.de. Übungsleiter. Informationen (Sprechstunden, Kontaktdaten): André Schaefer Gudrun Fischer Übung Info A Übungsleiter André Schaefer Gudrun Fischer Informationen (Sprechstunden, Kontaktdaten): http://www.is.informatik.uni-duisburg.de Ziele der Übung Vertiefung der Inhalte der Vorlesung Praktische

Mehr

Punktbeschriftung in Dynamischen Karten

Punktbeschriftung in Dynamischen Karten Vorlesung Algorithmische Kartografie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann Martin Nöllenburg 28.05.2015 1 Übungen Nachtrag 1) Überlegen Sie sich, wie man den

Mehr

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner Musterlösung Problem : Average-case-Laufzeit vs Worst-case-Laufzeit pt (a) Folgender Algorithmus löst das Problem der

Mehr

Übung zur Vorlesung Einführung in die Computerlinguistik und Sprachtechnologie

Übung zur Vorlesung Einführung in die Computerlinguistik und Sprachtechnologie Übung zur Vorlesung Einführung in die Computerlinguistik und Sprachtechnologie Wintersemester 2009/10, Prof. Dr. Udo Hahn, Erik Fäßler Übungsblatt 3 vom 19.11.2009 Abgabe bis 26.11.2009, 14:30 Uhr; per

Mehr

Sortierverfahren für Felder (Listen)

Sortierverfahren für Felder (Listen) Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es

Mehr

Programmierung für Mathematik (HS13)

Programmierung für Mathematik (HS13) software evolution & architecture lab Programmierung für Mathematik (HS13) Übung 5 1 Aufgabe: Eclipse IDE 1.1 Lernziele 1. Die Entwicklungsumgebung Eclipse einrichten. 2. Eclipse kennen lernen und mit

Mehr

Logik und diskrete Strukturen

Logik und diskrete Strukturen Prof. Dr. Institut für Informatik Abteilung I Wintersemester 2012/13 Organisatorisches Vorlesung Dienstag und Donnerstag 10:15 11:45 Uhr (HS 1) und 12:30 14:00 Uhr (HS 2) Vorlesung am Vormittag = Vorlesung

Mehr

Projektpraktikum: Verteilte Datenverarbeitung mit MapReduce

Projektpraktikum: Verteilte Datenverarbeitung mit MapReduce Projektpraktikum: Verteilte Datenverarbeitung mit MapReduce Timo Bingmann, Peter Sanders und Sebastian Schlag 21. Oktober 2014 @ PdF Vorstellung INSTITUTE OF THEORETICAL INFORMATICS ALGORITHMICS KIT Universität

Mehr

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Kontrollstrukturen, Pseudocode und Modulo-Rechnung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 29.10.2012 CoMa-Übung III (TU Berlin) Kontrollstrukturen, Pseudocode und Modulo-Rechnung 29.10.2012 1 / 1 Themen der Übung 1

Mehr

Evolutionäre Algorithmen. SS 2015 Woche 01

Evolutionäre Algorithmen. SS 2015 Woche 01 Evolutionäre Algorithmen SS 2015 Woche 01 Inhalt Organisation der Übung Wiederholung Die Komponenten eines EA Zwei Minimal-Beispiele Besprechung des Übungsblatts Das Team Vorlesung Prof. Dr.-Ing. habil.

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Wiederholungen - while - do-while - for

Mehr

Tutorium Algorithmen & Datenstrukturen

Tutorium Algorithmen & Datenstrukturen June 16, 2010 Binärer Baum Binärer Baum enthält keine Knoten (NIL) besteht aus drei disjunkten Knotenmengen: einem Wurzelknoten, einem binären Baum als linken Unterbaum und einem binären Baum als rechten

Mehr

MATHEMATISCHE ANALYSE VON ALGORITHMEN

MATHEMATISCHE ANALYSE VON ALGORITHMEN MATHEMATISCHE ANALYSE VON ALGORITHMEN Michael Drmota Institut für Diskrete Mathematik und Geometrie, TU Wien michael.drmota@tuwien.ac.at www.dmg.tuwien.ac.at/drmota/ Ringvorlesung SS 2008, TU Wien Algorithmus

Mehr

Vorlesung 3 MINIMALE SPANNBÄUME

Vorlesung 3 MINIMALE SPANNBÄUME Vorlesung 3 MINIMALE SPANNBÄUME 72 Aufgabe! Szenario: Sie arbeiten für eine Firma, die ein Neubaugebiet ans Netz (Wasser, Strom oder Kabel oder...) anschließt! Ziel: Alle Haushalte ans Netz bringen, dabei

Mehr

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.

Mehr

Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time

Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time Universität Konstanz Mathematisch-naturwissenschaftliche Sektion Fachbereich Mathematik und Statistik Wintersemester 2001/02 Mikkel Thorup: Undirected Single-Source Shortest Paths with Positive Integer

Mehr

Frühjahr. Erste Staatsprüfung für ein Lehramt an öffentlichen Schulen. Prüfungsteilnehmer Prüfungstermin Einzelprüfungsnummer. - Prüfungsaufgaben -

Frühjahr. Erste Staatsprüfung für ein Lehramt an öffentlichen Schulen. Prüfungsteilnehmer Prüfungstermin Einzelprüfungsnummer. - Prüfungsaufgaben - Prüfungsteilnehmer Prüfungstermin Einzelprüfungsnummer Kennzahl: Kennwort: Arbeitsplatz-Nr.: Frühjahr 2000 46114 Erste Staatsprüfung für ein Lehramt an öffentlichen Schulen - Prüfungsaufgaben - Fach: Einzelprüfung:

Mehr

Suchen in Listen und Hashtabellen

Suchen in Listen und Hashtabellen Kapitel 12: Suchen in Listen und Hashtabellen Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Einleitung Lineare Suche Binäre Suche (in sortierten Listen) Hashverfahren

Mehr

Methodische Grundlagen des Software Engineering - Übung 9

Methodische Grundlagen des Software Engineering - Übung 9 Engineering - Übung 9 9 Prozess und Softwarequalität Abgabe der Hausaufgaben am Anfang der jeweiligen Präsenzübung am 14.06.2011 bzw. 15.06.2011. Hinweise und Kontakt: Veranstaltungsseite 1 9.1 Grundlagen

Mehr

Modul 122 VBA Scribt.docx

Modul 122 VBA Scribt.docx Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval

Mehr

Multimedia im Netz Wintersemester 2011/12

Multimedia im Netz Wintersemester 2011/12 Multimedia im Netz Wintersemester 2011/12 Übung 01 Betreuer: Verantwortlicher Professor: Sebastian Löhmann Prof. Dr. Heinrich Hussmann Organisatorisches 26.10.2011 MMN Übung 01 2 Inhalte der Übungen Vertiefung

Mehr

8 Diskrete Optimierung

8 Diskrete Optimierung 8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Algorithmen und deren Programmierung Prof. Dr. Nikolaus Wulff Definition Algorithmus Ein Algorithmus ist eine präzise formulierte Handlungsanweisung zur Lösung einer gleichartigen

Mehr

Langenscheidt Training plus, Mathe 6. Klasse

Langenscheidt Training plus, Mathe 6. Klasse Langenscheidt Training plus - Mathe Langenscheidt Training plus, Mathe 6. Klasse Bearbeitet von Uwe Fricke 1. Auflage 13. Taschenbuch. ca. 128 S. Paperback ISBN 978 3 68 60073 9 Format (B x L): 17,1 x

Mehr

Vorlesung C-Kurs 9:15-10:45 Mathe 11:15-12:45 1. Woche Hörsaal 1 2. Woche Hörsaal 7

Vorlesung C-Kurs 9:15-10:45 Mathe 11:15-12:45 1. Woche Hörsaal 1 2. Woche Hörsaal 7 Vorlesung C-Kurs 9:15-10:45 Mathe 11:15-12:45 1. Woche Hörsaal 1 2. Woche Hörsaal 7 Seminare / Praktikum M1/C1 : Mathe 13:15-14:45, C-Kurs 15:15-16:45h M2/C2 : C-Kurs 13:15-14:45, Mathe 15:15-16:45h M*

Mehr

Verträge für die funktionale Programmierung Design und Implementierung

Verträge für die funktionale Programmierung Design und Implementierung 1 Verträge für die funktionale Programmierung Design und Implementierung RALF HINZE Institut für Informatik III, Universität Bonn Römerstraße 164, 53117 Bonn, Germany Email: ralf@informatik.uni-bonn.de

Mehr

Algorithmentheorie. 13 - Maximale Flüsse

Algorithmentheorie. 13 - Maximale Flüsse Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung Algorithmen und Datenstrukturen Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile direkt aus der Vorlesung

Mehr