📌 3.1 Τι μελετά η Θεωρία Πληροφοριών;

Τα δεδομένα (data) είναι μια αφαιρετική αναπαράσταση της πραγματικότητας και συνεπώς μια απλοποιημένη όψη της. Είναι ακατέργαστα γεγονότα, και κάθε φορά η επιλογή τους εξαρτάται από τον τύπο του προβλήματος.

Η συλλογή των ακατέργαστων δεδομένων και ο συσχετισμός τους δίνει ως αποτέλεσμα την πληροφορία. Μπορεί να θεωρηθεί ότι ο αλγόριθμος είναι το μέσο για την παραγωγή πληροφορίας από τα δεδομένα.

Με βάση τις δεδομένες πληροφορίες λαμβάνονται διάφορες αποφάσεις και γίνονται ενέργειες. Στη συνέχεια αυτές οι ενέργειες παράγουν νέα δεδομένα, νέες πληροφορίες, νέες αποφάσεις, νέες ενέργειες κ.ο.κ.

🔑 Βασική Ιδέα: Η μέτρηση, η κωδικοποίηση και η μετάδοση της πληροφορίας αποτελεί αντικείμενο μελέτης ενός ιδιαίτερου κλάδου, της Θεωρίας Πληροφοριών, που είναι ένα ιδιαίτερα σημαντικό πεδίο της Πληροφορικής.

📌 3.2 Από ποιες σκοπιές μελετά τα δεδομένα η πληροφορική;

Η πληροφορική μελετά τα δεδομένα από τις εξής σκοπιές:

🔧 Σκοπιά Υλικού (Hardware)

Το υλικό (hardware), δηλαδή η μηχανή, επιτρέπει στα δεδομένα ενός προγράμματος να αποθηκεύονται στην κύρια μνήμη και στις περιφερειακές συσκευές του υπολογιστή με διάφορες αναπαραστάσεις (representations). Τέτοιες μορφές είναι:

  • Η δυαδική αναπαράσταση
  • Ο κωδικός ASCII
  • Ο κωδικός EBCDIC
  • Το συμπλήρωμα του 1 και του 2

💻 Σκοπιά Γλωσσών Προγραμματισμού

Οι γλώσσες προγραμματισμού υψηλού επιπέδου (high level programming languages) επιτρέπουν τη χρήση διαφόρων τύπων (types) μεταβλητών (variables) για να περιγράψουν ένα δεδομένο. Ο μεταφραστής κάθε γλώσσας φροντίζει για την αποδοτικότερη μορφή αποθήκευσης, από πλευράς υλικού, κάθε μεταβλητής.

🗂️ Σκοπιά Δομών Δεδομένων

Δομή δεδομένων (data structure) είναι ένα σύνολο δεδομένων μαζί με ένα σύνολο επιτρεπτών λειτουργιών επ' αυτών. Για παράδειγμα, μια τέτοια δομή είναι η εγγραφή (record), που μπορεί να περιγράφει ένα είδος, ένα πρόσωπο κ.λπ.

📊 Σκοπιά Ανάλυσης Δεδομένων

Τρόποι καταγραφής και αλληλοσυσχέτισης των δεδομένων μελετώνται έτσι ώστε να αναπαρασταθεί η γνώση για πραγματικά γεγονότα. Οι τεχνολογίες των Βάσεων Δεδομένων (Databases), της Μοντελοποίησης Δεδομένων (Data Modelling) και της Αναπαράστασης Γνώσης (Knowledge Representation) ανήκουν σε αυτή τη σκοπιά μελέτης.

⚠️ Σημείωση: Τα δεδομένα ενός προβλήματος αποθηκεύονται στον υπολογιστή είτε στην κύρια μνήμη του είτε στη δευτερεύουσα μνήμη του. Η αποθήκευση δεν γίνεται κατά έναν τυχαίο τρόπο αλλά συστηματικά, δηλαδή χρησιμοποιώντας μια δομή.

