Διατηρεί μια γραμμική διάταξη δυναμικά μεταβαλλόμενης συλλογής στοιχείων. Υποστηρίζει τις λειτουργίες: Εισαγωγή νέου στοιχείου y αμέσως μετά από το στοιχείο x. x y Διαγραφή στοιχείου y. y Έλεγχος της σειράς διάταξης δύο στοιχείων x και y. y x Μπορούμε να επιτύχουμε χρόνο χειρότερη περίπτωση (με πιο περίπλοκη δομή) ανά πράξη, αντισταθμιστικά ή στην
Απλοϊκές λύσεις : Διπλά συνδεδεμένη λίστα : για εισαγωγή/διαγραφή, για ερώτημα διάταξης Ισορροπημένο δυαδικό δένδρο : για κάθε λειτουργία
Δημιουργούμε μια σύνθετη δομή που αποτελείται από : α) Μια διπλά συνδεδεμένη λίστα β) Ακέραιες ετικέτες : κάθε στοιχείο έχει ετικέτα τέτοια ώστε αν και μόνο αν το προηγείται του στη λίστα Τοποθετούμε στα άκρα της λίστας δύο (σταθερά) επιπλέον στοιχεία και με και όπου αρκετά μεγάλος ακέραιος.
Πως καθορίζουμε τις τιμές ; Έστω τα στοιχεία της λίστας, και έστω ένα νέο στοιχείο που πρέπει να εισαχθεί μεταξύ του και του. Ορίζουμε τη διαφορά των ετικετών δύο στοιχείων και ως Αν υπάρχει χώρος στο διάστημα, δηλαδή, τότε θέτουμε Αν τότε πρέπει να επαναριθμήσουμε τις ετικέτες κάποιων στοιχείων ώστε να έχουμε χώρο για την εισαγωγή του νέου στοιχείου.
Αν τότε πρέπει να γίνει επαναρίθμηση κάποιου διαστήματος τοπική επαναρίθμηση 16 17 18 24? 16 17 19 21 24
Έστω. Η ιδέα είναι να βρούμε δύο στοιχεία και με και η διαφορά ετικετών επαναριθμήσουμε τις ετικέτες των νέο στοιχείο. να είναι αρκετά μεγάλη, έτσι ώστε αν στοιχείων να έχουμε χώρο για το Αν τότε και αναζητούμε το στα δεξιά του. Αν τότε και αναζητούμε το στα αριστερά του.
Έστω. Υποθέτουμε ότι. (Η περίπτωση είναι συμμετρική.) Για ευκολία ορίζουμε τον παρακάτω συμβολισμό : και. Αναζητούμε το μικρότερο δείκτη τέτοιον ώστε.
Αναζητούμε το μικρότερο δείκτη τέτοιον ώστε. Έστω ότι δεν υπάρχει τέτοιο. Για απλότητα υποθέτουμε. Επιλέγουμε ακέραιο τέτοιο ώστε. Τότε για κάθε ισχύει. Άρα Αφού, έχουμε Συνεπώς αρκεί να επιλέξουμε.
Αναζητούμε το μικρότερο δείκτη τέτοιον ώστε. Για η αναζήτηση του είναι εγγυημένα επιτυχής και επομένως μπορούμε να επαναριθμήσουμε τις ετικέτες των στο διάστημα Έχουμε άρα μπορούμε να μοιράσουμε ομοιόμορφα τις ετικέτες των στοιχείων σε ένα διάστημα ακεραίων. Συνεπώς, μετά την επαναρίθμηση, οι νέες διαδοχικές ετικέτες θα διαφέρουν τουλάχιστον κατά 2.
Επιδόσεις Το κόστος ανά πράξη είναι : χειρότερης περίπτωσης για διαγραφή ή ερώτημα διάταξης αντισταθμιστικό για εισαγωγή
Επιδόσεις Υποθέσαμε ότι γνωρίζουμε τον αριθμό στοιχείων που θα εισαχθούν στη δομή. Μπορούμε να χειριστούμε την περίπτωση μεταβλητού αριθμού στοιχείων με διπλασιασμό/υποδιπλασιασμό του (όπως στους δυναμικούς πίνακες) : Αν με την επόμενη εισαγωγή ο αριθμός των στοιχείων της δομής γίνει τότε θέτουμε Αν με την επόμενη διαγραφή ο αριθμός των στοιχείων της δομής γίνει τότε θέτουμε Με αυτό τον τρόπο έχουμε κόστος : χειρότερης περίπτωσης για ερώτημα διάταξης αντισταθμιστικό για διαγραφή αντισταθμιστικό για εισαγωγή, όπου στοιχείων στη δομή ο μέγιστος αριθμός
Δομή δύο επιπέδων Μπορούμε να επιτύχουμε σταθερό αντισταθμιστικό χρόνο ανά εισαγωγή και διαγραφή, διατηρώντας αρίθμηση δύο επιπέδων : 0? 0? 0? Χωρίζουμε τα στοιχεία σε ομάδες των. Τα στοιχεία αποθηκεύονται στο δεύτερο επίπεδο. Το πρώτο επίπεδο αποθηκεύει ένα στοιχείο ανά ομάδα.