Εισαγωγή / Διαγραφή σε Δομές δεδομένων

Ξεκίνησε από JDS, 13 Φεβ 2006, 08:10:33 ΜΜ

« προηγούμενο - επόμενο »

JDS

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

P.Tsiotakis


Οι 8 λειτουργίες στο σχολικό βιβλίο, περιγράφονται ΓΕΝΙΚΑ για τις δομές δεδομένων
Λέει αμέσως μετά, οτι δεν μπορούν να εφαρμοστούν όλες οι λειτουργίες σε όλες τις δομές δεδομένων

ΔΕΝ υφίσταται εισαγωγή και διαγραφή σε πίνακα (στατική δομή δεδομένων)

Όμοια, δεν υφίσταται π.χ. ταξινόμηση σε στοίβα ή ουρά

evry

Ενημερωτικά στην ουρά η ταξινόμηση έχει σημασία, βλέπε ουρά προτεραιότητας, σωρός κλπ. άσχετα αν δεν αναφέρονται στο σχολικό βιβλίο

Παράθεση από: ptsiotakis στις 13 Φεβ 2006, 10:04:44 ΜΜ

Όμοια, δεν υφίσταται π.χ. ταξινόμηση σε στοίβα ή ουρά

What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

P.Tsiotakis



Δεν διατάσσονται τα στοιχεία της ουράς. Είναι "ταξινομημένα" (σε διάταξη) ως προς την σειρά άφιξης, αλλά όχι ταξινομημένα  ;)

evry

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

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

Τα παραπάνω ισχύουν γενικά αλλά για το συγκεκριμένο μάθημα ισχύει αυτό που λες.
Πάντως από τις δομές δεδομένων θα μπορούσαν να βγουν πολύ καλές ασκήσεις όχι ιδιαίτερα δύσκολες. Αν το μάθημα ήταν παραπάνω ώρες θα μπορούσαν να είναι εντός ύλης.
Όπως άλλωστε και οι τρισδιάστατοι πίνακες  ;)


Παράθεση από: ptsiotakis στις 14 Φεβ 2006, 01:01:26 ΜΜ

Δεν διατάσσονται τα στοιχεία της ουράς. Είναι "ταξινομημένα" (σε διάταξη) ως προς την σειρά άφιξης, αλλά όχι ταξινομημένα ;)
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

P.Tsiotakis


gpapargi

Παιδιά νομίζω ότι ο/η JDS έχει παρεξηγήσει κάτι και νομίζω επίσης ότι η κουβέντα πήγε σε θέμα διαφορετικό από την απορία του

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

Οι θέσεις που καταλαμβάνονται στη μνήμη είναι πάντα 100. Αλλά μπορεί να έχεις στη στοίβα πχ 25 στοιχεία. Δηλαδή οι θέσεις μνήμης είναι 100 αλλά μόνο οι 25 είναι γεμάτες. Οι 75 είναι άδειες. Όταν κάνεις εισαγωγή ή διαγραφή στοιχείων παίζεις με το πλήθος των στοιχείων που έχουν μπει στη δομή. Δηλαδή το κάνεις 26 ή 24 αντίστοιχα. Δεν έχει σχέση με το 100 που μένει πάντα σταθερό. Σταθερό είναι το πλήθος που καταλαμβάνει στη μνήμη δομή. Όχι το πλήθος των στοιχείων που έχουμε γεμίσει.

Αυτά.. . αν κατάλαβα καλά τι ήθελε να πει ο/η JDS

EleniK

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

andreas_p

Προσπέλαση
Αναζήτηση
Ταξινόμηση
Αντιγραφή
Συγχώνευση
Διαχωρισμός

gpapargi

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

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