Προς το περιεχόμενο

Υπερ/κατα δομών δεδομένων με χρήση πίνακα


Wise_One

Προτεινόμενες αναρτήσεις

Δημοσ.

Παρ' όλο που έχει τρελή ζέστη, διαβάζουμε για τη σχολή κι η κατάσταση μετριάζεται αρκετά μ' ένα παγωμένο φραπέ και τον ανεμιστήρα να δουλεύει at full speed ;)

 

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

 

Μέχρι στιγμής έχω σκεφτεί τα παρακάτω:

 

Δομές δεδομένων με χρήση πίνακα

 

Μειονεκτήματα:

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

Μετακίνηση στοιχείων - αν θελήσουμε να παρεμβάλλουμε ένα στοιχείο ανάμεσα σε άλλα, πρέπει να μετακινήσουμε όλα τα υπόλοιπα σύμφωνα με το βήμα

Σταθερό μήκος - συνδέεται με το πρώτο θέμα μιας κι αν χρειαστούμε να εισάγουμε περισσότερα στοιχεία απ' το μήκος του πίνακα, δεν έχουμε το χώρο

(Εικονική) υπερχείλιση - απόρροια του προηγούμενου, αν ο πίνακας (εικονικά) γεμίσει πρέπει να βρούμε τρόπους να ξεπεράσουμε το πρόβλημα αυτό

 

Πλεονεκτήματα:

Διατρέχουμε ευκολότερα τον πίνακα για εισαγωγή/διαγραφή στοιχείων

Direct access των στοιχείων - με τον ενδείκτη του πίνακα μπορούμε ανά πάσα στιγμή να έχουμε πρόσβαση σε οποιοδήποτε στοιχείο

Ακεραιότητα της δομής - στις λίστες για παράδειγμα, μπορούμε εύκολα να σπάσουμε την αλληλουχία αν δε χρησιμοποιήσουμε κάποιον προσωρινό δείκτη κόμβων

Σταθερό μήκος - είναι και πλεονέκτημα νομίζω μιας και οι δυναμικές δομές θα μπορούσαν ΘΕΩΡΗΤΙΚΑ να γεμίσουν τη μνήμη

 

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

 

Αν έχετε κάτι να συμπληρώσετε, θα ήθελα πολύ να το ακούσω.

 

Καλό μεσημέρι

Αρχειοθετημένο

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

  • Δημιουργία νέου...