Lernziele
| Geordnete Folgen |
Eine geordnete Folge (im Sinne von LEDA) ist eine Folge von Containern, bei der jeder Container aus einem Schlüssel eines linear geordneteten Schlüsseltyps und einem Wert eines beliebigen Wertetyps besteht. Die Container sind dabei in aufsteigender Reihenfolge ihrer Schlüssel geordnet. Abbildung 3.6 zeigt eine geordnete Folge.
Abbildung 3.6. Eine geordnete Folge

Eine geordnete Folge mit 6 Containern. Der
Schlüsseltyp ist string, der Wertetyp ist
int. Die Container sind nach
den Schlüsseln (lexikographisch) geordnet,
nicht nach den Werten.
Geordnete Folgen werden in LEDA durch die Klasse
sortseq angeboten, die eine breite Palette
von Operationen anbietet. Diese umfasst nahezu alle Operationen, zu
denen lineare Listen, Wörterbücher und Prioritäts-Warteschlangen
fähig sind, und noch Vieles mehr. Eine sortseq leistet dies sogar asymptotisch mit
demselben Zeitaufwand.
Geordnete Folgen sind somit der „eierlegende
Wollmilchsau-Containertyp“ von LEDA.[33]
Jedoch sollte man die Klasse sortseq nicht
bedenkenlos verwenden: Der Preis für ihre Vielfältigkeit sind ein
erhöhter Platzaufwand für das Speichern der Struktur und größere
Konstanten in den asymptotischen Laufzeiten der einzelnen Operationen.
[33] Ein dem Autor bekannter LEDA-Adepte antwortete auf die
Frage, wozu er denn geordnete Folgen hauptsächlich einsetze, mit
den Worten „Wenn ich nicht weiß, welchen spezialisierten
Containertyp ich im Endeffekt wirklich brauche, oder zu faul bin,
mir das zu überlegen, dann fange ich erst einmal mit einer
sortseq an, und wenn am Ende alles läuft,
und ich noch Lust habe, dann ersetze ich sie durch das, was ich
wirklich brauche.“