Θέματα εξετάσεων
Διομήδης Σπινέλλης
Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας
Οικονομικό Πανεπιστήμιο Αθηνών
dds@aueb.gr
Εργαστήριο αυτοαξιολόγησης
 
ΠΑΝΕΠΙΣΤΗΜΙΟ
ΑΙΓΑΙΟΥ
Τμήμα
Μαθηματικών
ΑΛΓΟΡΙΘΜΟΙ
ΚΑΙ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ
(Εργαστήριο
αυτοαξιολόγησης)
| Διδάσκων: Διομήδης Σπινέλλης | 15 Απριλίου 1997 | 
Θέμα
1ο:
- Για
κάθε ένα από
τα παρακάτω
είδη πινάκων
να γραφεί
σε ψευδοκώδικα
μια συνάρτηση
η οποία δέ÷εται
ως όρισμα
έναν πίνακα
Ν*Ν και να επιστρέφει
αληθές η ψευδές
ανάλογα με
τον αν ο πίνακας
ανήκει στο
συγκεκριμένο
είδος:
- Συμμετρικός
- Τριγωνικός
- Τριδιαγώνιος
- Αραιός
 (πλήρης κατά
λιγότερο από
10%)
 
Θέμα
2ο:
- Ορίστε
σε Pascal τις διαδικασίες
και συναρτήσεις
πρόσβασης
σε μια στοίβα
συμβολοσειρών
ως αφηρημένο
τύπο (μην τις
υλοποιήσετε!)
- Με δεδομένες
τις παραπάνω
να γραφεί
πρόγραμμα
το οποίο να
διαβάζει μια
σειρά από λέξεις
από το ÷ρήστη
μέ÷ρι να συναντήσει
τελεία και
να τις τυπώνει
με ανάποδη
σειρά.
Θέμα
3ο:
- Ορίστε
μια συνδεδεμένη
λίστα ÷αρακτήρων
σε Pascal.
- Υλοποιήστε
συνάρτηση
η οποία δέ÷εται
ως όρισμα
την παραπάνω
συνδεδεμένη
λίστα και επιστρέφει
τον αριθμό
των στοι÷είων
που την απαρτίζουν.
Θέμα
4ο:
- Ορίστε
ένα δυαδικό
δένδρο ακεραίων
σε Pascal.
- Υλοποιήστε
συνάρτηση
η οποία να δέ÷εται
ως όρισμα
τον παραπάνω
δένδρο και
έναν ακέραιο
και να επιστρέφει
αληθές αν
ο ακέραιος
αυτός αποτελεί
στοι÷είο του
δένδρου.
- Υπολογίστε
πόσους το πολύ
κόμβους μπορεί
να έ÷ει ένα
δένδρο βαθμού
d και ύψους
h.
| Διάρκεια εξέτασης 1.5 ώρα. | Καλή επιτυ÷ία! | 
Εξεταστική περιόδος Ιουνίου 1997
 
ΠΑΝΕΠΙΣΤΗΜΙΟ
ΑΙΓΑΙΟΥ
Τμήμα
Μαθηματικών
| ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ 
Διδάσκων: Διομήδης Σπινέλλης
 | Εξεταστική περίοδος 
Ιουνίου 1997
 | 
Θέμα
1ο:
Να υλοποιηθεί
σε Pascal ο αφηρημένος
τύπος της στοίβας
λογικών τιμών
σύμφωνα
με τις παρακάτω
συναρτήσεις:
     { Αρχικοποιείται η στοίβα }
          procedure stackInitialize; 
     { Το στοιχείο i εισάγεται στην κορυφή της στοίβας }
          procedure stackPush(i :boolean); 
     { Το στοιχείο από την κορυφή της στοίβας αφαιρείται και επιστρέφεται }
          function stackPop : boolean; 
     { Επιστρέφεται αληθές αν η στοίβα είναι κενή }
          function stackIsEmpty : bool;
Η στοίβα
να φυλάσσεται
σε πίνακα 2000
θέσεων.
Θέμα
2ο:
- Ορίστε
ποιο γράφο ονομάζουμε
συνεκτικό
και ποιο μη
κυκλικό.
- Σχεδιάστε
γραφικά ένα
συνεκτικό,
μη κυκλικό
γράφο με 8 κόμβους
και 7 ακμές.
- Ποιες
από τις παρακάτω
προτάσεις
είναι αληθείς
για έναν συνεκτικό
μη κυκλικό
γράφο με ν >
0 κόμβους:
- Αν διαγραφεί
οποιαδήποτε
ακμή ο γράφος
θα πάψει να
είναι συνεκτικός.
- Δύο διαφορετικοί
κόμβοι συνδέονται
από τουλάχιστον
μια απλή διαδρομή.
- Ο γράφος
περιέχει ν
+ 1 ακμές. 
- Αν προστεθεί
οποιαδήποτε
ακμή ο γράφος
θα αποκτήσει
μια τουλάχιστον
κυκλική διαδρομή.
- Ο γράφος
περιέχει λιγότερες
από 2ν ακμές.
- Αν προστεθεί
οποιαδήποτε
ακμή ο γράφος
θα πάψει να
είναι συνεκτικός.
- Δύο διαφορετικοί
κόμβοι συνδέονται
από μια και
μόνο μια απλή
διαδρομή. 
- Ο γράφος
περιέχει ν
- 1 ακμές. 
- Αν διαγραφεί
οποιαδήποτε
ακμή ο γράφος
θα αποκτήσει
μια τουλάχιστον
κυκλική διαδρομή.
Θέμα
3ο:
- Ορίστε
μια διπλά συνδεδεμένη
λίστα ακεραίων
σε Pascal.
- Υλοποιήστε
συνάρτηση
η οποία δέχεται
ως όρισμα
την παραπάνω
διπλά συνδεδεμένη
λίστα και ένα
ακέραιο αριθμό
που υπάρχει
στη λίστα και
επιστρέφει
το μέσο όρο:
του αριθμού
αυτού, του αριθμού
που προηγείται
από αυτόν στη
λίστα και του
αριθμού που
τον ακολουθεί.
 Αν δεν υπάρχει
