Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Christian Scheideler SS 2009
Methoden des Algorithmenentwurfs Kapitel 1.4:Approximations-schemata
Anzahl der ausgefüllten und eingesandten Fragebögen: 211
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
Die Projektgruppe heißt Sie herzlichst willkommen
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Telefonnummer.
1 JIM-Studie 2010 Jugend, Information, (Multi-)Media Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
= = = = 47 = 47 = 48 = =
Statistiken und Tabellen
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
Rechneraufbau & Rechnerstrukturen, Folie 2.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 2.
Mh9S170Nr6 a. x1= –9; x2 = 1 b. x1= –4; x2 = 1 c. x1= 1; x2 = 2 d. leer e. x1= –15; x2 = 4,2 f. x1= –3,53; x2 = 1,28 g. leer h. x1= 0,2; x2 = 2 i. x1=
Internet facts 2008-II Graphiken zu dem Berichtsband AGOF e.V. September 2008.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Differentielles Paar UIN rds gm UIN
Prof. Dr. Bernhard Wasmayr
Studienverlauf im Ausländerstudium
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Prof. Dr. Bernhard Wasmayr VWL 2. Semester
AWA 2007 Natur und Umwelt Natürlich Leben
Zerlegung von Quadraten und ????
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
Martin Kornmeier/Willy Schneider (Hrsg.): Reihe BA-kompakt
Prof. Dr. Günter Gerhardinger Soziale Arbeit mit Einzelnen und Familien Übersicht über die Lehrveranstaltung Grundlegende Bestimmungsfaktoren der Praxis.
20:00.
Zusatzfolien zu B-Bäumen
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Eine Einführung in die CD-ROM
GBI Genios Wiso wiso bietet Ihnen das umfassendste Angebot deutsch- und englischsprachiger Literatur für die Wirtschafts- und Sozialwissenschaften. Wir.
Dokumentation der Umfrage
für Weihnachten oder als Tischdekoration für das ganze Jahr
Wir üben die Malsätzchen
Syntaxanalyse Bottom-Up und LR(0)
Information und Kommunikation
Addieren und Subtrahieren von Dezimalzahlen
Messung der Ionisierungsenergie von Wasserstoff
Der Ablauf eines Clear Rex Klärzyklus
PROCAM Score Alter (Jahre)
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Geometrische Aufgaben
Eine lllustration der Herausforderungen des Stromsystems der Zukunft
Symmetrische Blockchiffren DES – der Data Encryption Standard
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Zahlentheorie und Zahlenspiele Hartmut Menzer, Ingo Althöfer ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List.
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Parkplatz-Orga Diese Version ist vom finale Version!
Kamin- und Kachelöfen in Oberösterreich
Folie Beispiel für eine Einzelauswertung der Gemeindedaten (fiktive Daten)
Technische Frage Technische Frage Bitte löse die folgende Gleichung:
Unternehmensbewertung Thomas Hering ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List of Figures Tabellenübersicht.
Forschungsprojekt Statistik 2013 „Jugend zählt“ – Folie 1 Statistik 2013 „Jugend zählt“: Daten zur Arbeit mit Kindern und Jugendlichen.
AGOF facts & figures: Branchenpotenziale im Internet Q2 2014: Parfum & Kosmetik Basis: internet facts / mobile facts 2014-I.
Gedankenlesen Durch Studien fand man heraus, dass Gedanken in einem gewissen Maße lesbar sind.
Folie Einzelauswertung der Gemeindedaten
Datum:17. Dezember 2014 Thema:IFRS Update zum Jahresende – die Neuerungen im Überblick Referent:Eberhard Grötzner, EMA ® Anlass:12. Arbeitskreis Internationale.
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
 Präsentation transkript:

Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)

Organisatorisches Heimübungsblatt 4 Praktikum Aufgabe 1 wurde ausgetauscht Falls Sie die alte 1 bereits gemacht haben, geben Sie sie mit ab Praktikum Ab dem nächsten Blatt (Blatt 9) fließt nur noch eine Aufgabe der Präsenzübung in die Wertung ein Weitere Aufgaben sind optional

Stand der Dinge Gierige Algorithmen Beobachtung Konstruiere Lösung Schritt für Schritt In jedem Schritt: Optimiere ein einfaches, lokales Kriterium Beobachtung Man kann viele unterschiedliche gierige Algorithmen für ein Problem entwickeln Nicht jeder dieser Algorithmen löst das Problem korrekt

Gierige Algorithmen Scheduling mit Deadlines Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..)‏ Anfragen: Aufgabe, die Zeit t benötigt und bis Zeitpunkt d bearbeitet sein soll Deadline 2 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Länge 3 Deadline 6 Aufgabe 3 3

O.b.d.A. Resource steht ab Zeitpunkt 0 zur Verfügung Gierige Algorithmen Scheduling mit Deadlines Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..)‏ Anfragen: Aufgabe, die Zeit t benötigt und bis Zeitpunkt d bearbeitet sein soll Deadline 2 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Länge 3 Deadline 6 Aufgabe 3 3 O.b.d.A. Resource steht ab Zeitpunkt 0 zur Verfügung

