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
vector
mit den Operationen []
, push_back
, pop_back
, etc.ArrayList
QVector
der Grafikbibliothek Qt5Jedoch 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.
Eher Bachelorarbeit, bei Vorwissen und eigenen Ideen auch zur Masterarbeit ausbaubar.
Bei Interesse wenden Sie sich bitte an Dominik Köppl oder Prof. Dr. Fischer.