Forum: Algorithmen, Datenstrukturen und Klassendesign
by Uwe Raabe,
30. Jul 2015
So in der Art wäre auch mein Ansatz gewesen, bis ich realisierte, daß er gegen die Vorgabe verstößt (weshalb steht etwas weiter vorn im Thread). Schreib doch die Vorgabe einfach um:
Der Satz mit Wahrscheinlichkeit und häufiger kann dann entfallen. Damit ist die Cache-Strategie klar definiert und es kommt nur noch auf die Implementierung an.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Uwe Raabe,
30. Jul 2015
Dein Ansatz hat aber ein paar klitzekleine Denkfehler:
- Die Capacity der Liste wir automatisch erhöht, wenn der Count sie überschreitet. Damit wächst deine Liste über den anfänglichen MaxSize-Wert hinaus.
- Die ID muss nicht zwingen mit dem Index in der Liste identisch sein. Der ändert sich nämlich beim Löschen eines Elements in der Mitte für alle folgenden Elemente. Diese wären dann...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Uwe Raabe,
30. Jul 2015
Ich wollte eigentlich darauf hinaus, daß man eher Wert auf die zuküftige Verwendung der Elemente abzielt, als auf die vergangene. Selbst mit der erweiterten Statistik brauche ich erst 100 Zugriffe bis das neue Element in den Cache kommt, wobei selbst nicht mehr benötigte Elemente noch zu lange im Cache bleiben. Um 10 Elemente mit Verwendung 100 aus dem Cache zu werfen bedarf es mindestens 10...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Uwe Raabe,
30. Jul 2015
Gibt es eine TestSuite, die die Korrektheit der Klasse an sich und die Einhaltung der Vorgaben überprüft?
Gerade bei der Forderung
sehe ich eine gewisse Problematik für die Implementation. Nehmen wir mal die maximale Anzahl der Elemente im Cache mit 10 an und jedes Element ist über 100x verwendet worden. Jetzt wird ein elftes Element "X" angefordert und kommt in den Cache (Put). Dafür...