Aufgabe 1: Fertig zu Zeitpunkt 1 Gierige Algorithmen Scheduling mit Deadlines Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..)‏ Anfragen: Aufgabe, die Zeit t benötigt und bis Zeitpunkt d bearbeitet sein soll Deadline 2 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Länge 3 Deadline 6 Aufgabe 3 3 1 Aufgabe 1: Fertig zu Zeitpunkt 1

Gierige Algorithmen Scheduling mit Deadlines Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..)‏ Anfragen: Aufgabe, die Zeit t benötigt und bis Zeitpunkt d bearbeitet sein soll Deadline 2 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Aufgabe 2: Fertig zu Zeitpunkt 3 Länge 3 Deadline 6 Aufgabe 3 3 1 2 Aufgabe 1: Fertig zu Zeitpunkt 1

Gierige Algorithmen Scheduling mit Deadlines Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..)‏ Anfragen: Aufgabe, die Zeit t benötigt und bis Zeitpunkt d bearbeitet sein soll Deadline 2 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Aufgabe 2: Fertig zu Zeitpunkt 3 Länge 3 Deadline 6 Aufgabe 3 3 1 2 3 Aufgabe 1: Fertig zu Zeitpunkt 1 Aufgabe 3: Fertig zu Zeitpunkt 6

Gierige Algorithmen Scheduling mit Deadlines Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..)‏ Anfragen: Aufgabe, die Zeit t benötigt und bis Zeitpunkt d bearbeitet sein soll Deadline 2 Länge 1 Alle Aufgaben sind rechtzeitig fertig! Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Aufgabe 2: Fertig zu Zeitpunkt 3 Länge 3 Deadline 6 Aufgabe 3 3 1 2 3 Aufgabe 1: Fertig zu Zeitpunkt 1 Aufgabe 3: Fertig zu Zeitpunkt 6

Gierige Algorithmen Scheduling mit Deadlines Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..)‏ Anfragen: Aufgabe, die Zeit t benötigt und bis Zeitpunkt d bearbeitet sein soll Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Länge 3 Deadline 6 Aufgabe 3 3

Gierige Algorithmen Scheduling mit Deadlines Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..)‏ Anfragen: Aufgabe, die Zeit t benötigt und bis Zeitpunkt d bearbeitet sein soll Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Länge 3 Deadline 6 Aufgabe 3 3 1

Stand der Dinge Scheduling mit Deadlines Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..)‏ Anfragen: Aufgabe, die Zeit t benötigt und bis Zeitpunkt d bearbeitet sein soll Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Länge 3 Deadline 6 Aufgabe 3 3 1 2

Aufgabe 2 wird zu spät beendet Stand der Dinge Scheduling mit Deadlines Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..)‏ Anfragen: Aufgabe, die Zeit t benötigt und bis Zeitpunkt d bearbeitet sein soll Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 wird zu spät beendet Aufgabe 2 2 Länge 3 Deadline 6 Aufgabe 3 3 1 2

Gierige Algorithmen Scheduling mit Deadlines Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..)‏ Anfragen: Aufgabe, die Zeit t benötigt und bis Zeitpunkt d bearbeitet sein soll Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Länge 3 Deadline 6 Aufgabe 3 3 2

Aufgabe 1 wird zu spät beendet Gierige Algorithmen Scheduling mit Deadlines Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..)‏ Anfragen: Aufgabe, die Zeit t benötigt und bis Zeitpunkt d bearbeitet sein soll Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 1 wird zu spät beendet Aufgabe 2 2 Länge 3 Deadline 6 Aufgabe 3 3 2 1

Gierige Algorithmen Scheduling mit Deadlines Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..)‏ Anfragen: Aufgabe, die Zeit t benötigt und bis Zeitpunkt d bearbeitet sein soll Wir können nicht alle Aufgaben bearbeiten und gleichzeitig die Deadlines einhalten! Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Länge 3 Deadline 6 Aufgabe 3 3

Gierige Algorithmen Scheduling mit Deadlines Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..)‏ Anfragen: Aufgabe, die Zeit t benötigt und bis Zeitpunkt d bearbeitet sein soll Wir können nicht alle Aufgaben bearbeiten und gleichzeitig die Deadlines einhalten! Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Länge 3 Deadline 6 Aufgabe 3 3 1

Gierige Algorithmen Scheduling mit Deadlines Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..)‏ Anfragen: Aufgabe, die Zeit t benötigt und bis Zeitpunkt d bearbeitet sein soll Wir können nicht alle Aufgaben bearbeiten und gleichzeitig die Deadlines einhalten! Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Länge 3 Deadline 6 Aufgabe 3 3 1 2

Gierige Algorithmen Scheduling mit Deadlines Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..)‏ Anfragen: Aufgabe, die Zeit t benötigt und bis Zeitpunkt d bearbeitet sein soll Wir können nicht alle Aufgaben bearbeiten und gleichzeitig die Deadlines einhalten! Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Länge 3 Deadline 6 Aufgabe 3 3 1 2 Aufgabe 2: Verspätung 1

Gierige Algorithmen Scheduling mit Deadlines Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..)‏ Anfragen: Aufgabe, die Zeit t benötigt und bis Zeitpunkt d bearbeitet sein soll Wir können nicht alle Aufgaben bearbeiten und gleichzeitig die Deadlines einhalten! Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Länge 3 Deadline 6 Aufgabe 3 3 1 2 3 Aufgabe 2: Verspätung 1

