Δομή δεδομένων

Στην πληροφορική, η έννοια της δομής δεδομένων αναφέρεται στους διαφορετικούς δυνατούς τρόπους οργάνωσης και αποθήκευσης δεδομένων μέσα σε έναν υπολογιστή, ώστε τα δεδομένα αυτά να μπορούν να χρησιμοποιηθούν αποδοτικά. Για παράδειγμα ένα σύνολο από δεδομένα μπορεί να αποθηκευτεί σε δομή πίνακα, στοίβας, συνδεδεμένης λίστας, σωρού, ουράς και ούτω καθ εξής.

Σε συγκεκριμένες εφαρμογές χρησιμοποιούνται συγκεκριμένες δομές δεδομένων, δηλαδή αυτές που είναι οι πιο αποδοτικές αλγοριθμικά για το κάθε είδος εφαρμογής. Για παράδειγμα, τα Β-δέντρα χρησιμοποιούνται σε υλοποιήσεις βάσεων δεδομένων.

Δομές δεδομένων χρησιμοποιούνται σχεδόν σε κάθε πρόγραμμα ή σύστημα λογισμικού. Παρέχουν έναν τρόπο αποδοτικής διαχείρισης τεράστιου όγκου δεδομένων, όπως μεγάλες βάσεις δεδομένων και υπηρεσίες ευρετηρίου στο διαδίκτυο. Οι αποδοτικές δομές δεδομένων θεωρούνται συχνά ιδιαίτερα σημαντικές στη δημιουργία ενός αποδοτικού αλγορίθμου, σε τέτοιο βαθμό, ώστε κάποιες μέθοδοι σχεδίασης και γλώσσες προγραμματισμού δίνουν έμφαση σε δομές δεδομένων, παρά σε αλγορίθμους, ως το βασικό κριτήριο σχεδίασης λογισμικού.

Ορισμός
Ένα σύνολο από στοιχεία δεδομένων αποτελεί δομή όταν υπάρχουν καθορισμένες σχέσεις μεταξύ των στοιχείων. Μια δομή δεδομένων ορίζεται ως η διαδικασία εισαγωγής και απομάκρυνσης στοιχείων με τρόπο ώστε όλη η δομή να μην αλλοιώνεται.
Κάθε δομή δεδομένων έχει ως αφηρημένη έννοια συγκεκριμένο ορισμό, δηλαδή διαδικασία εισαγωγής/απομάκρυνσης στοιχείων, αλλά μπορεί να υλοποιείται σε έναν Η/Υ με διαφορετικούς τρόπους.

Πράξεις
Οι βασικότερες λειτουργίες ή πράξεις επί των δομών δεδομένων είναι οι εξής:
 Εισαγωγή: Πρόσθεση ενός κόμβου στη δομή.
 Αναζήτηση: Αναζήτηση ενός κόμβου της δομής με κλειδί την τιμή ενός πεδίου του.
 Διαγραφή: Η αφαίρεση ενός κόμβου από τη δομή.

Σε αρκετές δομές δεδομένων συχνά ορίζονται επιπλέον λειτουργίες, όπως οι ακόλουθες:
 Προσπέλαση: Αναζήτηση ενός κόμβου της δομής για να εξεταστεί το περιεχόμενό του.
 Ταξινόμηση: Οι κόμβοι της δομής ταξινομούνται με βάση τις τιμές σε ένα η περισσότερα πεδία, σε αύξουσα σειρά ή φθίνουσα σειρά.
 Αντιγραφή: Αντιγραφή ολόκληρης της δομής και των δεδομένων που περιέχει.
 Συγχώνευση: 2 ή περισσότερες δομές συγχωνεύονται σε μία ενιαία δομή.

Πηγές
Peter Bishop, Computing Science, 1991
Κόλιας, Μανωλόπουλος, Δομές Δεδομένων, 1990