Selbstanordnende Listen
Selbstanordnende Listen sind doppelt verkettete Listen, die nach einer bestimmten Strategie aufgebaut werden. Elemente, auf die häufig zugegriffen wird, sollen möglichst weit vorn platziert werden. Nach jedem Zugriff wird die Liste so verändert, dass eine künftige Suche nach diesem Element schneller geht (Beachte: Diese Listen sind nicht nach Schlüsselwerten sortiert!)
Es gibt verschieden Strategien:
- Move-to-front (MF)-Regel: Das gefundene Element wird an den Kopf der Liste gebracht, die relative Anordnung der übrigen Elemente bleibt unverändert.
- Transpose (T) - Regel: Der Tausch erfolgt mit dem Vorgänger des gefundenen Elements.
- Frequency Count (FC)-Regel: Ordne jedem Element einen Häufigkeitszähler zu, der die Anzahl der Zugriffe auf das jeweilige Element speichert. Die Liste ist nach jedem Zugriff in absteigender Reihenfolge des Häufigkeitszählers zu ordnen.
Aufgaben:
- Aus der Vorlesung und Übung ist die Klasse NodeList bekannt. Schreiben Sie für jede der drei Strategien eine von NodeList abgeleitete Klasse. Verwenden Sie keine in Java vordefinierten Kollektionsklassen wie z. B. LinkedList.
- Visualisieren Sie alle drei Strategien in geeigneter Weise als Applet oder Applikation (grafische Oberfläche).
src
List.java
DLNode.java
NodeList.java
MTFNodeList.java
FCNodeList.java
TNodeList.java
applet
Selbstanordnende Listen
doc
pdf