===== WeCtor (Worst-Case Vector) ===== ==== Beschreibung ==== Algorithmenbibliotheken bieten üblicherweise eine Datenstruktur für ein "resizable array" an, also ein Array, dessen Größe apriori nicht bekannt ist (aber trotzdem wahlfreien Zugriff bietet). Beispiele hierfür sind * die C++-STL-Klasse ''vector'' mit den Operationen ''[]'', ''push_back'', ''pop_back'', etc. * die Java-Klasse ''ArrayList'' * die Klasse ''QVector'' der Grafikbibliothek Qt5 Jedoch haben diese Datenstrukturen den Nachteil, dass sie zu bestimmten Zeitpunkten alle Daten umkopieren müssen, wodurch unerwünschte Wartezeiten entstehen ("Schluckauf"), die sich in Realzeitanwendungen durchaus negativ bemerkbar machen. Ziel dieser Bachelorarbeit ist es, eine Implementierung für ein resizable array zu erstellen, das im worst-case konstante Zeit für alle Operationen bietet. Die Implementierung soll für große Datenmengen im Hinblick auf Platz- und Zeitbedarf ausführlich getestet werden. ==== Typ ==== Eher Bachelorarbeit, bei Vorwissen und eigenen Ideen auch zur Masterarbeit ausbaubar. ==== Betreuer ==== Bei Interesse wenden Sie sich bitte an [[staff:koeppl|Dominik Köppl]] oder [[staff:fischer|Prof. Dr. Fischer]].