Gierige Algorithmen Scheduling mit Deadlines Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..)‏ Anfragen: Aufgabe, die Zeit t benötigt und bis Zeitpunkt d bearbeitet sein soll Wir können nicht alle Aufgaben bearbeiten und gleichzeitig die Deadlines einhalten! Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Länge 3 Deadline 6 Aufgabe 3 3 1 2 3 Aufgabe 2: Verspätung 1 Aufgabe 3: Verspätung 2

Minimiere maximale Verspätung Gierige Algorithmen Scheduling mit Deadlines Resource (Hörsaal, Parallelrechner, Elektronenmikroskop,..)‏ Anfragen: Aufgabe, die Zeit t benötigt und bis Zeitpunkt d bearbeitet sein soll Ziel: Minimiere maximale Verspätung Deadline 4 Länge 1 Aufgabe 1 1 Deadline 4 Länge 2 Aufgabe 2 2 Länge 3 Deadline 6 Aufgabe 3 3 1 2 3 Aufgabe 2: Verspätung 1 Aufgabe 3: Verspätung 2

Gierige Algorithmen Strategie 1 Bearbeite die Jobs nach ansteigender Länge Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6

Gierige Algorithmen Strategie 1 Bearbeite die Jobs nach ansteigender Länge Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 1 Keine Verspätung

Gierige Algorithmen Strategie 1 Bearbeite die Jobs nach ansteigender Länge Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 1 5 Keine Verspätung

Gierige Algorithmen Strategie 1 Bearbeite die Jobs nach ansteigender Länge Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 1 5 3 Keine Verspätung

Gierige Algorithmen Strategie 1 Bearbeite die Jobs nach ansteigender Länge Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 1 5 3 4 Keine Verspätung

Gierige Algorithmen Strategie 1 Bearbeite die Jobs nach ansteigender Länge Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 1 5 3 4 2 Verspätung 5

Gierige Algorithmen Strategie 1 Bearbeite die Jobs nach ansteigender Länge Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 1 5 3 4 2 6 Verspätung 3

Maximale Verspätung durch Aufgabe 2 Gierige Algorithmen Strategie 1 Bearbeite die Jobs nach ansteigender Länge Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 Maximale Verspätung durch Aufgabe 2 (5 Zeiteinheiten)‏ 4 Deadline 3 5 Deadline 9 6 1 5 3 4 2 6

Maximale Verspätung durch Aufgabe 2 Gierige Algorithmen Strategie 1 Bearbeite die Jobs nach ansteigender Länge Optimalität? Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 Maximale Verspätung durch Aufgabe 2 (5 Zeiteinheiten)‏ 4 Deadline 3 5 Deadline 9 6 1 5 3 4 2 6

Gierige Algorithmen Strategie 1 Bearbeite die Jobs nach ansteigender Länge Optimalität? Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 5 Keine Verspätung

Gierige Algorithmen Strategie 1 Bearbeite die Jobs nach ansteigender Länge Optimalität? Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 5 2 Keine Verspätung

Gierige Algorithmen Strategie 1 Bearbeite die Jobs nach ansteigender Länge Optimalität? Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 5 2 3 Keine Verspätung

Gierige Algorithmen Strategie 1 Bearbeite die Jobs nach ansteigender Länge Optimalität? Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 5 2 3 4 Verspätung 2

Gierige Algorithmen Strategie 1 Bearbeite die Jobs nach ansteigender Länge Optimalität? Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 5 2 3 4 1 Keine Verspätung

Maximale Verspätung durch Aufgabe 6 Gierige Algorithmen Strategie 1 Bearbeite die Jobs nach ansteigender Länge Optimalität? Deadline 9 1 Deadline 4 2 Deadline 6 3 Maximale Verspätung durch Aufgabe 6 (3 Zeiteinheiten)‏ Deadline 6 4 Deadline 3 5 Deadline 9 6 5 2 3 4 1 6

Maximale Verspätung durch Aufgabe 6 Gierige Algorithmen Strategie 1 Bearbeite die Jobs nach ansteigender Länge Optimalität? Problem: Ignoriert Deadlines völlig Deadline 9 1 Deadline 4 2 Deadline 6 3 Maximale Verspätung durch Aufgabe 6 (3 Zeiteinheiten)‏ Deadline 6 4 Deadline 3 5 Deadline 9 6 5 2 3 4 1 6

Gierige Algorithmen Strategie 2 Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6

Gierige Algorithmen Strategie 2 Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Spielraum 8 Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6

Gierige Algorithmen Strategie 2 Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Deadline 9 1 Deadline 4 2 Spielraum 4 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6

Gierige Algorithmen Strategie 2 Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Deadline 9 1 Spielraum 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 2

Gierige Algorithmen Strategie 2 Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Spielraum 2 Deadline 3 5 Deadline 9 6 2 5

Gierige Algorithmen Strategie 2 Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Deadline 9 1 Deadline 4 2 Spielraum 4 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 2 5 3

Gierige Algorithmen Strategie 2 Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Deadline 9 1 Deadline 4 2 Deadline 6 3 Spielraum 4 Deadline 6 4 Deadline 3 5 Deadline 9 6 2 5 3 4

Gierige Algorithmen Strategie 2 Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Spielraum 6 Deadline 9 6 2 5 3 4 6

