datastructuurontwerp
Datastructuurontwerp is het proces waarbij softwareontwikkelaars de meest geschikte datastructuren kiezen en combineren om bepaalde taken efficiënt uit te voeren. Het richt zich op het vastleggen van operationele patronen (zoals zoeken, toevoegen, verwijderen, itereren) en op het afwegen van tijd- en ruimtecomplexiteit, onderhoudbaarheid en schaalbaarheid. Bij het ontwerpen wordt rekening gehouden met de verwachte gebruikspatronen, de grootte van de data, de dynamiek van mutaties en de gewenste prestaties op verschillende hardware, inclusief cache- en geheugenhiërarchieën.
Een belangrijk uitgangspunt is het definiëren van abstractie-interfaces en het kiezen van concrete implementaties die aansluiten
Het ontwerpproces omvat analyse van vereisten, modellering van operaties en evaluatie via theoretische analyse (bijv. Big-O)
Toepassingsgebieden variëren van databases, programmeerbare talen en compilers tot grafische systemen en real-time systemen. Voorbeelden zijn