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

Γενικό Λύκειο => Γ΄ Λυκείου => Μήνυμα ξεκίνησε από: georgia_kitsou στις 08 Ιαν 2016, 09:49:47 ΠΜ

Τίτλος: Ερώτηση για άδεια ουρά
Αποστολή από: georgia_kitsou στις 08 Ιαν 2016, 09:49:47 ΠΜ

Καλημέρα σας και καλή χρονιά σε όλους με υγεία!  :)

  Θα ήθελα να ρωτήσω το εξής : στην υλοποίηση στοίβας με πίνακα, όταν η στοίβα είναι άδεια η μεταβλητή top έχει τιμή 0, σωστά; Στην υλοποίηση ουράς με πίνακα, αν θεωρήσουμε ότι έχουμε μία άδεια ουρά στην οποία δεν έχει γίνει εισαγωγή κανενός στοιχείου, τι τιμές πρέπει να έχουν οι μεταβλητές front και rear; Αν π.χ. πούμε front=rear =1, αυτό δε σημαίνει ότι υπάρχει ένα στοιχείο στηγν ουρά; Πώς μπορώ να δείξω ότι δεν υπάρχει κανένα στοιχείο;

  Ευχαριστώ πολύ,
Τίτλος: Απ: Ερώτηση για άδεια ουρά
Αποστολή από: hobbit στις 08 Ιαν 2016, 10:19:07 ΠΜ
Αν δεν έχει γίνει εισαγωγή στοιχείου, στην αρχή έχουμε front=1 και rear=0.
Στη συνέχεια για να ελέγξουμε αν είναι άδεια θα πρέπει front > rear.
Τίτλος: Απ: Ερώτηση για άδεια ουρά
Αποστολή από: evry στις 08 Ιαν 2016, 01:03:32 ΜΜ
Από τη στιγμή που στο βιβλίο οι δείκτες front,rear δείχνουν στο πρώτο και τελευταίο στοιχείο της ουράς αντίστοιχα νομίζω πως η πιο λογική υλοποίηση διδακτικά αλλά και εννοιολογικά είναι αρχικά να ισχύει front = rear = 0. Αν χωρίς στοιχεία έχεις front = 1 αυτό σημαίνει ότι ο front δείχνει στο πρώτο στοιχείο προς διαγραφή και αυτό είναι το 1. Φυσικά αυτό έχει το πρόβλημα ότι πρέπει να διαχωρίσεις την περίπτωση της εισαγωγής/διαγραφής του μοναδικού στοιχείου της ουράς.
  Νομίζω ότι η καλύτερη υλοποίηση είναι αυτή από θέμα μοντελοποίησης. Τώρα όσον αφορά το θέμα της κυκλικής ουράς αυτό θα έλεγα ότι είναι προχωρημένο και για αυτό φαντάζομαι οι οδηγίες λένε πως δεν πρόκειται να μπουν ασκήσεις με ουρά γενικότερα παρά μόνο με στοίβα.

ΥΓ. Φυσικά από τη στιγμή που κάνουμε "Αλγοριθμική" θα έπρεπε να μας απασχολεί μόνο η λειτουργία της Στοίβας και της Ουράς ως Αφηρημένων Τύπων Δεδομένων και όχι οι λεπτομέρειες της υλοποίησης. Αυτές δεν θα έπρεπε να φαίνονται.