Gierige Algorithmen Strategie 2 Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Spielraum 8 Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 2 5 3 4 6 1

Gierige Algorithmen Strategie 2 Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 2 5 3 4 6 1 Verspätung 3

Optimal für unsere Eingabe Gierige Algorithmen Strategie 2 Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Optimal für unsere Eingabe Deadline 3 5 Deadline 9 6 2 5 3 4 6 1 Verspätung 3

Gierige Algorithmen Strategie 2 Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Optimalität? Spielraum 2 Deadline 3 1 Deadline 9 2 Spielraum 0

Gierige Algorithmen Strategie 2 Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Optimalität? Spielraum 2 Deadline 3 1 Deadline 9 2 Spielraum 0 2

Gierige Algorithmen Strategie 2 Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Optimalität? Spielraum 2 Deadline 3 1 Deadline 9 2 Spielraum 0 2 1 Verspätung 7

Optimale Lösung hat nur Verspätung 1 Gierige Algorithmen Strategie 2 Bearbeite zunächst die Aufgaben mit geringstem Spielraum d-t Optimalität? Spielraum 2 Deadline 3 1 Optimale Lösung hat nur Verspätung 1 Deadline 9 2 Spielraum 0 1 2 Verspätung 1

Gierige Algorithmen Strategie 3 Bearbeite zunächst die Aufgabe mit der frühesten Deadline Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6

Gierige Algorithmen Strategie 3 Bearbeite zunächst die Aufgabe mit der frühesten Deadline Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 5

Gierige Algorithmen Strategie 3 Bearbeite zunächst die Aufgabe mit der frühesten Deadline Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 5 2

Gierige Algorithmen Strategie 3 Bearbeite zunächst die Aufgabe mit der frühesten Deadline Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 5 2 3

Gierige Algorithmen Strategie 3 Bearbeite zunächst die Aufgabe mit der frühesten Deadline Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 5 2 3 4

Gierige Algorithmen Strategie 3 Bearbeite zunächst die Aufgabe mit der frühesten Deadline Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 5 2 3 4 6

Gierige Algorithmen Strategie 3 Bearbeite zunächst die Aufgabe mit der frühesten Deadline Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 5 2 3 4 6 1 Verspätung 3

Gierige Algorithmen Strategie 3 Bearbeite zunächst die Aufgabe mit der frühesten Deadline Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Lösung optimal! Deadline 3 5 Deadline 9 6 5 2 3 4 6 1 Verspätung 3

Gierige Algorithmen Strategie 3 Bearbeite zunächst die Aufgabe mit der frühesten Deadline Algorithmus ist optimal! Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Lösung optimal! Deadline 3 5 Deadline 9 6 5 2 3 4 6 1 Verspätung 3

Komisch, da Strategie unabhängig von der Länge der Aufträge Gierige Algorithmen Strategie 3 Bearbeite zunächst die Aufgabe mit der frühesten Deadline Algorithmus ist optimal! Komisch, da Strategie unabhängig von der Länge der Aufträge Deadline 9 1 Deadline 4 2 Deadline 6 3 Deadline 6 4 Deadline 3 5 Deadline 9 6 5 2 3 4 6 1 Verspätung 3

Gierige Algorithmen Formale Problemformulierung Wichtige Annahme Problem: Scheduling mit Deadline Eingabe: Felder t und d t[i] enthält Länge des i-ten Intervals d[i] enthält Deadline Ausgabe: Startzeitpunkte der Intervalle Wichtige Annahme Eingabe sortiert nach Deadlines d[1]d[2]…d[n]

Gierige Algorithmen LatenessScheduling(t,d)‏ n  length[t] new array A[1..n] z  0 for i  1 to n do A[i]  z z  z + t[i] return A t 1 4 2 d 3 6 1 2 3

Gierige Algorithmen LatenessScheduling(t,d)‏ n  length[t] new array A[1..n] z  0 for i  1 to n do A[i]  z z  z + t[i] return A t 1 4 2 d 3 6 1 2 3

Gierige Algorithmen LatenessScheduling(t,d)‏ n  length[t] new array A[1..n] z  0 for i  1 to n do A[i]  z z  z + t[i] return A t 1 4 2 d 3 6 1 2 3

Gierige Algorithmen LatenessScheduling(t,d)‏ n  length[t] new array A[1..n] z  0 for i  1 to n do A[i]  z z  z + t[i] return A t 1 4 2 d 3 6 1 2 3 z

Gierige Algorithmen LatenessScheduling(t,d)‏ n  length[t] new array A[1..n] z  0 for i  1 to n do A[i]  z z  z + t[i] return A t 1 4 2 d 3 6 i 1 2 3 z

Gierige Algorithmen LatenessScheduling(t,d)‏ n  length[t] new array A[1..n] z  0 for i  1 to n do A[i]  z z  z + t[i] return A t 1 4 2 d 3 6 i 1 2 3 1 z

Gierige Algorithmen LatenessScheduling(t,d)‏ n  length[t] new array A[1..n] z  0 for i  1 to n do A[i]  z z  z + t[i] return A t 1 4 2 d 3 6 i 1 2 3 1 z

