Στοίβα (Stack)
Ορισμός: Στοίβα ονομάζεται μια δομή δεδομένων, το σύνολο των στοιχείων της οποίας είναι διατεταγμένο με τέτοιο τρόπο, ώστε τα στοιχεία που βρίσκονται στην κορυφή της στοίβας λαμβάνονται πρώτα, ενώ αυτά που βρίσκονται στο βάθος της στοίβας λαμβάνονται τελευταία.
Είναι μια δομή δεδομένων που χρησιμοποιούμε πολλές φορές στην καθημερινή μας ζωή. Έχουμε στοίβα από βιβλία, από πιάτα, από κέρματα κλπ.
Βασικές Λειτουργίες
- Ώθηση (Push): Η εισαγωγή ενός νέου στοιχείου στη στοίβα. Γίνεται πάντα στην κορυφή.
- Απώθηση (Pop): Η εξαγωγή ενός στοιχείου από τη στοίβα. Γίνεται πάντα από την κορυφή.
Χρειάζεται μια μεταβλητή (κορυφή – top) που δείχνει τη θέση του στοιχείου της στοίβας που βρίσκεται στην κορυφή της (δηλ. του στοιχείου που ωθήθηκε πιο πρόσφατα και ταυτόχρονα του στοιχείου που πρόκειται να απωθηθεί πρώτο).
Μέθοδος LIFO (Last In First Out): Το τελευταίο μέσα, πρώτο έξω. Δηλαδή, αυτό που τοποθετήθηκε τελευταίο, είναι το πρώτο που θα εξαχθεί προς χρήση.
Διαδικασίες (σε Πίνακα Π[10])
- Ώθηση: Πριν την εισαγωγή, αυξάνουμε την κορυφή κατά 1 (
top ← top + 1). Προσέχουμε να υπάρχει διαθέσιμη θέση (αλλιώς έχουμε Υπερχείλιση). - Απώθηση: Μετά την εξαγωγή, μειώνουμε την κορυφή κατά 1 (
top ← top - 1). Προσέχουμε να υπάρχει τουλάχιστον ένα στοιχείο (αλλιώς έχουμε Υποχείλιση).
Ουρά (Queue)
Ορισμός: Ουρά ονομάζεται μια δομή δεδομένων το σύνολο των στοιχείων της οποίας είναι διατεταγμένο με τέτοιο τρόπο, ώστε τα στοιχεία που τοποθετήθηκαν πρώτα στην ουρά να λαμβάνονται επίσης πρώτα.
Στην καθημερινή μας ζωή παρατηρούμε ουρά από αυτοκίνητα, ουρά από ανθρώπους σε μια τράπεζα κλπ.
Βασικές Λειτουργίες
- Εισαγωγή (Enqueue): Γίνεται πάντα στο τέλος (πίσω άκρο) της ουράς.
- Εξαγωγή (Dequeue): Γίνεται πάντα από την αρχή (εμπρός άκρο) της ουράς.
Χρειάζονται δύο μεταβλητές, που δείχνουν την αρχή (front – μπροστά) και το τέλος της ουράς (πίσω – rear).
Μέθοδος FIFO (First In First Out): Το Πρώτο μέσα, Πρώτο έξω. Όποιο στοιχείο εισάγεται πρώτο στην ουρά, εξάγεται (εξυπηρετείται) και πρώτο.
Διαδικασίες (σε Πίνακα Π[10])
- Εισαγωγή: Η εισαγωγή στοιχείου γίνεται στο πίσω άκρο (
rear ← rear + 1). Αν η ουρά είναι άδεια (front=0), τότε και τοfrontγίνεται 1. - Εξαγωγή: Η εξαγωγή στοιχείου γίνεται από το εμπρός άκρο (
front ← front + 1). Αν εξαχθεί το τελευταίο στοιχείο (ότανfront = rear), τότε η ουρά αδειάζει και οι δείκτες μηδενίζονται (front ← 0, rear ← 0).
ΔΙΑΔΙΚΑΣΙΑ ΩΘΗΣΗ
ΔΙΑΔΙΚΑΣΙΑ ΑΠΩΘΗΣΗ
ΔΙΑΔΙΚΑΣΙΑ ΕΙΣΑΓΩΓΗ
ΔΙΑΔΙΚΑΣΙΑ ΕΞΑΓΩΓΗ
Quiz Γνώσεων (Σωστό/Λάθος)
| # | Ερώτηση | Επιλογή |
|---|