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. Als Programmiersprache wird JAVA verwendet.
Inhalt/e
Einführung und ÜberblickElementare AlgorithmenBeschleunigung durch AufteilenSortieralgorithmenSuchalgorithmenHashverfahrenGraphen und BäumeBalancierte WurzelbäumeAlgorithmen auf GraphenDatenkommunikationString MatchingAusblick - 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-2023/algodat