Γεια σας,
το βιβλίο μεταξύ των λειτουργιών που μπορεί να εφαρμοστεί σε κάθε δομή δεδομένων αναφέρει και την εισαγωγή και διαγραφή στοιχείων. Αυτό για τις στατικές δομές δεδομένων δεν είναι λάθος; Εφόσον έχουν σταθερό μέγεθος δεν μπορούν να υποστούν ούτε εισαγωγή, ούτε διαγραφή.
Ευχαριστώ
Οι 8 λειτουργίες στο σχολικό βιβλίο, περιγράφονται ΓΕΝΙΚΑ για τις δομές δεδομένων
Λέει αμέσως μετά, οτι δεν μπορούν να εφαρμοστούν όλες οι λειτουργίες σε όλες τις δομές δεδομένων
ΔΕΝ υφίσταται εισαγωγή και διαγραφή σε πίνακα (στατική δομή δεδομένων)
Όμοια, δεν υφίσταται π.χ. ταξινόμηση σε στοίβα ή ουρά
Ενημερωτικά στην ουρά η ταξινόμηση έχει σημασία, βλέπε ουρά προτεραιότητας, σωρός κλπ. άσχετα αν δεν αναφέρονται στο σχολικό βιβλίο
Παράθεση από: ptsiotakis στις 13 Φεβ 2006, 10:04:44 ΜΜ
Όμοια, δεν υφίσταται π.χ. ταξινόμηση σε στοίβα ή ουρά
Δεν διατάσσονται τα στοιχεία της ουράς. Είναι "ταξινομημένα" (σε διάταξη) ως προς την σειρά άφιξης, αλλά όχι ταξινομημένα ;)
Πράγματι στην απλή ουρά δεν ισχύει η ταξινόμηση.
Απλά ενημερωτικά είπα ότι υπάρχουν οι δομές της ουράς προτεραιότητας και του σωρού όπου υπάρχει διάταξη όχι με την σειρά που έχει φτάσει ένα στοιχείο αλλά με κάποιον αριθμό προτεραιότητας. Απλά αυτά που έχουν ίδια προτεραιότητα διατάσσονται ανάλογα με τη σειρά. Εκεί κάθε φορά που έρχεται ένα στοιχείο πρέπει να μπει στη σωστή θέση (αλλιώς θα πρέπει να γίνει μετά αναζήτηση για το μικρότερο ή μεγαλύτερο). Μοιάζει λίγο με την ταξινόμηση με εισαγωγή η οποία μάλιστα περιγράφεται λεκτικά σε κάποια άσκηση στο τετράδιο μαθητή αν θυμάμαι καλά.
Μπορείς να ριξεις μια ματιά σε ένα πολύ καλό βιβλίο "Η τέχνη της αλγοριθμικής επιλύσης προβλημάτων" του Μανωλόπουλου, λογικά θα το ξέρεις. Δεν έχει σχέση με το μάθημα αλλά είναι πολύ ενδιαφέρον.
Τα παραπάνω ισχύουν γενικά αλλά για το συγκεκριμένο μάθημα ισχύει αυτό που λες.
Πάντως από τις δομές δεδομένων θα μπορούσαν να βγουν πολύ καλές ασκήσεις όχι ιδιαίτερα δύσκολες. Αν το μάθημα ήταν παραπάνω ώρες θα μπορούσαν να είναι εντός ύλης.
Όπως άλλωστε και οι τρισδιάστατοι πίνακες ;)
Παράθεση από: ptsiotakis στις 14 Φεβ 2006, 01:01:26 ΜΜ
Δεν διατάσσονται τα στοιχεία της ουράς. Είναι "ταξινομημένα" (σε διάταξη) ως προς την σειρά άφιξης, αλλά όχι ταξινομημένα ;)
Λίγο ακόμα και θα συμφωνήσουμε... ::)
Παιδιά νομίζω ότι ο/η JDS έχει παρεξηγήσει κάτι και νομίζω επίσης ότι η κουβέντα πήγε σε θέμα διαφορετικό από την απορία του
Ας πάρουμε για παράδειγμα μια στοίβα που έχει υλοποιηθεί με πίνακα 100 θέσεων. Η δομή είναι στατική.
Οι θέσεις που καταλαμβάνονται στη μνήμη είναι πάντα 100. Αλλά μπορεί να έχεις στη στοίβα πχ 25 στοιχεία. Δηλαδή οι θέσεις μνήμης είναι 100 αλλά μόνο οι 25 είναι γεμάτες. Οι 75 είναι άδειες. Όταν κάνεις εισαγωγή ή διαγραφή στοιχείων παίζεις με το πλήθος των στοιχείων που έχουν μπει στη δομή. Δηλαδή το κάνεις 26 ή 24 αντίστοιχα. Δεν έχει σχέση με το 100 που μένει πάντα σταθερό. Σταθερό είναι το πλήθος που καταλαμβάνει στη μνήμη δομή. Όχι το πλήθος των στοιχείων που έχουμε γεμίσει.
Αυτά.. . αν κατάλαβα καλά τι ήθελε να πει ο/η JDS
Σχετικά με τις λειτουργίες επί των δομών δεδομένων για τις στατικές δομές ισχύουν: η Προσπέλαση, Ταξινόμηση, Αναζήτηση και αντιγραφή.
Προσπέλαση
Αναζήτηση
Ταξινόμηση
Αντιγραφή
Συγχώνευση
Διαχωρισμός
Μια στοίβα υλοποιημένη με πίνακα είναι στατική δομή. Η έννοια της εισαγωγής και της διαγραφής υπάρχει κανονικά.
Άλλο πράγμα ο αποθηκευτικός χώρος που καταλαμβάνει η δομή στη μνήμη (που είναι ίδιος για τις στατικές δομές) και άλλο πράγμα το πλήθος των στοιχείων που έχει κάθε στιγμή μέσα (που μεταβάλλεται). Το ποιες πράξεις επιτρέπονται έχει να κάνει με την αφηρημένη δομή δεδομένων και όχι με την υλοποίηση.