Gierige Algorithmen LatenessScheduling(t,d)‏ n  length[t] new array A[1..n] z  0 for i  1 to n do A[i]  z z  z + t[i] return A t 1 4 2 d 3 6 1 i 2 3 1 z

Gierige Algorithmen LatenessScheduling(t,d)‏ n  length[t] new array A[1..n] z  0 for i  1 to n do A[i]  z z  z + t[i] return A t 1 4 2 d 3 6 1 i 2 3 1 2 z

Gierige Algorithmen LatenessScheduling(t,d)‏ n  length[t] new array A[1..n] z  0 for i  1 to n do A[i]  z z  z + t[i] return A t 1 4 2 d 3 6 1 i 2 3 1 2 z

Gierige Algorithmen LatenessScheduling(t,d)‏ n  length[t] new array A[1..n] z  0 for i  1 to n do A[i]  z z  z + t[i] return A t 1 4 2 d 3 6 1 2 i 3 1 2 z

Gierige Algorithmen LatenessScheduling(t,d)‏ n  length[t] new array A[1..n] z  0 for i  1 to n do A[i]  z z  z + t[i] return A t 1 4 2 d 3 6 1 2 i 3 1 2 3 z

Gierige Algorithmen LatenessScheduling(t,d)‏ n  length[t] new array A[1..n] z  0 for i  1 to n do A[i]  z z  z + t[i] return A t 1 4 2 d 3 6 1 2 i 3 1 2 3 z

Gierige Algorithmen LatenessScheduling(t,d)‏ n  length[t] new array A[1..n] z  0 for i  1 to n do A[i]  z z  z + t[i] return A t 1 4 2 d 3 6 1 2 i 3 1 2 3 z

Gierige Algorithmen Beobachtung Es gibt eine optimale Lösung ohne Leerlaufzeit. 1 2 3 Leerlauf

Gierige Algorithmen Lemma 34 Definition Alle Lösungen ohne Inversionen und Leerlaufzeit haben dieselbe maximale Verzögerung. Definition Lösung hat Inversion, wenn Aufgabe i Mit Deadline d vor Aufgabe j mit Deadline d < d bearbeitet wird. 1 2 3 i j i 1 3 2 j i Inversion

Gierige Algorithmen Lemma 34 Beweis Alle Lösungen ohne Inversionen und Leerlaufzeit haben dieselbe maximale Verzögerung. Beweis Haben zwei Schedules weder Inversionen noch Leerlaufzeiten, so haben sie zwar nicht notwendigerweise dieselbe Ordnung, aber sie können sich nur in der Ordnung der Aufgaben mit identischer Deadline unterscheiden. Betrachten wir eine solche Deadline d.

Gierige Algorithmen Lemma 34 Beweis Alle Lösungen ohne Inversionen und Leerlaufzeit haben dieselbe maximale Verzögerung. Beweis Haben zwei Schedules weder Inversionen noch Leerlaufzeiten, so haben sie zwar nicht notwendigerweise dieselbe Ordnung, aber sie können sich nur in der Ordnung der Aufgaben mit identischer Deadline unterscheiden. Betrachten wir eine solche Deadline d. In beiden Schedules werden alle Aufgaben mit Deadline d nacheinander ausgeführt.

Gierige Algorithmen Lemma 34 Beweis Alle Lösungen ohne Inversionen und Leerlaufzeit haben dieselbe maximale Verzögerung. Beweis Haben zwei Schedules weder Inversionen noch Leerlaufzeiten, so haben sie zwar nicht notwendigerweise dieselbe Ordnung, aber sie können sich nur in der Ordnung der Aufgaben mit identischer Deadline unterscheiden. Betrachten wir eine solche Deadline d. In beiden Schedules werden alle Aufgaben mit Deadline d nacheinander ausgeführt. Unter den Aufgaben mit Deadline d hat die letzte die größte Verzögerung und diese hängt nicht von der Reihenfolge der Aufgaben ab.

Gierige Algorithmen Lemma 34 Beweis Alle Lösungen ohne Inversionen und Leerlaufzeit haben dieselbe maximale Verzögerung. Beweis Haben zwei Schedules weder Inversionen noch Leerlaufzeiten, so haben sie zwar nicht notwendigerweise dieselbe Ordnung, aber sie können sich nur in der Ordnung der Aufgaben mit identischer Deadline unterscheiden. Betrachten wir eine solche Deadline d. In beiden Schedules werden alle Aufgaben mit Deadline d nacheinander ausgeführt. Unter den Aufgaben mit Deadline d hat die letzte die größte Verzögerung und diese hängt nicht von der Reihenfolge der Aufgaben ab.

Gierige Algorithmen Lemma 35 Es gibt eine optimale Lösung ohne Inversionen und Leerlaufzeit. 1 2 3 1 2 3

Ohne Inversionen und Leerlauf: Gierige Algorithmen Lemma 35 Es gibt eine optimale Lösung ohne Inversionen und Leerlaufzeit. 1 2 3 Ohne Inversionen und Leerlauf: Also optimal! 1 2 3

Gierige Algorithmen Lemma 35 Beweis a b Es gibt eine optimale Lösung ohne Inversionen und Leerlaufzeit. Beweis Sei O ein optimales Schedule ohne Leerlauf. Wir zeigen zunächst (a) Wenn O eine Inversion hat, dann gibt es ein Paar Aufgaben i und j, so dass j direkt nach i auftritt und d < d ist. (D.h. eine Inversion von aufeinanderfolgenden Aufgaben) j i Deadline 9 Deadline 5 a b Deadline 9

