Wenn eine Liste gesucht wird, die in allen Punkten schnell arbeitet, in er man Vorwärts/Rückwärts laufen kann, und das Suchen/Einfügen/Löschen jeweils in (so gut wie) O(1) von statten geht, würde ich Skiplists nehmen und die gibt es hier:
http://www.delphipraxis.net/internal...ct.php?t=53649
Wie eine Datenstruktur baut (hier: Hash-Tabellen), und eine dynamische Liste effektiv verwenden kann, steht hier:
http://www.delphipraxis.net/internal...ct.php?t=53653
Die Hashtabellen sind beim Suchen/Einfpügen/Löschen unerreicht schnell, dafür ist das Traversieren (also sukkessive Durchlaufen) nicht so schön, zumal die Elemente nicht soriert erscheinen.