Sie sind auf Seite 1von 14

Algorithmen & Datenstrukturen &

Graphentheorie SS 23

1
ralf.thiele@h-brs.de
FB 02, H-BRS

KW 13 2023

1
unter teilweiser Verwendung von Materialien von Andreas P. Priesnitz und Peter Becker
ralf.thiele@h-brs.de FB 02, H-BRS ADG SS23 KW 13 2023 1 / 364
Allgemeines zur Vorlesung

Vorlesungsunterlagen
Alle Informationen zur Vorlesung (Folien, Übungen etc.) sind in
LEA (lea.h-brs.de Algorithmen & Datenstrukturen &
Graphentheorie (ADG)) hinterlegt.
Folien zur Vorlesung enthalten nur die wichtigsten Aspekte
(Definitionen, Sätze, knappe Beispiele, wichtige Bemerkung).
Alles, was sonst eine Vorlesung ausmacht (Erläuterungen,
ausführliche Beispiele, Beweise von Sätzen, Anwendungen,
Querverweise auf andere Gebiete der Informatik, etc.), gibt es
nur in der Vorlesung selbst.
Die Folien zur Vorlesung (Skript) stehen im LEA vor der
Vorlesung als PDF zur Verfügung. Sie können also die
ausgedruckten Folien mit in die Vorlesung bringen und dort mit
schriftlichen Bemerkungen versehen.
ralf.thiele@h-brs.de FB 02, H-BRS ADG SS23 KW 13 2023 2 / 364
Allgemeines zur Vorlesung

Übungen in ADG im SS22