Gierige Algorithmen Lemma 35 Beweis a b Es gibt eine optimale Lösung ohne Inversionen und Leerlaufzeit. Beweis Sei O ein optimales Schedule ohne Leerlauf. Wir zeigen zunächst (a) Wenn O eine Inversion hat, dann gibt es ein Paar Aufgaben i und j, so dass j direkt nach i auftritt und d < d ist. (D.h. eine Inversion von aufeinanderfolgenden Aufgaben) j i Deadline 9 Deadline 5 a b Deadline 9

Gierige Algorithmen Lemma 35 Beweis a b Es gibt eine optimale Lösung ohne Inversionen und Leerlaufzeit. Beweis Sei O ein optimales Schedule ohne Leerlauf. Wir zeigen zunächst (a) Wenn O eine Inversion hat, dann gibt es ein Paar Aufgaben i und j, so dass j direkt nach i auftritt und d < d ist. (D.h. eine Inversion von aufeinanderfolgenden Aufgaben) j i Deadline 9 Deadline 5 a b Spätestens hier Inversion von aufeinander folgenden Aufgaben

Gierige Algorithmen Lemma 35 Beweis a b Es gibt eine optimale Lösung ohne Inversionen und Leerlaufzeit. Beweis Sei O ein optimales Schedule ohne Leerlauf. Wir zeigen zunächst (a) Wenn O eine Inversion hat, dann gibt es ein Paar Aufgaben i und j, so dass j direkt nach i auftritt und d < d ist. (D.h. eine Inversion von aufeinanderfolgenden Aufgaben) j i Deadline 9 Deadline 5 a b Spätestens hier Inversion von aufeinander folgenden Aufgaben

Gierige Algorithmen Lemma 35 Beweis Es gibt eine optimale Lösung ohne Inversionen und Leerlaufzeit. Beweis Sei O ein optimales Schedule ohne Leerlauf. Wir zeigen zunächst (b) Nach dem Austauschen von einer benachbarten Inversion i und j erhalten wir ein Schedule mit einer Inversion weniger. Es wird die Inversion von i und j durch das Vertauschen aufgehoben und es wird keine neue Inversion wird erzeugt.

Gierige Algorithmen Lemma 35 Beweis d d i j Es gibt eine optimale Lösung ohne Inversionen und Leerlaufzeit. Beweis Sei O ein optimales Schedule ohne Leerlauf. Wir zeigen zunächst (c) Das Tauschen von i und j erhöht nicht die maximale Verzögerung. d j d i i j Aufeinander folgende Inversion (i,j)‏

Verzögerung von j wird kleiner Gierige Algorithmen Lemma 35 Es gibt eine optimale Lösung ohne Inversionen und Leerlaufzeit. Beweis Sei O ein optimales Schedule ohne Leerlauf. Wir zeigen zunächst (c) Das Tauschen von i und j erhöht nicht die maximale Verzögerung. Verzögerung von j wird kleiner d j d i j i Vertausche i und j

Verzögerung von i wird größer! Gierige Algorithmen Lemma 35 Es gibt eine optimale Lösung ohne Inversionen und Leerlaufzeit. Beweis Sei O ein optimales Schedule ohne Leerlauf. Wir zeigen zunächst (c) Das Tauschen von i und j erhöht nicht die maximale Verzögerung. Verzögerung von i wird größer! d j d i j i Vertausche i und j

Ist aber kleiner als Verzögerung von j vor Vertauschung! Gierige Algorithmen Lemma 35 Es gibt eine optimale Lösung ohne Inversionen und Leerlaufzeit. Beweis Sei O ein optimales Schedule ohne Leerlauf. Wir zeigen zunächst (c) Das Tauschen von i und j erhöht nicht die maximale Verzögerung. Ist aber kleiner als Verzögerung von j vor Vertauschung! d j d i j i Vertausche i und j

Ist aber kleiner als Verzögerung von j vor Vertauschung! Gierige Algorithmen Lemma 35 Es gibt eine optimale Lösung ohne Inversionen und Leerlaufzeit. Beweis Sei O ein optimales Schedule ohne Leerlauf. Wir zeigen zunächst (c) Das Tauschen von i und j erhöht nicht die maximale Verzögerung. Ist aber kleiner als Verzögerung von j vor Vertauschung! d j d i j i Vertausche i und j

Gierige Algorithmen Formaler Beweis von (c) d r Notation für O: Aufgabe r wird im Invervall [s(r),f(r)] ausgeführt und hat Verzögerung l(r). Sei L = max l(r) die maximale Verzögerung dieses Schedules. Notation für das Schedule O* nach Austauschen: s*(r), f*(r), l*(r) und L* mit der entsprechenden Bedeutung wie oben. s(r), s*(r) heißt Startzeit f(r), f*(r) heißt Abarbeitungszeit d r l(r) r s(r) f(r)