📌 3.3 Τι είναι η δομή δεδομένων; (Ορισμός)

Δομή δεδομένων είναι ένα σύνολο αποθηκευμένων δεδομένων που υφίστανται επεξεργασία από ένα σύνολο λειτουργιών.

Κάθε μορφή δομής δεδομένων αποτελείται από ένα σύνολο κόμβων (nodes) — δηλαδή στοιχείων που αποθηκεύουν τα δεδομένα — και από τις σχέσεις που τα συνδέουν.

💡 Απλά: Μια δομή δεδομένων = δεδομένα + λειτουργίες που μπορούμε να κάνουμε πάνω τους.

📌 3.4 Ποιες οι βασικές λειτουργίες επί των δομών δεδομένων;

Οι βασικές λειτουργίες επί των δομών δεδομένων είναι οι ακόλουθες:

  1. Προσπέλαση (access): Πρόσβαση σε έναν κόμβο με σκοπό να εξετασθεί ή να τροποποιηθεί το περιεχόμενό του.
  2. Εισαγωγή (insertion): Προσθήκη νέων κόμβων σε μια υπάρχουσα δομή.
  3. Διαγραφή (deletion): Αντίστροφο της εισαγωγής, αφαίρεση ενός κόμβου από μια δομή.
  4. Αναζήτηση (searching): Οι κόμβοι μιας δομής προσπελαύνονται προκειμένου να εντοπιστούν ένας ή περισσότεροι που έχουν μια δεδομένη ιδιότητα.
  5. Ταξινόμηση (sorting): Οι κόμβοι μιας δομής διατάσσονται κατά αύξουσα ή φθίνουσα σειρά.
  6. Αντιγραφή (copying): Όλοι ή μερικοί από τους κόμβους μιας δομής αντιγράφονται σε μια άλλη.
  7. Συγχώνευση (merging): Δύο ή περισσότερες δομές συνενώνονται σε μια ενιαία δομή.
  8. Διαχωρισμός (separation): Αποτελεί την αντίστροφη πράξη της συγχώνευσης.
⚠️ Σημαντικό: Για στατικές δομές οι πράξεις της Εισαγωγής και της Διαγραφής δεν έχουν νόημα, αφού το μέγεθός τους είναι σταθερό.

Μια δομή δεδομένων είναι αποδοτικότερη από μια άλλη δομή με κριτήριο κάποια συγκεκριμένη λειτουργία (π.χ. ταχύτητα αναζήτησης, ευκολία εισαγωγής κ.λπ.).

📌 3.5 Ποια η εξάρτηση μεταξύ δομών δεδομένων και αλγορίθμου;

Η εξάρτηση της δομής δεδομένων και του αλγορίθμου είναι η ακόλουθη:

Αλγόριθμοι + Δομές Δεδομένων = Προγράμματα
(Wirth – Pascal)

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

📌 3.6 Ποιες κατηγορίες δομών δεδομένων γνωρίζετε;

📍 Στατικές Δομές Δεδομένων

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

Ακόμη, στις στατικές δομές δεδομένων τα στοιχεία αποθηκεύονται σε συνεχόμενες θέσεις μνήμης.

Οι στατικές δομές υλοποιούνται με πίνακες, που είναι δομές που περιέχουν στοιχεία του ίδιου τύπου.

  • Ένας πίνακας μπορεί να είναι μονοδιάστατος.
  • Στη γενικότερη περίπτωση μπορεί να είναι δισδιάστατος, τρισδιάστατος και γενικά ν-διάστατος.
  • Όσον αφορά τους δισδιάστατους πίνακες, αν το μέγεθος των δύο διαστάσεων είναι ίσο, τότε ο πίνακας λέγεται τετραγωνικός (square) και γενικά συμβολίζεται N x N.
  • Μπορούμε να θεωρήσουμε το δισδιάστατο πίνακα ότι είναι ένας μονοδιάστατος πίνακας, όπου κάθε θέση του περιέχει έναν νέο μονοδιάστατο πίνακα.

