Intendierte Lernergebnisse
Aufbauend auf den Kenntnissen der "Einführung in die strukturierte und objektorientierte Programmierung" (ESOP) ist der Umgang mit Datenstrukturen und Algorithmen größerer Strukturkomplexität zu erlernen. Dabei sollen die Studierenden einen Grundschatz wichtiger Datenstrukturen und Algorithmen kennenlernen und diese nach ihrer algorithmischen Komplexität beurteilen können. Die begleitenden Übungen vertiefen den Vorlesungsstoff und sollen dazu beitragen, eigenständig die Konstruktion und Analyse von Algorithmen durchzuführen. Von den vorgestellten Datenstrukturen bzw. Algorithmen sind einige exemplarisch zu implementieren. Neben diesem Grundziel der Lehrveranstaltung dienen ausgewählte Implementierungsbeispiele des Praktikums dazu, die im ESOP erworbenen Programmierkenntnisse (insbesondere die objektorientierten Konzepte) zu festigen.Nach Absolvieren von VO und UE können Studierende …Landau-Symbole definieren und einfache Komplexitätsklassen gegeneinander abgrenzendie Komplexität von einfachen Algorithmen bestimmenden Fundamentalsatz (Beschleunigen durch Aufteilen) wiedergeben und anwendenunterschiedliche Sortierverfahren beschreiben und nutzenunterschiedliche Suchverfahren beschrieben und nutzenunterschiedliche Hashverfahren beschreiben und nutzenGraphen und Bäume definieren und grundlegende Algorithmen (Traversierung, Tiefen/Breitensuche) auf den zugehörigen Datenstrukturen anwendenBalancierte Bäume (AVL- und B-Bäume) definieren und zugehörige Algorithmen anwendenKürzeste Wege in Graphen (1:n, n:n) und Spannbäume definieren und bestimmenUnterschiedliche Algorithmen für Stringmatching nenneneinfache Algorithmen zu Datenkompression, Fehlererkennung- und -korrektur erklären und anwendendie Komplexitätsklassen P und NP definieren und das Prinzip der Polynomiellen Reduktion erklären
Inhalt/e
Einführung und ÜberblickElementare AlgorithmenBeschleunigung durch AufteilenSortieralgorithmenSuchalgorithmenHashverfahrenGraphen und BäumeBalancierte WurzelbäumeAlgorithmen auf GraphenDatenkommunikation(String Matching)Ausblick - Die Klassen P und NP
Erwartete Vorkenntnisse
Fähigkeit zum Bilden einfacher Algorithmen und Datenstrukturen, sowie Programmierkenntnisse im von ESOP vermittelten Umfang. Zur Beschreibung der Algorithmen wird meist Pseudocode verwendet, in einzelnen Fällen auch Java.
Curriculare Anmeldevoraussetzungen
keine
Literatur
Siehe VO-Folien.Link auf weitere Informationenhttps://www.syssec.at/de/lehre/ss-2025/algodat