Gierige Algorithmen Formaler Beweis von (c) d d i j Betrachten wir nun die benachbarte Inversion von i und j. Die Abarbeitungszeit f(j) von j vor dem Austauschen ist gleich der Abarbeitungszeit f*(i) von i nach dem Austauschen. Daher haben alle anderen Aufgaben vor und nach dem Tauschen dieselbe Abarbeitungszeit. d j d i f(i) f(j) i j Aufeinander folgende Inversion (i,j)‏

Gierige Algorithmen Formaler Beweis von (c) d d j i Betrachten wir nun die benachbarte Inversion von i und j. Die Abarbeitungszeit f(j) von j vor dem Austauschen ist gleich der Abarbeitungszeit f*(i) von i nach dem Austauschen. Daher haben alle anderen Aufgaben vor und nach dem Tauschen dieselbe Abarbeitungszeit. Für Aufgabe j ist das neue Schedule besser, d.h. f*(j)<f(j). d j f*(j) f*(i) d i f(i) f(j) j i Aufeinander folgende Inversion (i,j)‏

Gierige Algorithmen Formaler Beweis von (c) d d j i Betrachte nur Aufgabe i: Nach dem Tauschen ist die Verzögerung l*(i) = f*(i)-d . i d j f*(j) f*(i) d i f(i) f(j) j i l*(i)

Gierige Algorithmen Formaler Beweis von (c) d d j i Betrachte nur Aufgabe i: Nach dem Tauschen ist die Verzögerung l*(i) = f*(i)-d . Wegen d > d folgt l*(i) = f(j) - d < f(j) - d = l(j). Damit wird die maximale Verzögerung nicht erhöht. i i j i j d j f*(j) f*(i) d i f(i) f(j) j i l*(i)

Gierige Algorithmen Lemma 35 Beweis Es gibt eine optimale Lösung ohne Inversionen und Leerlaufzeit. Beweis (a) Wenn O eine Inversion hat, dann gibt es ein Paar Aufgaben i und j, so dass j direkt nach i auftritt und d < d ist. (b) Nach dem Austauschen von einer benachbarten Inversion i und j erhalten wir ein Schedule mit einer Inversion weniger. (c) Das Tauschen von i und j erhöht nicht die maximale Verzögerung. Die Anzahl Inversionen ist zu Beginn höchstens ( ).Wir können (a)-(c) solange anwenden, bis keine Inversionen mehr vorhanden sind. j i n 2

Gierige Algorithmen Satz 36 Beweis Die Lösung A, die von Algorithmus LatenessScheduling berechnet wird, hat optimale (d.h. minimale) maximale Verzögerung. Beweis Aus dem ersten Lemma folgt, dass es ein optimales Schedule ohne Inversionen gibt. Aus dem zweiten Lemma folgt, dass alle Schedules ohne Inversionen dieselbe maximale Verzögerung haben. Damit ist die Lösung des gierigen Algorithmus optimal.

Gierige Algorithmen Zusammenfassung Algorithmische Entwurfsmethoden Löse globales Optimierungsproblem durch lokale Optimierungsstrategie Liefert häufig recht einfache Algorithmen Funktioniert leider nicht immer und es ist manchmal nicht ganz einfach, die ‚richtige‘ Strategie zu finden Algorithmische Entwurfsmethoden Teile & Herrsche Dynamische Programmierung Gierige Algorithmen

Datenstrukturen Was ist eine Datenstruktur? Eine Datenstruktur ist eine Anordnung von Daten, die effizienten Zugriff auf die Daten ermöglicht Datenstrukturen für viele unterschiedliche Anfragen vorstellbar

Datenstrukturen Ein grundlegendes Datenbank-Problem Beispiel Speicherung von Datensätzen Beispiel Kundendaten (Name, Adresse, Wohnort, Kundennummer, offene Rechnungen, offene Bestellungen,…) Anforderungen Schneller Zugriff Einfügen neuer Datensätze Löschen bestehender Datensätze

Datenstrukturen Zugriff auf Daten Beispiel Jedes Datum (Objekt) hat einen Schlüssel Eingabe des Schlüssels liefert Datensatz Schlüssel sind vergleichbar (es gibt totale Ordnung der Schlüssel) Beispiel Kundendaten (Name, Adresse, Kundennummer) Schlüssel: Name Totale Ordnung: Lexikographische Ordnung

Datenstrukturen Zugriff auf Daten Beispiel: Jedes Datum (Objekt) hat einen Schlüssel Eingabe des Schlüssels liefert Datensatz Schlüssel sind vergleichbar (es gibt totale Ordnung der Schlüssel) Beispiel: Kundendaten (Name, Adresse, Kundennummer) Schlüssel: Kundennummer Totale Ordnung: ‚‘

Datenstrukturen Problem: Operationen: Gegeben sind n Objekte O ,.., O mit zugehörigen Schlüsseln s(O ) Operationen: Suche(x); Ausgabe O mit Schlüssel s(O) =x; nil, falls kein Objekt mit Schlüssel x in Datenbank Einfügen(O); Einfügen von Objekt O in Datenbank Löschen(O); Löschen von Objekt O mit aus der Datenbank 1 n i

Datenstrukturen Vereinfachung: Analyse von Datenstrukturen Schlüssel sind natürliche Zahlen Eingabe nur aus Schlüsseln Analyse von Datenstrukturen Platzbedarf in Q- bzw. O-Notation Laufzeit der Operationen in Q- bzw. O-Notation

