Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Θεωρία => Μήνυμα ξεκίνησε από: JDS στις 13 Φεβ 2006, 08:10:33 ΜΜ

Τίτλος: Εισαγωγή / Διαγραφή σε Δομές δεδομένων
Αποστολή από: JDS στις 13 Φεβ 2006, 08:10:33 ΜΜ
Γεια σας,
το βιβλίο μεταξύ των λειτουργιών που μπορεί να εφαρμοστεί σε κάθε δομή δεδομένων αναφέρει και την εισαγωγή και διαγραφή στοιχείων. Αυτό για τις στατικές δομές δεδομένων δεν είναι λάθος; Εφόσον έχουν σταθερό μέγεθος δεν μπορούν να υποστούν ούτε εισαγωγή, ούτε διαγραφή.
Ευχαριστώ
Τίτλος: Απ: Εισαγωγή / Διαγραφή σε Δομές δεδομένων
Αποστολή από: P.Tsiotakis στις 13 Φεβ 2006, 10:04:44 ΜΜ

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

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

Όμοια, δεν υφίσταται π.χ. ταξινόμηση σε στοίβα ή ουρά
Τίτλος: Απ: Εισαγωγή / Διαγραφή σε Δομές δεδομένων
Αποστολή από: evry στις 14 Φεβ 2006, 12:38:24 ΜΜ
Ενημερωτικά στην ουρά η ταξινόμηση έχει σημασία, βλέπε ουρά προτεραιότητας, σωρός κλπ. άσχετα αν δεν αναφέρονται στο σχολικό βιβλίο

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

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

Τίτλος: Απ: Εισαγωγή / Διαγραφή σε Δομές δεδομένων
Αποστολή από: P.Tsiotakis στις 14 Φεβ 2006, 01:01:26 ΜΜ


Δεν διατάσσονται τα στοιχεία της ουράς. Είναι "ταξινομημένα" (σε διάταξη) ως προς την σειρά άφιξης, αλλά όχι ταξινομημένα  ;)
Τίτλος: Απ: Εισαγωγή / Διαγραφή σε Δομές δεδομένων
Αποστολή από: evry στις 14 Φεβ 2006, 02:41:14 ΜΜ
Πράγματι στην απλή ουρά δεν ισχύει η ταξινόμηση.
Απλά ενημερωτικά είπα ότι υπάρχουν οι δομές της ουράς προτεραιότητας και του σωρού όπου  υπάρχει διάταξη όχι με την σειρά που έχει φτάσει ένα στοιχείο αλλά με κάποιον αριθμό προτεραιότητας. Απλά αυτά που έχουν ίδια προτεραιότητα διατάσσονται ανάλογα με τη σειρά. Εκεί κάθε φορά που έρχεται ένα στοιχείο πρέπει να μπει στη σωστή θέση (αλλιώς θα πρέπει να γίνει μετά αναζήτηση για το μικρότερο ή μεγαλύτερο). Μοιάζει λίγο με την ταξινόμηση με εισαγωγή η οποία μάλιστα περιγράφεται λεκτικά σε κάποια άσκηση στο τετράδιο μαθητή αν θυμάμαι καλά.

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

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


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

Δεν διατάσσονται τα στοιχεία της ουράς. Είναι "ταξινομημένα" (σε διάταξη) ως προς την σειρά άφιξης, αλλά όχι ταξινομημένα ;)
Τίτλος: Απ: Εισαγωγή / Διαγραφή σε Δομές δεδομένων
Αποστολή από: P.Tsiotakis στις 14 Φεβ 2006, 03:03:58 ΜΜ

Λίγο ακόμα και θα συμφωνήσουμε...  ::)
Τίτλος: Απ: Εισαγωγή / Διαγραφή σε Δομές δεδομένων
Αποστολή από: gpapargi στις 14 Φεβ 2006, 03:11:31 ΜΜ
Παιδιά νομίζω ότι ο/η JDS έχει παρεξηγήσει κάτι και νομίζω επίσης ότι η κουβέντα πήγε σε θέμα διαφορετικό από την απορία του

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

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

Αυτά.. . αν κατάλαβα καλά τι ήθελε να πει ο/η JDS
Τίτλος: Απ: Εισαγωγή / Διαγραφή σε Δομές δεδομένων
Αποστολή από: EleniK στις 21 Φεβ 2006, 10:21:47 ΠΜ
Σχετικά με τις λειτουργίες επί των δομών δεδομένων για τις στατικές δομές ισχύουν: η Προσπέλαση, Ταξινόμηση, Αναζήτηση και αντιγραφή.
Τίτλος: Απ: Εισαγωγή / Διαγραφή σε Δομές δεδομένων
Αποστολή από: andreas_p στις 21 Φεβ 2006, 12:05:20 ΜΜ
Προσπέλαση
Αναζήτηση
Ταξινόμηση
Αντιγραφή
Συγχώνευση
Διαχωρισμός
Τίτλος: Απ: Εισαγωγή / Διαγραφή σε Δομές δεδομένων
Αποστολή από: gpapargi στις 22 Φεβ 2006, 10:50:01 ΠΜ
Μια στοίβα υλοποιημένη με πίνακα είναι στατική δομή. Η έννοια της εισαγωγής και της διαγραφής υπάρχει κανονικά.

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