Θέματα εξετάσεων
Διομήδης Σπινέλλης
Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας
Οικονομικό Πανεπιστήμιο Αθηνών
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 ώρες
| Καλή επιτυχία!
|