📍 Δυναμικές Δομές Δεδομένων

Οι δυναμικές δομές δεδομένων (dynamic) δεν αποθηκεύονται σε συνεχόμενες θέσεις μνήμης, αλλά στηρίζονται στην τεχνική της λεγόμενης δυναμικής παραχώρησης μνήμης.

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

Όλες οι σύγχρονες γλώσσες προσφέρουν τη δυναμική παραχώρηση μνήμης.

✅ Πλεονέκτημα: Η χρήση δυναμικών δομών μας δίνει μεγαλύτερη ευελιξία στον προγραμματισμό, καθώς προσαρμόζεται το μέγεθος στις πραγματικές ανάγκες του προβλήματος κατά την εκτέλεση.
💡 Συμβουλή: Κάνε κλικ σε κάθε ερώτηση για να δεις την αναλυτική απάντηση.

1. Τι είναι τα δεδομένα και πώς διαφέρουν από την πληροφορία;

▼

Τα δεδομένα είναι μια αφαιρετική αναπαράσταση της πραγματικότητας, δηλαδή μια απλοποιημένη όψη της. Είναι ακατέργαστα γεγονότα, και η επιλογή τους εξαρτάται από τον τύπο του προβλήματος.

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

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

2. Τι μελετά η Θεωρία Πληροφοριών;

▼

Η Θεωρία Πληροφοριών είναι ένας ιδιαίτερα σημαντικός κλάδος της Πληροφορικής. Μελετά:

  • Τη μέτρηση της πληροφορίας
  • Τη κωδικοποίηση της πληροφορίας
  • Τη μετάδοση της πληροφορίας

Ασχολείται με τον τρόπο μέτρησης της ποσότητας της πληροφορίας, με τεχνικές αποδοτικής κωδικοποίησης δεδομένων (π.χ. κωδικός Huffman) και με τη μελέτη των καναλιών επικοινωνίας για τη μετάδοση δεδομένων με ελάχιστο σφάλμα.

3. Από ποιες σκοπιές μελετά τα δεδομένα η πληροφορική;

▼

Η πληροφορική μελετά τα δεδομένα από τέσσερις βασικές σκοπιές:

  • Σκοπιά Υλικού (Hardware): Μελετά πώς αποθηκεύονται τα δεδομένα στη μηχανή (κύρια και περιφερειακή μνήμη) με αναπαραστάσεις όπως δυαδική, ASCII, EBCDIC, συμπλήρωμα του 1 και 2.
  • Σκοπιά Γλωσσών Προγραμματισμού: Μελετά τους τύπους μεταβλητών που χρησιμοποιούνται για την περιγραφή δεδομένων και τον τρόπο αποδοτικής αποθήκευσής τους από τον μεταφραστή.
  • Σκοπιά Δομών Δεδομένων: Μελετά σύνολα δεδομένων μαζί με τις επιτρεπτές λειτουργίες επ' αυτών (π.χ. εγγραφές).
  • Σκοπιά Ανάλυσης Δεδομένων: Μελετά τρόπους καταγραφής και αλληλοσυσχέτισης δεδομένων (Βάσεις Δεδομένων, Μοντελοποίηση Δεδομένων, Αναπαράσταση Γνώσης).

4. Τι είναι δομή δεδομένων;

▼

Δομή δεδομένων είναι ένα σύνολο αποθηκευμένων δεδομένων που υφίστανται επεξεργασία από ένα σύνολο λειτουργιών.

Κάθε μορφή δομής δεδομένων αποτελείται από:

  • Ένα σύνολο κόμβων (nodes) — δηλαδή στοιχείων που αποθηκεύουν τα δεδομένα
  • Ένα σύνολο επιτρεπτών λειτουργιών που μπορούν να εκτελεστούν επ' αυτών