Datenstrukturen Einfaches Feld n Feld A[1,…,max] Integer n, 1 n  max n bezeichnet Anzahl Elemente in Datenstruktur 13 7 11 6 4 nil n

Datenstrukturen Einfügen(s) if n=max then Ausgabe „Fehler: Kein Platz in Datenstruktur“ else n  n+1 A[n]  s 13 7 11 6 4 nil n

Datenstrukturen Einfügen(s) if n=max then Ausgabe „Fehler: Kein Platz in Datenstruktur“ else n  n+1 A[n]  s 13 7 11 6 4 nil n Einfügen(2)

Datenstrukturen Einfügen(s) if n=max then Ausgabe „Fehler: Kein Platz in Datenstruktur“ else n  n+1 A[n]  s 13 7 11 6 4 2 nil n Einfügen(2)

Datenstrukturen Suche(x) n for i  1 to n do if A[i] = x then return i return nil 13 7 11 6 4 2 nil n

Datenstrukturen Löschen(i) n Annahme: Wir bekommen Index i des zu löschenden Objekts Löschen(i) A[i]  A[n] A[n]  nil n  n-1 13 7 11 6 4 2 nil n

Datenstrukturen Löschen(i) n A[i]  A[n] A[n]  nil n  n-1 13 7 11 6 4 2 nil n Löschen(2)

Datenstrukturen Löschen(i) n A[i]  A[n] A[n]  nil n  n-1 13 2 11 6 4 nil n Löschen(2)

Datenstrukturen Datenstruktur Feld Vorteile Nachteile Platzbedarf Q(max) Laufzeit Suche: Q(n) Laufzeit Einfügen/Löschen: Q(1) Vorteile Schnelles Einfügen und Löschen Nachteile Speicherbedarf abhängig von max (nicht vorhersagbar) Hohe Laufzeit für Suche

Datenstrukturen Datenstruktur „sortiertes Feld“ A Sortiertes Feld A[1,…,max] Integer n, 1 n  max n bezeichnet Anzahl Elemente in Datenstruktur 2 4 6 7 11 13 nil A n

Datenstrukturen Einfügen(s) n  n+1 i  n while s < A[i-1] do A[i]  A[i-1] i  i -1 A[i]  s 2 4 6 7 11 13 nil n Einfügen(10)

Datenstrukturen Einfügen(s) n  n+1 i  n while s < A[i-1] do A[i]  A[i-1] i  i -1 A[i]  s 2 4 6 7 11 13 nil n Einfügen(10)

Datenstrukturen Einfügen(s) n  n+1 i  n while s < A[i-1] do A[i]  A[i-1] i  i -1 A[i]  s 2 4 6 7 11 13 nil n Einfügen(10)

Datenstrukturen Einfügen(s) n  n+1 i  n while s < A[i-1] do A[i]  A[i-1] i  i -1 A[i]  s 2 4 6 7 11 13 nil n Einfügen(10)

Datenstrukturen Einfügen(s) n  n+1 i  n while s < A[i-1] do A[i]  A[i-1] i  i -1 A[i]  s Laufzeit O(n) 2 4 6 7 10 11 13 nil n Einfügen(10)

Datenstrukturen Löschen(i) Parameter ist der Index des zu löschenden Objekts Löschen(i) for j  i to n-1 do A[j]  A[j+1] A[n]  nil n  n-1 2 4 6 7 11 13 nil n

Datenstrukturen Löschen(i) Parameter ist der Index des zu löschenden Objekts Löschen(i) for j  i to n-1 do A[j]  A[j+1] A[n]  nil n  n-1 2 4 6 7 11 13 nil n Löschen(2)

Datenstrukturen Löschen(i) Parameter ist der Index des zu löschenden Objekts Löschen(i) for j  i to n-1 do A[j]  A[j+1] A[n]  nil n  n-1 i 2 4 6 7 11 13 nil n Löschen(2)

Datenstrukturen Löschen(i) for j  i to n-1 do A[j]  A[j+1] A[n]  nil n  n-1 i 2 4 6 7 11 13 nil n Löschen(2)

Datenstrukturen Löschen(i) for j  i to n-1 do A[j]  A[j+1] A[n]  nil n  n-1 i 2 6 7 11 13 nil n Löschen(2)

Datenstrukturen Löschen(i) for j  i to n-1 do A[j]  A[j+1] A[n]  nil n  n-1 i 2 6 7 11 13 nil n Löschen(2)

Datenstrukturen Löschen(i) for j  i to n-1 do A[j]  A[j+1] A[n]  nil n  n-1 i 2 6 7 11 13 nil n Löschen(2)

Datenstrukturen Suchen(x) Binäre Suche Laufzeit O(log n) i 2 6 7 11 13 nil n Löschen(2)

Datenstrukturen Datenstruktur sortiertes Feld Vorteile Nachteile Platzbedarf Q(max) Laufzeit Suche: Q(log n) Laufzeit Einfügen/Löschen: Q(n) Vorteile Schnelles Suchen Nachteile Speicherbedarf abhängig von max (nicht vorhersagbar) Hohe Laufzeit für Einfügen/Löschen