Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

15/04/20151 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 3ο: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΜΕΡΟΣ 3o: ΣΤΟΙΒΑ & ΟΥΡΑ Καθηγητής : Δρίμτζιας.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "15/04/20151 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 3ο: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΜΕΡΟΣ 3o: ΣΤΟΙΒΑ & ΟΥΡΑ Καθηγητής : Δρίμτζιας."— Μεταγράφημα παρουσίασης:

1 15/04/20151 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 3ο: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΜΕΡΟΣ 3o: ΣΤΟΙΒΑ & ΟΥΡΑ Καθηγητής : Δρίμτζιας Βασίλης

2 15/04/20152 ΣΤΟΙΒΑ  Μια στοίβα δεδομένων, μοιάζει με οποιαδήποτε άλλη στοίβα αντικειμένων στον πραγματικό κόσμο  Μπορούμε να τοποθετήσουμε ή να αφαιρέσουμε αντικείμενα μόνο από την κορυφή της στοίβας  Το τελευταίο αντικείμενο που τοποθετείται στη στοίβα εξάγεται πρώτο, και το πρώτο αντικείμενο που τοποθετήθηκε στη στοίβα, μπορεί να εξαχθεί αφού πρώτα εξαχθούν όλα τα προηγούμενα  Τελευταίο μέσα, πρώτο έξω (LIFO – Last In, First Out) Καθηγητής : Δρίμτζιας Βασίλης

3 15/04/20153 ΛΕΙΤΟΥΡΓΙΕΣ ΣΤΟΙΒΑΣ  Ώθηση (push) στοιχείου στην κορυφή της στοίβας  Απώθηση (pop) στοιχείου από την κορυφή της στοίβας Καθηγητής : Δρίμτζιας Βασίλης

4 15/04/20154 ΕΛΕΓΧΟΣ ΛΕΙΤΟΥΡΓΙΩΝ  Η λειτουργία της ώθησης, πρέπει οπωσδήποτε να ελέγχει εάν η στοίβα είναι γεμάτη, οπότε συμβαίνει υπερχείλιση (overflow) της στοίβας  Αντίστοιχα, η λειτουργία της απώθησης, πρέπει να ελέγχει αν υπάρχει τουλάχιστον ένα στοιχείο στη στοίβα, γιατί εάν η στοίβα είναι άδεια τότε συμβαίνει υποχείλιση (underflow) της στοίβας Καθηγητής : Δρίμτζιας Βασίλης

5 15/04/20155 ΥΛΟΠΟΙΗΣΗ ΣΤΟΙΒΑΣ ΜΕ ΠΙΝΑΚΕΣ  Η υλοποίηση μιας στοίβας με πίνακα είναι πολύ απλή  Χρήση ενός μονοδιάστατου πίνακα μεγέθους ν (το μέγιστο δυνατό μέγεθος στοίβας)  Χρειαζόμαστε μια επιπλέον μεταβλητή (Top), η οποία θα μας δείχνει τη θέση του πίνακα στην οποία βρίσκεται η κορυφή της στοίβας (το τελευταίο στοιχείο δηλαδή)  Για να εξαχθεί ένα στοιχείο (απώθηση): Εξάγουμε το στοιχείο Stack[Top] Top  Top - 1  Για να εισαχθεί στοιχείο (ώθηση): Top  Top +1 Τοποθετούμε το νέο στοιχείο στη θέση Stack[Top] ΠΡΟΣΟΧΗ ΣΤΟΝ ΕΛΕΓΧΟ ΕΆΝ ΜΠΟΡΟΥΝ ΝΑ ΕΚΤΕΛΕΣΤΟΥΝ ΟΙ ΛΕΙΤΟΥΡΓΙΕΣ!!! Καθηγητής : Δρίμτζιας Βασίλης

6 15/04/20156 ΟΥΡΑ  Ανάλογα με τη στοίβα, η ουρά δεδομένων, είναι μια ουρά αναμονής αντίστοιχη με οποιαδήποτε άλλη πραγματική ουρά (π.χ. ουρά σε ταμείο τράπεζας)  Η σειρά εξόδου από την ουρά (η σειρά εξυπηρέτησης δηλαδή) είναι η σειρά με την οποία μπήκαν στην ουρά, δηλαδή το πρώτο αντικείμενο που μπήκε στην ουρά θα βγει πρώτο, και το τελευταίο θα βγει μετά από όλα τα προηγούμενα  Πρώτο μέσα, πρώτο έξω (First In, First Out – FIFO) Καθηγητής : Δρίμτζιας Βασίλης

7 15/04/20157 ΛΕΙΤΟΥΡΓΙΕΣ ΟΥΡΑΣ  Εισαγωγή (enqueue) στοιχείου στο πίσω άκρο της ουράς  Εξαγωγή (dequeue) στοιχείου από το εμπρός άκρο της ουράς Καθηγητής : Δρίμτζιας Βασίλης

8 15/04/20158 ΥΛΟΠΟΙΗΣΗ ΟΥΡΑΣ ΜΕ ΠΙΝΑΚΕΣ  Υλοποιείται με ένα μονοδιάστατο πίνακα  Απαιτούνται δύο δείκτες για την υλοποίηση της ουράς: Ένας δείκτης να δείχνει το πρώτο στοιχείο προς εξαγωγή (front) Ένας δείκτης να δείχνει το τελευταίο στοιχείο, το οποίο μόλις εισήλθε στην ουρά(back) Κατά την εξαγωγή του στοιχείου:  εξάγεται το στοιχείο Q[front]  front  front + 1 Κατά την εισαγωγή στοιχείου:  rear  rear +1,  εισάγουμε το στοιχείο στη θέση Q[rear] Καθηγητής : Δρίμτζιας Βασίλης


Κατέβασμα ppt "15/04/20151 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 3ο: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΜΕΡΟΣ 3o: ΣΤΟΙΒΑ & ΟΥΡΑ Καθηγητής : Δρίμτζιας."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google