Για παράδειγμα, μια εγγραφή (record) είναι μια δομή που μπορεί να περιγράφει ένα είδος ή ένα πρόσωπο.

5. Ποιες είναι οι 8 βασικές λειτουργίες επί των δομών δεδομένων;

▼
  1. Προσπέλαση (access): Πρόσβαση σε κόμβο για εξέταση ή τροποποίηση.
  2. Εισαγωγή (insertion): Προσθήκη νέων κόμβων σε υπάρχουσα δομή.
  3. Διαγραφή (deletion): Αφαίρεση κόμβου από δομή.
  4. Αναζήτηση (searching): Προσπέλαση κόμβων για εύρεση συγκεκριμένης ιδιότητας.
  5. Ταξινόμηση (sorting): Διάταξη κόμβων κατά αύξουσα ή φθίνουσα σειρά.
  6. Αντιγραφή (copying): Αντιγραφή κόμβων σε άλλη δομή.
  7. Συγχώνευση (merging): Ένωση δύο ή περισσοτέρων δομών σε μια.
  8. Διαχωρισμός (separation): Αντίστροφη πράξη της συγχώνευσης.

6. Γιατί στις στατικές δομές δεν έχουν νόημα η εισαγωγή και η διαγραφή;

▼

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

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

7. Ποια η εξάρτηση μεταξύ δομών δεδομένων και αλγορίθμου;

▼

Η εξάρτηση μεταξύ δομών δεδομένων και αλγορίθμου εκφράζεται από τον Niklaus Wirth (δημιουργό της Pascal) με τον τύπο:

Αλγόριθμοι + Δομές Δεδομένων = Προγράμματα

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

8. Τι είναι στατική δομή δεδομένων και πώς υλοποιείται;

▼

Στατική δομή δεδομένων είναι μια δομή στην οποία:

  • Το ακριβές μέγεθος της απαιτούμενης μνήμης καθορίζεται κατά τη στιγμή του προγραμματισμού και της μετάφρασης (όχι κατά την εκτέλεση).
  • Τα στοιχεία αποθηκεύονται σε συνεχόμενες θέσεις μνήμης.

Οι στατικές δομές υλοποιούνται με πίνακες, οι οποίοι περιέχουν στοιχεία του ίδιου τύπου. Ένας πίνακας μπορεί να είναι μονοδιάστατος, δισδιάστατος, τρισδιάστατος ή γενικά ν-διάστατος.

9. Τι είναι δυναμική δομή δεδομένων και ποια τα πλεονεκτήματά της;

▼

Δυναμική δομή δεδομένων είναι μια δομή που:

  • Δεν αποθηκεύεται σε συνεχόμενες θέσεις μνήμης.
  • Στηρίζεται στην τεχνική της δυναμικής παραχώρησης μνήμης.
  • Δεν έχει σταθερό μέγεθος — ο αριθμός των κόμβων μεγαλώνει ή μικραίνει κατά την εκτέλεση.

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

10. Τι είναι τετραγωνικός πίνακας και πώς μπορεί να θεωρηθεί ένας δισδιάστατος πίνακας;

▼

Ένας τετραγωνικός πίνακας (square) είναι ένας δισδιάστατος πίνακας στον οποίο το μέγεθος των δύο διαστάσεων είναι ίσο (π.χ. N x N).

Ένας δισδιάστατος πίνακας μπορεί να θεωρηθεί ως ένας μονοδιάστατος πίνακας, όπου κάθε θέση του περιέχει έναν νέο μονοδιάστατο πίνακα. Δηλαδή, κάθε γραμμή του δισδιάστατου πίνακα είναι ένας ξεχωριστός μονοδιάστατος πίνακας.

🎯 Οδηγίες: Επίλεξε μία απάντηση σε κάθε ερώτηση. Θα δεις άμεση ανατροφοδότηση. Στο τέλος εμφανίζεται το συνολικό σκορ.

1. Τα δεδομένα είναι:

