Αποστολέας Θέμα: Εισαγωγή / Διαγραφή σε Δομές δεδομένων  (Αναγνώστηκε 3264 φορές)

JDS

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

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3136
  • Dracarys
    • Panagiotis Tsiotakis
Απ: Εισαγωγή / Διαγραφή σε Δομές δεδομένων
« Απάντηση #1 στις: 13 Φεβ 2006, 10:04:44 μμ »

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

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

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

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3044
  • to Iterate is human to Recurse divine
Απ: Εισαγωγή / Διαγραφή σε Δομές δεδομένων
« Απάντηση #2 στις: 14 Φεβ 2006, 12:38:24 μμ »
Ενημερωτικά στην ουρά η ταξινόμηση έχει σημασία, βλέπε ουρά προτεραιότητας, σωρός κλπ. άσχετα αν δεν αναφέρονται στο σχολικό βιβλίο


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

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

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3136
  • Dracarys
    • Panagiotis Tsiotakis
Απ: Εισαγωγή / Διαγραφή σε Δομές δεδομένων
« Απάντηση #3 στις: 14 Φεβ 2006, 01:01:26 μμ »


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

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3044
  • to Iterate is human to Recurse divine
Απ: Εισαγωγή / Διαγραφή σε Δομές δεδομένων
« Απάντηση #4 στις: 14 Φεβ 2006, 02:41:14 μμ »
Πράγματι στην απλή ουρά δεν ισχύει η ταξινόμηση.
Απλά ενημερωτικά είπα ότι υπάρχουν οι δομές της ουράς προτεραιότητας και του σωρού όπου  υπάρχει διάταξη όχι με την σειρά που έχει φτάσει ένα στοιχείο αλλά με κάποιον αριθμό προτεραιότητας. Απλά αυτά που έχουν ίδια προτεραιότητα διατάσσονται ανάλογα με τη σειρά. Εκεί κάθε φορά που έρχεται ένα στοιχείο πρέπει να μπει στη σωστή θέση (αλλιώς θα πρέπει να γίνει μετά αναζήτηση για το μικρότερο ή μεγαλύτερο). Μοιάζει λίγο με την ταξινόμηση με εισαγωγή η οποία μάλιστα περιγράφεται λεκτικά σε κάποια άσκηση στο τετράδιο μαθητή αν θυμάμαι καλά.

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

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


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

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3136
  • Dracarys
    • Panagiotis Tsiotakis
Απ: Εισαγωγή / Διαγραφή σε Δομές δεδομένων
« Απάντηση #5 στις: 14 Φεβ 2006, 03:03:58 μμ »

Λίγο ακόμα και θα συμφωνήσουμε...  ::)

gpapargi

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2442
  • I 'm not young enough to know everything
Απ: Εισαγωγή / Διαγραφή σε Δομές δεδομένων
« Απάντηση #6 στις: 14 Φεβ 2006, 03:11:31 μμ »
Παιδιά νομίζω ότι ο/η JDS έχει παρεξηγήσει κάτι και νομίζω επίσης ότι η κουβέντα πήγε σε θέμα διαφορετικό από την απορία του

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

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

Αυτά.. . αν κατάλαβα καλά τι ήθελε να πει ο/η JDS
Γιώργος Παπαργύρης (gpapargi@hotmail.com)

EleniK

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 704
Απ: Εισαγωγή / Διαγραφή σε Δομές δεδομένων
« Απάντηση #7 στις: 21 Φεβ 2006, 10:21:47 πμ »
Σχετικά με τις λειτουργίες επί των δομών δεδομένων για τις στατικές δομές ισχύουν: η Προσπέλαση, Ταξινόμηση, Αναζήτηση και αντιγραφή.
Ελένη Κοκκίνου
Καθηγήτρια Πληροφορικής, ΠΕ19

andreas_p

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 1002
Απ: Εισαγωγή / Διαγραφή σε Δομές δεδομένων
« Απάντηση #8 στις: 21 Φεβ 2006, 12:05:20 μμ »
Προσπέλαση
Αναζήτηση
Ταξινόμηση
Αντιγραφή
Συγχώνευση
Διαχωρισμός

gpapargi

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2442
  • I 'm not young enough to know everything
Απ: Εισαγωγή / Διαγραφή σε Δομές δεδομένων
« Απάντηση #9 στις: 22 Φεβ 2006, 10:50:01 πμ »
Μια στοίβα υλοποιημένη με πίνακα είναι στατική δομή. Η έννοια της εισαγωγής και της διαγραφής υπάρχει κανονικά.

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