προηγούμενος
ή επόμενος
αριθμός ο
μέσος όρος
να υπολογιστεί
από τους υπόλοιπους
αριθμούς.
Θέμα
4ο:
Τα ονόματα
των κατόχων
και τα αντίστοιχα
τηλέφωνα των
5.328.690 συνδέσεων
που παρέχει
ο ΟΤΕ πρέπει
να καταχωρηθούν
σε δομή δεδομένων
που να επιτρέπει
την ταχύτερη
δυνατή εύρεση
του τηλεφώνου
με βάση το όνομα.
 Ποια δομή δεδομένων
θα χρησιμοποιήσετε;
Ποια δομή δεδομένων
θα χρησιμοποιήσετε
αν επιπλέον
απαιτείται
η άμεση ταξινομημένη
ανάκτηση των
ονομάτων για
την εκτύπωση
των τηλεφωνικών
καταλόγων.
| Διάρκεια εξέτασης 2 ώρες | Καλή επιτυχία! | 
Εξεταστική περιόδος Σεπτεμβρίου 1997
 
ΠΑΝΕΠΙΣΤΗΜΙΟ
ΑΙΓΑΙΟΥ
Τμήμα
Μαθηματικών
| ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ 
Διδάσκων: Διομήδης Σπινέλλης
 | Εξεταστική περίοδος 
Σεπτεμβρίου 1997
 | 
Θέμα
1ο:
Να υλοποιηθεί
σε Pascal ο αφηρημένος
τύπος της συνδεδεμένης
λίστας χαρακτήρων
σύμφωνα με
τις παρακάτω
συναρτήσεις:
     { Ορισμός του τύπου της συνδεδεμένης λίστας }
          type
              charList = ...
     { Επιστρέφεται μια άδεια συνδεδεμένη λίστα }
          function newCharList : charList; 
     { Επιστρέφεται μια συνδεδεμένη λίστα με το στοιχείο c στην αρχή της }
          function addCharList(l : charList; c : char) : charList; 
     { Επιστρέφεται μια συνδεδεμένη λίστα με το πρώτο στοιχείο διαγραμμένο. Κατά
        την επιστροφή η μεταβλητή c περιέχει την τιμή του. }
          function delCharListHead(l : charList; var c : char) : charList; 
     { Επιστρέφεται ένας δείκτης στο στοιχείο της λίστας που έχει την τιμή c }
          function searchCharList(l : charList; c : char) : charList; 
     { Επιστρέφεται αληθές αν η λίστα είναι κενή }
          function isEmtyCharList(l : charList) : boolean;
Θέμα
2ο:
- Τι ονομάζουμε
βαθμό και
τι ύψος ενός
δένδρου;
- Πότε
ένα δένδρο
καλείται πλήρες;
- Αποδείξτε
τις παρακάτω
προτάσεις.
 Στην απόδειξη
μπορεί να σας
φανεί χρήσιμη
η μέθοδος της
επαγωγής.
- Ένα
πλήρες δένδρο
βαθμού d και
ύψους h θα
έχει  κόμβους.
- Ένα
πλήρες δυαδικό
δένδρο ύψους
h θα έχει  κόμβους.
- Ένα
πλήρες δυαδικό
δένδρο με n
κόμβους θα
έχει  ύψος.
Θέμα
3ο:
- Περιγράψτε
με πληρότητα
έναν αποδοτικό
τρόπο ταξινόμησης
αρχείου του
οποίου τα στοιχεία
δε χωράνε στην
κεντρική μνήμη.
- Περιγράψτε
περιληπτικά
δομές αναζήτησης
που μπορούν
να χρησιμοποιηθούν
για γρήγορη
πρόσβαση στα
στοιχεία ενός
αρχείου που
φυλάσσεται
σε βοηθητική
μνήμη.
Θέμα
4ο:
- Περιγράψτε
με ψευδοκώδικα
τη διαδικασία
της δυαδικής
αναζήτησης
για την εύρεση
μιας εγγραφής
σε ταξινομημένο
πίνακα.
- Αν ο
πίνακας έχει
Ν στοιχεία
δώστε τον ελάχιστο
και το μέγιστο
αριθμό συγκρίσεων
που μπορεί
να απαιτηθούν
για την παραπάνω
διαδικασία
αναζήτησης.
.
| Διάρκεια εξέτασης 2.5 ώρες | Καλή επιτυχία! |