Theo-Übungsblätter (LEA)
Selbständige Bearbeitung in Vorbereitung auf ACAT-Abgaben
Besprechung in den Übungsgruppen, später Musterlösungen
ACAT-Übungsblätter (https://adgt.acat.inf.h-brs.de)
Jeder hat in der Regel andere (aber gleichartige) Aufgaben.
Selbständige Bearbeitung mit eine Bearbeitungszeit von 1-2
Wochen (je nach Komplexität)
Elektronische Abgabe: Java-basiert oder in vorgegebenen
Format (genauere Informationen folgen in der jeweiligen
Aufgabe und über Templates)
Automatisierte Bewertung; keine Musterlösung
Ausgabe der Theo- und ACAT-Übungsblätter eine Woche vorher
über LEA bzw. ACAT

ralf.thiele@h-brs.de FB 02, H-BRS ADG SS23 KW 13 2023 3 / 364


Allgemeines zur Vorlesung

Prüfung

Prüfung
6 ECTS-Punkte für ADG
Prüfungstermin: siehe Prüfungsplan
Prüfungsform: schriftlich / digital (Klausur)
keine Hilfsmittel (wird ggf. angepasst an Prüfungsform)
keine Zwischenklausur
Zulassungsvoraussetzung zur Klausur
Mindestens 50% der Punkte aus den ACAT-Übungen zu ADG
Die Zulassung gilt jeweils für zwei mögliche Prüfungstermine.
Eine im SS 22 im BWI/BCSP erworbene Zulassung gilt also
auch für die Prüfungen im WS 22/23 und eine im WS 22/23 im
BI erworbene Zulassung auch für die Prüfungen im SS 23.

ralf.thiele@h-brs.de FB 02, H-BRS ADG SS23 KW 13 2023 4 / 364


Allgemeines zur Vorlesung

Inhalt
1 Einführung
2 Kosten & Komplexität
3 Sortieren
4 Bäume
5 Hashing
6 Suchen in Texten / Dynamische Programmierung
7 Grundbegri↵e und Repräsentation von Graphen in Computern
8 Durchsuchen von Graphen
9 Kreis- und Wegeprobleme
10 Bäume und Minimalgerüste
11 Flüsse und Zuordnungen
12 Pattern Matching
ralf.thiele@h-brs.de FB 02, H-BRS ADG SS23 KW 13 2023 5 / 364
Allgemeines zur Vorlesung

Literatur

T.H. Cormen, C.E. Leierson, R.L. Rivest, C.


Stein
Introduction to Algorithms
The MIT Press
2009

T. Ottmann, P. Widmayer
Algorithmen und Datenstrukturen
Springer Spektrum
2017
ralf.thiele@h-brs.de FB 02, H-BRS ADG SS23 KW 13 2023 6 / 364
Allgemeines zur Vorlesung

Literatur

TM.T. Goodrich, R. Tamassia, M.H. Goldwas-


ser
Data Structures and Algorithms in Java
John Wiley & Sons Inc.
2005 (neuere Auflagen erhältlich aber sehr teu-
er)

Tausend weitere Bücher zu Algorithmen und


... Datenstrukturen in allen Sprachen und Pro-
grammiersprachen

ralf.thiele@h-brs.de FB 02, H-BRS ADG SS23 KW 13 2023 7 / 364


Allgemeines zur Vorlesung

Literatur

V. Turau
Algorithmische Graphentheorie
Oldenbourg
2009

S. O. Krumke, H. Noltemeier
Graphentheoretische Konzepte und Algorith-
men
Vieweg und Teubner
2012

ralf.thiele@h-brs.de FB 02, H-BRS ADG SS23 KW 13 2023 8 / 364


Allgemeines zur Vorlesung

Literatur
D. Jungnickel
Graphen, Netzwerke und Algorithmen
Spektrum Akademischer Verlag
1994

Im Buchhandel nicht mehr erhältlich

D. Jungnickel
Graphs, Networks and Algorithms
Springer
2013

ralf.thiele@h-brs.de FB 02, H-BRS ADG SS23 KW 13 2023 9 / 364


Allgemeines zur Vorlesung

Algorithmus

Ein Algorithmus ist eine eindeutige, formale Handlungsvorschrift


zur Lösung eines Problems oder einer Klasse von Problemen.
Algorithmen bestehen aus endlich vielen, wohldefinierten
Einzelschritten.
Damit können sie zur Ausführung in einem Computerprogramm
implementiert, aber auch in menschlicher Sprache formuliert
werden.
Bei der Problemlösung wird eine bestimmte Eingabe in eine
bestimmte Ausgabe überführt.
Sprachunabhängiges Muster zur Lösung einer allgemeinen
Aufgabe

ralf.thiele@h-brs.de FB 02, H-BRS ADG SS23 KW 13 2023 10 / 364


Allgemeines zur Vorlesung

Algorithmus
Berechnungsvorschrift zur Lösung eines Problems heißt genau dann
Algorithmus, wenn eine zu dieser Berechnungsvorschrift äquivalente
Turingmaschine existiert, die für jede Eingabe, die eine Lösung
besitzt, stoppt.
1 Das Verfahren muss in einem endlichen Text eindeutig beschreibbar
sein (Finitheit).
2 Jeder Schritt des Verfahrens muss ausführbar sein (Ausführbarkeit).
3 Das Verfahren darf zu jedem Zeitpunkt nur endlich viel Speicherplatz
benötigen (Dynamische Finitheit).
4 Das Verfahren darf nur endlich viele Schritte benötigen
(Terminierung).
5 Bei denselben Voraussetzungen muss das gleiche Ergebnis geliefert
werden (Determiniertheit).
Die nächste anzuwendende Regel
ralf.thiele@h-brs.de
6 FB 02, H-BRS
im Verfahren ist zu jedem
ADG SS23 KW 13 2023 11 / 364
Allgemeines zur Vorlesung

Datenstrukturen
Eine Datenstruktur ist ein Objekt zur Speicherung und Organisation
von Daten.
Struktur, weil die Daten in einer bestimmten Art und Weise
angeordnet und verknüpft werden, um den Zugri↵ auf sie und
ihre Verwaltung effizient zu ermöglichen.
Datenstrukturen sind nicht durch die enthaltenen Daten
charakterisiert, sondern durch die Operationen auf diesen Daten,
Operationen realisieren Zugri↵, Verwaltung und Manipulation
der Daten.
Definition von Datenstrukturen erfolgt durch Spezifikation der
Datenhaltung und der dazu nötigen Operationen.
Bei Schwerpunkt auf der konkreten Implementierung der
Operationen wird häufig von einem abstrakten Datentyp
gesprochen.
ralf.thiele@h-brs.de FB 02, H-BRS ADG SS23 KW 13 2023 12 / 364
Allgemeines zur Vorlesung

Datenstrukturen vs. Algorithmen


Datenstruktur ist Muster für Typimplementierung
beschreibt Organisation der Daten eines (Teil-)Problems
bietet Elementaroperationen, um Daten zu lesen und ändern
hat darüber hinaus keinen Anteil an der Problemlösung

Algorithmus ist Muster für Methodenimplementierung


beschreibt ein Verfahren zur Lösung eines (Teil-)Problems
verwendet Elementaroperationen, Daten zu lesen und ändern
hat darüber hinaus keinen Anteil an der Datenverwaltung

Entwurf von Datenstrukturen u. Algorithmen in der Regel


voneinander abhängig

ralf.thiele@h-brs.de FB 02, H-BRS ADG SS23 KW 13 2023 13 / 364


Allgemeines zur Vorlesung

Graphentheorie
Die Graphentheorie ist ein Teilgebiet der Mathematik/Informatik, das
die Eigenschaften von Graphen und ihre Beziehungen zueinander
untersucht.
Viele algorithmische Probleme können auf Graphen
zurückgeführt werden.
Lösung graphentheoretischer Probleme basiert oft auf
Algorithmen.
Beispiel 1.1 (Euler,
1736) Norden

Gibt es einen Rundweg


Insel Osten
durch Königsberg, der
jede der sieben Brücken
Süden
genau einmal überquert?

ralf.thiele@h-brs.de FB 02, H-BRS ADG SS23 KW 13 2023 14 / 364

Das könnte Ihnen auch gefallen