ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 3: Δομές Δεδομένων και Αλγόριθμοι Ενδιάμεση Εξέταση Ημερομηνία : Τετάρτη, 4 Οκτωβρίου 005 Διάρκεια : 5.00-6.30 Διδάσκουσα : Άννα Φιλίππου Ονοματεπώνυμο: Αριθμός Ταυτότητας: Οδηγίες: Να διαβάσετε προσεχτικά και να απαντήσετε σε όλες τις ερωτήσεις. Να γράψετε τις απαντήσεις σας (καθαρά) στο εξεταστικό δοκίμιο. Ο άριστος βαθμός της εξέτασης είναι 00. Καλή Επιτυχία! Ερώτηση 3 4 Τελικός Βαθμός: Βαθμός
Άσκηση Να βάλετε σε κύκλο τη σωστή απάντηση στις πιο κάτω ερωτήσεις πολλαπλής επιλογής.. Έστω σταθερά Α. Τότε η πρόταση A Ω(3 ) είναι: α. Αληθής. β. Ψευδής. γ. Εξαρτάται από την τιμή του Α.. Ένα δυαδικό δένδρο αναζήτησης περιέχει τα στοιχεία,, 3, 4, 5, 6, 7. Το αποτέλεσμα της προθεματικής διερεύνησης στο δένδρο είναι 5, 3,,, 4, 7, 6. α. Το βάθος του δένδρου είναι 5. β. Το βάθος του δένδρου είναι 4. γ. Δεν υπάρχουν αρκετές πληροφορίες που να καθορίζουν το βάθος του δένδρου. 3. Έστω f() o χρόνος εκτέλεσης του πιο κάτω βρόχου. for ( t ; < ; ) for ( t j ; j < ; j ) sum; α. f() Θ( ) β. f() Θ( lg ) γ. f() Θ() 4. Έστω Τ() o χρόνος εκτέλεσης της πιο κάτω αναδρομικής διαδικασίας. t recursve(t ){ f ( < ) retur ; else retur (*recursve(-)); } Τότε, Τ() και (α) Τ() T( ) και Τ() O(). (β) Τ() T( ) και Τ() O( ). (γ) Τ() T( ) και Τ() O( ).
5. Ποιο από τα πιο κάτω δεν είναι αφηρημένος τύπος δεδομένων; α. Στοίβα β. Λίστα γ. Δυαδικό δένδρο αναζήτησης (5 βαθμοί) Μπορείτε να χρησιμοποιήσετε τα πιο κάτω αθροίσματα. /... 6 ) )( ( ) (
Άσκηση Να αποφασίσετε ποιες από τις πιο κάτω προτάσεις είναι αληθείς αποδεικνύοντας τις απαντήσεις σας. () ² 7 8 O(²) () Αν f() O(g()) και g() Ω(h()), τότε f() Θ(h()). ( βαθμοί)
Άσκηση 3 Ορίζουμε τον αφηρημένο τύπο δεδομένων διάνυσμα ως μία ακολουθία στοιχείων συνοδευόμενη από τις πράξεις: MakeEmpty(Α) Isert(x, Α) Posto(,A) δημιούργησε το κενό διάνυσμα Α εισήγαγε το στοιχείο x στο τέλος του διανύσματος Α επέστρεψε το στοιχείο που βρίσκεται στη θέση του διανύσματος Α Να εξηγήσετε με σαφήνεια πως μπορούμε να υλοποιήσουμε αποδοτικά αυτό τον ΑΤΔ χρησιμοποιώντας κυκλικές απλά συνδεδεμένες λίστες με κεφαλή. Συγκεκριμένα, να γράψετε μια καθαρή περιγραφή των δομών που χρειάζονται και την υλοποίηση των πράξεων σε ψευδοκώδικα. Ποιος ο χρόνος εκτέλεσης των διαδικασιών σας; (3 βαθμοί)
Άσκηση 4 (α) Να δώσετε τον ορισμό ενός AVL-δένδρου και να αναφέρετε την κύρια ιδιότητα του που το καθιστά ελκυστικό για υλοποίηση του ΑΤΔ dctoary. (4 βαθμοί) (β) Θεωρήστε το πιο κάτω AVL-δένδρο. 9 5 6 Να εφαρμόσετε διαδοχικά στο δένδρο τις πιο κάτω εισαγωγές στοιχείων. Σε περίπτωση που η εισαγωγή απαιτεί τη χρήση κάποιας περιστροφής να ονομάσετε την περιστροφή. 30. εισαγωγή του 0,. εισαγωγή του,. εισαγωγή του 5. ( βαθμοί) (γ) Να γράψετε μια αναδρομική διαδικασία η οποία, με δεδομένα εισόδου () δείκτη p στη ρίζα ενός AVL-δένδρου και () κάποιο ακέραιο k, να υπολογίζει το γινόμενο των άρτιων κλειδιών του δένδρου που βρίσκονται σε ύψος k. (Σημειώστε τις εγγραφές που χρησιμοποιείτε για υλοποίηση της δομής AVL-δένδρο.) (9 βαθμοί) (δ) Να γράψετε μια μη-αναδρομική διαδικασία η οποία, με δεδομένα εισόδου () δείκτη p στη ρίζα ενός AVL-δένδρου και () κάποιο ακέραιο k, να υπολογίζει το γινόμενο των άρτιων κλειδιών του δένδρου που βρίσκονται σε ύψος k. ( βαθμοί) (ε) Να συγκρίνετε τις διαδικασίες σας από τα μέρη (γ) και (δ) ως προς την αποδοτικότητά τους. (3 βαθμοί)