α) Επεξεργασμένες πληροφορίες
β) Ακατέργαστα γεγονότα
γ) Αποφάσεις που λαμβάνονται από τον υπολογιστή
δ) Μόνο αριθμοί

2. Η συλλογή και συσχέτιση δεδομένων δίνει ως αποτέλεσμα:

α) Πληροφορία
β) Αλγόριθμο
γ) Πρόγραμμα
δ) Δομή δεδομένων

3. Ποια σκοπιά μελετά τους τύπους μεταβλητών και την αποδοτική αποθήκευση από τον μεταφραστή;

α) Σκοπιά Υλικού
β) Σκοπιά Γλωσσών Προγραμματισμού
γ) Σκοπιά Δομών Δεδομένων
δ) Σκοπιά Ανάλυσης Δεδομένων

4. Δομή δεδομένων είναι:

α) Ένα σύνολο αλγορίθμων
β) Μια μεταβλητή σε μια γλώσσα προγραμματισμού
γ) Ένα σύνολο δεδομένων μαζί με επιτρεπτές λειτουργίες
δ) Ένα είδος υλικού υπολογιστή

5. Ποια λειτουργία δεν έχει νόημα σε στατικές δομές δεδομένων;

α) Προσπέλαση
β) Αναζήτηση
γ) Ταξινόμηση
δ) Εισαγωγή και Διαγραφή

6. Ο συνδυασμός αλγορίθμου και δομής δεδομένων δίνει:

α) Υλικό υπολογιστή
β) Πρόγραμμα
γ) Βάση δεδομένων
δ) Λειτουργικό σύστημα

7. Οι στατικές δομές δεδομένων υλοποιούνται με:

α) Πίνακες
β) Δείκτες
γ) Αρχεία κειμένου
δ) Συναρτήσεις

8. Οι δυναμικές δομές δεδομένων αποθηκεύονται:

α) Σε συνεχόμενες θέσεις μνήμης
β) Μόνο στην κύρια μνήμη
γ) Σε μη συνεχόμενες θέσεις μνήμης
δ) Μόνο σε εξωτερικούς δίσκους

9. Πίνακας Ν x Ν ονομάζεται:

α) Μονοδιάστατος
β) Τετραγωνικός
γ) Τρισδιάστατος
δ) Δυναμικός

10. Ποιος διατύπωσε τον κανόνα "Αλγόριθμοι + Δομές Δεδομένων = Προγράμματα";

α) Wirth
β) Turing
γ) Dijkstra
δ) Knuth
💪 Προκλήσεις: Προσπάθησε να τις λύσεις μόνος σου πριν δεις την απάντηση!

Άσκηση 1: Αντιστοίχιση Σκοπιών

⭐

Να αντιστοιχίσετε κάθε στοιχείο της Στήλης Α με το κατάλληλο της Στήλης Β.

Στήλη Α:

1 ASCII, EBCDIC, δυαδική
2 Τύποι μεταβλητών
3 Εγγραφή (record)
4 Βάσεις Δεδομένων

Στήλη Β:

α Σκοπιά Δομών Δεδομένων
β Σκοπιά Υλικού
γ Σκοπιά Γλωσσών Προγραμματισμού
δ Σκοπιά Ανάλυσης Δεδομένων

Λύση:

1 → β (Σκοπιά Υλικού — αναπαραστάσεις δεδομένων)

2 → γ (Σκοπιά Γλωσσών Προγραμματισμού — τύποι μεταβλητών)

3 → α (Σκοπιά Δομών Δεδομένων — η εγγραφή είναι δομή δεδομένων)

4 → δ (Σκοπιά Ανάλυσης Δεδομένων — Βάσεις Δεδομένων)

Άσκηση 2: Συμπλήρωση Κενών

⭐⭐

Συμπληρώστε τα κενά με τις κατάλληλες λέξεις:

  1. Η Θεωρία Πληροφοριών μελετά τη μέτρηση, την κωδικοποίηση και τη μετάδοση της πληροφορίας.
  2. Ο αλγόριθμος είναι το μέσο για την παραγωγή πληροφορίας από τα δεδομένα.
  3. Στις στατικές δομές, το μέγεθος της μνήμης καθορίζεται κατά τη στιγμή της μετάφρασης.
  4. Οι δυναμικές δομές στηρίζονται στην τεχνική της δυναμικής παραχώρησης μνήμης.
  5. Ένας πίνακας Ν × Ν ονομάζεται τετραγωνικός πίνακας.

Λύση:

1. Θεωρία Πληροφοριών

2. αλγόριθμος

3. μετάφρασης

4. δυναμικής παραχώρησης

5. τετραγωνικός

Άσκηση 3: Σωστό / Λάθος

⭐⭐

Να χαρακτηρίσετε τις παρακάτω προτάσεις ως Σωστές (Σ) ή Λάθος (Λ):

  1. Τα δεδομένα είναι επεξεργασμένες πληροφορίες.
  2. Η εγγραφή (record) είναι ένα παράδειγμα δομής δεδομένων.
  3. Σε μια στατική δομή μπορούμε να εισάγουμε νέους κόμβους κατά την εκτέλεση.
  4. Οι δυναμικές δομές αποθηκεύονται σε συνεχόμενες θέσεις μνήμης.
  5. Ένας δισδιάστατος πίνακας μπορεί να θεωρηθεί ως μονοδιάστατος πίνακας που περιέχει μονοδιάστατους πίνακες.
  6. Η συγχώνευση είναι η αντίστροφη πράξη του διαχωρισμού.

Λύση:

1. Λ — Τα δεδομένα είναι ακατέργαστα γεγονότα, όχι επεξεργασμένες πληροφορίες.

2. Σ — Η εγγραφή είναι πράγματι ένα παράδειγμα δομής δεδομένων.

3. Λ — Στις στατικές δομές το μέγεθος είναι σταθερό, άρα δεν επιτρέπεται εισαγωγή/διαγραφή.

4. Λ — Οι δυναμικές δομές αποθηκεύονται σε μη συνεχόμενες θέσεις μνήμης.

5. Σ — Κάθε γραμμή ενός δισδιάστατου πίνακα μπορεί να θεωρηθεί ως ξεχωριστός μονοδιάστατος πίνακας.

6. Λ — Ο διαχωρισμός είναι η αντίστροφη πράξη της συγχώνευσης (όχι το αντίστροφο).

Άσκηση 4: Ανάπτυξη

⭐⭐⭐

Να αναπτύξετε σε 5-6 γραμμές γιατί η επιλογή της κατάλληλης δομής δεδομένων επηρεάζει την αποδοτικότητα ενός προγράμματος. Δώστε ένα πρακτικό παράδειγμα.

Λύση:

Η επιλογή της κατάλληλης δομής δεδομένων επηρεάζει άμεσα την αποδοτικότητα ενός προγράμματος γιατί κάθε δομή έχει διαφορετική απόδοση σε συγκεκριμένες λειτουργίες.

Για παράδειγμα, αν θέλουμε να αναζητούμε συχνά στοιχεία, ένας ταξινομημένος πίνακας επιτρέπει δυαδική αναζήτηση (πολυπλοκότητα O(log N)), ενώ ένας μη ταξινομημένος πίνακας απαιτεί σειριακή αναζήτηση (O(N)). Αν όμως θέλουμε συχνές εισαγωγές και διαγραφές, μια δυναμική λίστα είναι προτιμότερη από έναν πίνακα, γιατί οι πίνακες απαιτούν μετακίνηση στοιχείων.

Σύμφωνα με τον Wirth: "Αλγόριθμοι + Δομές Δεδομένων = Προγράμματα", που σημαίνει ότι ο αλγόριθμος και η δομή είναι αλληλένδετα και η κακή επιλογή δομής μπορεί να καταστήσει έναν καλό αλγόριθμο αναποτελεσματικό.