Α' ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ 8 ΙΟΥΝΙΟΥ 2008 ΑΠΑΝΤΗΣΕΙΣ ΣΤΑ ΘΕΜΑΤΑ

Σχετικά έγγραφα
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128]

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Α Β Γ static; printf("%c\n", putchar( A +1)+2); B DB BD. int i = 0; while (++i); printf("*");

Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διάλεξη 22: Δυαδικά Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου

Δομές Αναζήτησης. κλειδί από ολικά διατεταγμένο σύνολο. Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου

ΠΛΗ111. Ανοιξη Μάθηµα 7 ο. έντρο. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Δομές δεδομένων (2) Αλγόριθμοι

Διδάσκων: Παναγιώτης Ανδρέου

Β' ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ - 29 ΙΟΥΝΙΟΥ 2008 ΧΡΟΝΟΣ ΕΞΕΤΑΣΗΣ 180'

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Αλγόριθμοι Ταξινόμησης Μέρος 1

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

Α' ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ - 5 ΙΟΥΝΙΟΥ 2010 ΧΡΟΝΟΣ ΕΞΕΤΑΣΗΣ 180' (Σύνολο μονάδων 115)

Δομές Δεδομένων και Αλγόριθμοι

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας

Δένδρα. Μαθηματικά (συνδυαστικά) αντικείμενα. Έχουν κεντρικό ρόλο στην επιστήμη των υπολογιστών :

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )

Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα

Διδάσκων: Κωνσταντίνος Κώστα

Κατ οίκον Εργασία 2 Σκελετοί Λύσεων

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ EPL035: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

Δομές Δεδομένων (Data Structures)

Δομές Δεδομένων. Ενότητα 4: Ο ΑΤΔ Λίστα & Υλοποίηση Λίστας με σειριακή αποθήκευση- Ο ΑΤΔ Συνδεδεμένη Λίστα- Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με πίνακα

Alternative to Balanced Trees, Comms of the ACM, 33(6), June 1990,

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Αλγόριθμοι Ταξινόμησης Μέρος 2

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΠΑΤΡΑ) ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

Θεωρητικό Μέρος. int rec(int n) { int n1, n2; if (n <= 5) then return n; else { n1 = rec(n-5); n2 = rec(n-3); return (n1+n2); } }

Αναδροµή. Σε αυτήν την (βοηθητική) ενότητα θα µελετηθούν τα εξής : Η έννοια της αναδροµής Υλοποίηση και αποδοτικότητα Αφαίρεση της αναδροµής

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Δομές Δεδομένων και Αλγόριθμοι

Αλγόριθμοι Ταξινόμησης Μέρος 4

που θα δώσει αποτέλεσµα 48, λόγω της αριστερής προσεταιριστικότητας των τελεστών / και *, ενώ η επιθυµητή αντικατάσταση θα ήταν η

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΪΟΥ

Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα).

Κεφάλαιο 6 Ουρές Προτεραιότητας

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Κεφάλαιο 10 Ψηφιακά Λεξικά

ΠΛΗ111. Ανοιξη Μάθηµα 10 ο. Γράφοι. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διάλεξη 21η: Απλά Συνδεδεμένες Λίστες

ιαφάνειες παρουσίασης #11

Βασικές Έννοιες Δοµών Δεδοµένων

Initialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2019 Β ΦΑΣΗ Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ

Αλγόριθµοι και Πολυπλοκότητα

Ουρές προτεραιότητας

Εργασία 3 Σκελετοί Λύσεων

Ταξινόμηση κάδου και ταξινόμηση Ρίζας Bucket-Sort και Radix-Sort

Μάθημα 22: Δυαδικά δέντρα (Binary Trees)

Αναδρομικοί Αλγόριθμοι

Αλγόριθμοι Γραφημάτων

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Άσκηση 3 (ανακοινώθηκε στις 24 Απριλίου 2017, προθεσμία παράδοσης: 2 Ιουνίου 2017, 12 τα μεσάνυχτα).

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος

Κεφάλαιο 14 Προηγμένες Ουρές Προτεραιότητας

Δυαδικά Δένδρα Αναζήτησης, Δένδρα AVL

Οι βασικές πράξεις που ορίζουν τον ΑΤ δυαδικό δέντρο αναζήτησης είναι οι ακόλουθες:

HY240 : Δομές Δεδομένων. Φροντιστήριο Προγραμματιστικής Εργασίας 2 ο και 3 ο Μέρος

Προγραμματισμός Ι. Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ακ. Έτος Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Εργαστήριο 8: Αναδρομική διεργασία εισαγωγής καινούριου κόμβου σε ΔΔΑ

Ταξινόμηση με συγχώνευση Merge Sort

#2 Αλγόριθµοι, οµές εδοµένων και Πολυπλοκότητα

Ακρότατα πίνακα, χωρίς min, max, μόνο με pos

Εργαστήριο 5 Αναδρομική διεργασία εισαγωγής καινούριου κόμβου σε ΔΔΑ με αλφαβητική σειρά

Σχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Αναδρομή Ανάλυση Αλγορίθμων

ΕΝΟΤΗΤΑ 7 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ ΣΩΡΟΙ

Α1. Στον προγραµµατισµό χρησιµοποιούνται δοµές δεδοµένων. 1. Τι είναι δυναµική δοµή δεδοµένων; Μονάδες 3 2. Τι είναι στατική δοµή δεδοµένων;

Αλγόριθμοι Γραφημάτων

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

1 η ΑΣΚΗΣΗ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Ακ. έτος , 5ο Εξάμηνο, Σχολή ΗΜ&ΜΥ

Επιλογές και Κριτήρια Σχεδιασμού ΑΤΔ Ανεξαρτήτως από Γλώσσα Υλοποίησης 24/4/2012

Αλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ «ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ»

Απλές Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες απλές Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλή

Διάλεξη 12: Λίστες Υλοποίηση & Εφαρμογές. Διδάσκων: Παναγιώτης Ανδρέου

Αλγόριθμοι και Πολυπλοκότητα

Insert(K,I,S) Delete(K,S)

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Περιεχόμενα. Πρόλογος... 17

ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Δυναμική Δέσμευση Μνήμης και Δομές Δεδομένων (Φροντιστήριο)

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

auth Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Transcript:

ΕΛΛΗΝΙΚΟ ΝΟΙΚΤΟ ΠΝΕΠΙΣΤΗΜΙΟ ΠΡΟΡΜΜ ΣΠΟΥΩΝ: ΜΕΤΠΤΥΧΙΚΗ ΕΞΕΙΙΚΕΥΣΗ ΣΤ ΠΛΗΡΟΦΟΡΙΚ ΣΥΣΤΗΜΤ (ΠΛΣ) ΘΕΜΤΙΚΗ ΕΝΟΤΗΤ: ΣΙΚΕΣ ΕΞΕΙΙΚΕΥΣΕΙΣ ΣΕ ΘΕΩΡΙ ΚΙ ΛΟΙΣΜΙΚΟ (ΠΛΣ50) ' ΤΕΛΙΚΗ ΕΞΕΤΣΗ 8 ΙΟΥΝΙΟΥ 2008 ΠΝΤΗΣΕΙΣ ΣΤ ΘΕΜΤ ΘΕΜ 1 ΜΟΝΕΣ 2 Ποια τιμή θα επιστρέψει η κλήση της συνάρτησης dosomething(3); int dosomething(int n) { if ( n = 1 ) return 1; return 1 + dosomething(n 1); Ε 1 2 3 4 7 ΘΕΜ 2 ΜΟΝΕΣ 2 Τί θα εμφανίσει στην οθόνη το παρακάτω πρόγραμμα #include <stdio.h> #include <stdlib.h> char *f( char *s) { return( s-- ); int main(int argc, char *argv){ char *b = hello world ; b = f ( ++b ); printf( %s, b); hello world ello world llo world Τίποτε. Θα παράγει σφάλμα αναφοράς μνήμης. ΘΕΜ 3 ΜΟΝΕΣ 4 Ποια πρόταση περιγράφει τη δήλωση της ακόλουθης μεταβλητής p int *(*p[10])(char *); Ε Η μεταβλητή p είναι πίνακας που διατηρεί 10 δείκτες προς δείκτη σε συναρτήσεις που λαμβάνουν ως παράμετρο δείκτη προς ακέραιο και επιστρέφουν δείκτη προς χαρακτήρα. H μεταβλητή p είναι δείκτης σε πίνακα που διατηρεί 10 δείκτες σε συναρτήσεις που λαμβάνουν ως παράμετρο δείκτη σε χαρακτήρα και επιστρέφουν ακέραιο. Η μεταβλητή p είναι δείκτης σε δείκτη προς πίνακα 10 δεικτών προς συναρτήσεις που λαμβάνουν ως παράμετρο έναν δείκτη προς χαρακτήρα και επιστρέφουν δείκτη προς ακέραιο. Η μεταβλητή p είναι πίνακας που διατηρεί 10 δείκτες προς συναρτήσεις που λαμβάνουν ως παράμετρο δείκτη προς χαρακτήρα και επιστρέφουν δείκτη προς ακέραιο. Καμία από τις παραπάνω. Η δήλωση είναι συντακτικά λάθος.

ΘΕΜ 4 ΜΟΝΕΣ 4 Ποιά από τις παρακάτω συναρτήσεις εκτελεί την ίδια λειτουργία με την f. int f(char *s, char c) { char *s1 = s; while (*s1) { if (*s1!= c ) { ++s1; continue; return s1 - s; return -1; int f1(char *s, char c){ char *s1 = s; while (*s1++!= c && *s1) continue; if (*s1) return s1 - s; return -1; int f2(char *s, char c){ char *s1; for (s1 = s; *s1 && (*s1!= c); ++s1) ; return *s1? s1-s: -1; int f3(char *s, char c) { char *s1 = s; for (;;) if ( *s1 && *s1++ == c ) return s1 - s; return -1; int f4(char *s, char c){ char *s1 = s; while (*++s1!= c && *s1) continue; if (*s1) return s1 - s -1 ; return -1; ΘΕΜ 5 ΜΟΝΕΣ 3 Ποια είναι η τιμή του a[5] μετά την εκτέλεση του ακόλουθου κώδικα, όταν Ν=15; for (i = 0; i < N; i++) a[i] = N-1 - i; for (i = 0; i < N; i++) a[i] = a[a[i]]; Ε 5 9 0 1 14 ΘΕΜ 6 ΜΟΝΕΣ 5 Υποθέστε ότι σε μια στοίβα εκτελείται μια ακολουθία λειτουργιών που απαρτίζεται από λειτουργίες push και pop (με οποιαδήποτε εναλλαγή μεταξύ τους). Οι λειτουργίες push τοποθετούν με τη σειρά τους αριθμούς 0 μέχρι 9. Οι λειτουργίες pop εμφανίζουν την τιμή που αφαιρέθηκε από τη στοίβα. Ποια από τις ακόλουθες σειρές τιμών δε θα μπορούσε να εμφανιστεί; 2

4 3 2 1 0 9 8 7 6 5 4 6 8 7 5 3 2 9 1 0 2 5 7 6 4 8 9 3 0 1 4 3 2 1 0 5 6 7 8 9 ΘΕΜ 7 ΜΟΝΕΣ 4 Έστω ότι μια στοίβα υλοποιείται με τον πίνακα s[0..10]. Στη στοίβα αυτή ένα στοιχείο δε σβήνεται από τον πίνακα όταν εξάγεται από τη στοίβα, αλλά αλλάζει μόνον η τιμή της μεταβλητής που δείχνει την κορυφή της στοίβας. Θεωρήστε την ακόλουθη σειρά ενεργειών στη στοίβα, κατά την οποία ένα γράμμα αντιστοιχεί στην λειτουργία push για αυτό το γράμμα και ένας αστερίσκος αντιστοιχεί στη λειτουργία pop από τη στοίβα. L A * S T I * N * F I R * S T * * O U * T * * * * * * Ποια είναι τα περιεχόμενα των θέσεων s[0] μέχρι s[4] μετά την ολοκλήρωση της παραπάνω ακολουθίας λειτουργιών; Ε L S T F T L S T F Ι L A S F O L S T N I L A S T I ΘΕΜ 8 ΜΟΝΕΣ 3 Ποια τιμή θα επιστρέψει η παρακάτω συνάρτηση εάν κληθεί με είσοδο τη ρίζα του παρακάτω δυαδικού δένδρου; int puzzle(link x) { if (x == NULL) return 0; else return max(puzzle(x->left), puzzle(x->right)); 10 2 9 7 0 8 1 2 16 3 E 0 3 16 10 8 ΘΕΜ 9 ΜΟΝΕΣ 5 Έστω το δυαδικό δένδρο αναζήτησης του παρακάτω σχήματος. Ποια θα είναι η τελική μορφή του δένδρου μετά την εισαγωγή των κόμβων 7, 1, 55, 29 και 19 και τη διαγραφή των κόμβων 8, 37 και 15 με αυτή τη σειρά; Στην περίπτωση διαγραφής της ρίζας ενός δένδρου/υποδένδρου ακολουθείστε την προσέγγιση του βιβλίου «Introduction to Algorithms» (Π0). 3

50 15 62 5 20 58 91 3 8 37 60 24 Χρησιμοποιήστε το χώρο στο φύλο απαντήσεων για να δώσετε την απάντησή σας Σωστή απάντηση 50 19 62 5 20 58 91 3 7 24 55 60 1 29 ΘΕΜ 10 ΜΟΝΕΣ 4 Σχεδιάστε το υαδικό έντρο ναζήτησης που θα δημιουργηθεί εάν εισάγετε σε ένα αρχικά κενό δέντρο δεκατέσσερα αντικείμενα χαρακτήρων με τις παρακάτω τιμές για τα κλειδιά τους και με τη σειρά που δίνεται ακολούθως (αγνοήστε τα κενά): HOW ARE YOU TODAY Θεωρείστε ότι στην περίπτωση που οι τιμές δύο αντικειμένων είναι ίδιες το αντικείμενο που δεν έχει τοποθετηθεί ακόμα στο δένδρο τοποθετείται στο αριστερό υποδένδρο (μονάδες 2). Στη συνέχεια δώστε την preorder διαπέραση για το δέντρο που κατασκευάσατε (μονάδες 2). 4

Χρησιμοποιήστε το χώρο στο φύλο απαντήσεων για να δώσετε την απάντησή σας Το δυαδικό δέντρο αναζήτησης που δημιουργείται είναι το εξής: preorder διαπέραση: HAAEDOOOWRUTYΥ ΘΕΜ 11 ΜΟΝΕΣ 5 Σχεδιάστε έναν αλγόριθμο ταξινόμησης n τυχαίων ακέραιων αριθμών ο οποίος να χρησιμοποιεί, ως δομή δεδομένων για την ταξινόμηση, ένα δυαδικό δένδρο αναζήτησης (μονάδες 3). Η πολυπλοκότητα χρόνου εκτέλεσης για τη καλύτερη και την χειρότερη περίπτωση του αλγορίθμου που σχεδιάσατε θα πρέπει να είναι Θ(nlgn) και Θ(n 2 ), αντίστοιχα. Να αναφέρετε με σύντομη απόδειξη τις πολυπλοκότητες για τους χρόνους καλύτερης και χειρότερης περίπτωσης του αλγορίθμου που σχεδιάσατε (μονάδες 2). Χρησιμοποιήστε το χώρο στο φύλο απαντήσεων για να δώσετε την απάντησή σας Ο αλγόριθμος είναι ο εξής: TREE SORT(A) Έστω ότι T είναι ένα άδειο δυαδικό δένδρο αναζήτησης και ένας πίνακας που περιέχει τους τυχαίους ακέραιους αριθμούς for i 1 to n do TREE INSERT(T, A[i ]) INORDER TREE WALK(root[T ]) Χειρότερη περίπτωση: Θ(n 2 ). Ισχύει όταν δημιουγείται μια γραμμική αλυσίδα κόμβων από την επαναλαμβανόμενη εισαγωγή κόμβων μέσω της συνάρτησης TREE INSERT. Καλύτερη περίπτωση: Θ(nlgn). Ισχύει όταν δημιουργείται ένα δυαδικό δένδρο με ύψος Θ(lgn) από την επαναλαμβανόμενη εισαγωγή κόμβων μέσω της συνάρτησης TREE INSERT. 5

ΘΕΜ 12 ΜΟΝΕΣ 4 ίδεται το ακόλουθο Ρ. Ποιες από τις παρακάτω προτάσεις είναι αληθείς; ΠΝΤΗΣΗ (επιλέξτε όσες από τις παρακάτω επιλογές είναι σωστές και σημειώστε τις στο φύλλο απαντήσεων) Η πηγή Π1 μπορεί να είναι λογισμικό (πρόγραμμα). Η ροή εξόδου του Μ1 δεν μπορεί να περιέχει το δεδομένο. Ο μετασχηματισμός Μ2 μπορεί να είναι κέντρο δοσοληψιών. Ο μετασχηματισμός Μ4 είναι περιττός. Ε Ο μετασχηματισμός Μ5 είναι περιττός. ΣΤ Η αποθήκη 2 δεν μπορεί να είναι υποσύνολο της αποθήκης 1. ΘΕΜ 13 ΜΟΝΕΣ 3 Έστω το παρακάτω ΜΚ που αναπαριστά τις καταστάσεις ενός λογισμικού ανελκυστήρα με αυτόματες πόρτες. Ποια είναι η σωστή επιλογή καταστάσεων και γεγονότων; 1: επιλογή ορόφου, 2: επιλογή λάθος ορόφου, 3: πόρτες έκλεισαν, 4: κίνηση ανελκυστήρα, 5: πρόβλημα εκκίνησης, 6: επιλογή ορόφου 1: επιλογή λάθους ορόφου, 2: πόρτες δεν κλείνουν, 3: πόρτες έκλεισαν, 4: Έλεγχος παραβίασης βάρους, 5: άφιξη, 6: πόρτες άνοιξαν 1: επιλογή τρέχοντος ορόφου, 2: πόρτες δεν κλείνουν, 3: πόρτες έκλεισαν, 4: κίνηση ανελκυστήρα, 5: άφιξη, 6: 6

πόρτες άνοιξαν 1: επιλογή ισογείου, 2:πόρτες παραμένουν ανοιχτές, 3: πόρτες μισόκλειστες, 4: διαδικασίες έκτακτης ανάγκης, 5: τέλος εκτάκτων διαδικασιών, 6: πόρτες άνοιξαν Ε 1: επιλογή τρέχοντος ορόφου, 2: πρόβλημα πόρτας, 3: κίνηση ανελκυστήρα, 4: τέλος κίνησης, 5: άφιξη, 6: επιλογή ορόφου ΘΕΜ 14 ΜΟΝΕΣ 5 Εστω το ακόλουθο Π. Ποιο από τα παρακάτω Ρ αντιστοιχεί σε αυτό το Π σύμφωνα με τη μεθοδολογία δομημένης ανάλυσης και σχεδίασης; 7

ΘΕΜ 15 ΜΟΝΕΣ 4 Ένα πληροφοριακό σύστημα χρησιμοποιεί ένα μητρώο χρηστών για να πιστοποιεί τους χρήστες του. Οι υποψήφιοι νέοι (δυνητικοί) χρήστες υποβάλλουν τα στοιχεία τους και το σύστημα τα συγκρίνει με αυτά που είναι καταχωρημένα στο μητρώο εγγεγραμμένων χρηστών του. Η εγγραφή θεωρείται επιτυχής όταν τα στοιχεία του νέου χρήστη δεν υπάρχουν ήδη στο μητρώο εγγεγραμμένων χρηστών. Σε περίπτωση επιτυχούς εγγραφής το σύστημα ενημερώνει τον ενδιαφερόμενο με τα προσωπικά του στοιχεία πρόσβασης και ενημερώνει κατάλληλα το μητρώο εγγεγραμμένων χρηστών ώστε να μην είναι δυνατή η εγγραφή άλλου χρήστη με τα ίδια στοιχεία. Στην αντίθετη περίπτωση το σύστημα ενημερώνει τον ενδιαφερόμενο ότι δεν είναι επιτρεπτή η εγγραφή του. Με ποια στοιχεία πρέπει να συμπληρωθούν οι Ροές [1 4] ώστε το ακόλουθο.ρ.. να περιγράφει την παραπάνω διαδικασία; 8

(1): ΦΜ, Όνομα, Έτος έννησης, (2): ΦΜ, Όνομα, Έτος έννησης, Πατρώνυμο, (3): ΦΜ, (4): Μήνυμα (1): ΦΜ, Όνομα, Έτος έννησης (2): Όνομα πρόσβασης, Κωδικός πρόσβασης, (3): ΦΜ, (4): Μήνυμα (1): Όνομα, Έτος έννησης (2): Όνομα πρόσβασης, Κωδικός πρόσβασης (3): Όνομα πρόσβασης, Κωδικός πρόσβασης (4): Μήνυμα (1): Όνομα, Έτος έννησης (2): Όνομα πρόσβασης (3): ΦΜ, (4): ΦΜ Ε (1): Όνομα, Έτος έννησης (2): Μήνυμα (3): Όνομα, (4): ΦΜ ΘΕΜ 16 ΜΟΝΕΣ 5 ίνονται δύο διαγράμματα ροής δεδομένων από τη γραπτή εργασία Ε6, ως ακολούθως () () Να γράψετε την περιγραφή των λειτουργικών απαιτήσεων Τ2 και Τ3 στην περίπτωση του διαγράμματος () και στην περίπτωση του διαγράμματος () με τη μορφή "Περιγραφή Είσοδος Επεξεργασία Εξοδος" Χρησιμοποιήστε το χώρο στο φύλο απαντήσεων για να δώσετε την απάντησή σας Περίπτωση () 9

παίτηση 1 Περιγραφή: Ο χρήστης δίνει από το πληκτρολόγιο δεδομένα μετρήσεων και το λογισμικό τα αποθηκεύει σε αρχείο Είσοδοι: τα δεδομένα μετρήσεων από το πληκτρολόγιο Επεξεργασία: ετοιμασία της εγγραφής Εξοδοι: το ενημερωμένο αρχείο με τα δεδομένα μετρήσεων παίτηση 2 Περιγραφή: ιάβασμα και απεικόνιση των δεδομένων μετρήσεων στην οθόνη Είσοδοι: τα δεδομένα μετρήσεων από το αρχείο Επεξεργασία: ετοιμασία της εμφάνισης των δεδομένων Εξοδοι: τα δεδομένα μετρήσεων στην οθόνη Περίπτωση () παίτηση 1 (όπως ακριβώς πριν) παίτηση 2 Περιγραφή: ιάβασμα και απεικόνιση των δεδομένων μετρήσεων στην οθόνη Είσοδοι: τα δεδομένα μετρήσεων από τον χρήστη Επεξεργασία: ετοιμασία της εμφάνισης των δεδομένων Εξοδοι: τα δεδομένα μετρήσεων στην οθόνη ΘΕΜ 17 ΜΟΝΕΣ 6 ίνονται και πάλι τα δύο διαγράμματα ροής δεδομένων από τη γραπτή εργασία Ε6: () Να κατασκευάσετε τα αντίστοιχα Π και να σχολιάσετε τη διαφορά τους. Χρησιμοποιήστε το χώρο στο φύλο απαντήσεων για να δώσετε την απάντησή σας () ια το () 10

CHOICE =1 MDATA MDATA MRECORD MRECORD MRECORD MRECORD DRECORD DRECORD ια το () MAIN CHOICE CHOICE=2 CHOICE=1 Get_CHOICE Validate_C Run3 DRECORD Run2 Calc DRECORD Put DRECORD Get MDATA Calc MRECORD Παρατηρούμε ότι στη δεύτερη περίπτωση η κλήση της "Run2" γίνεται είτε κατευθείαν από το μενού, είτε από την Run3. υτό οφείλεται στο γεγονός ότι στην περίπτωση αυτή οι μετασχηματισμοί Τ2 και Τ3 δεν επικοινωνούν μέσω της αποθήκης δεδομένων, αλλά άμεσα. Στην πράξη αυτό σημαίνει ότι κάθε φορά που θα καλείται η Run3 για να εμφανίσει μετρήσεις, θα καλείται και η Run2 για να τις διαβάσει, πράγμα που δεν είναι πρακτικό από την πλευρά του χρήστη. ΘΕΜ 18 ΜΟΝΕΣ 3 ίνεται ο παρακάτω κατευθυνόμενος γράφος. Η Θ ρείτε τη σειρά με την οποία επισκέπτεται ο αλγόριθμος depth first search τις κορυφές (η σειρά αφορά το πότε κάθε κορυφή γίνεται "γκρι" με βάση την σημειογραφία του Π0), θεωρώντας ότι ο depth first search επιλέγει τις κορυφές με λεξικογραφική προτεραιότητα. E ΗΕΘΖΙ ΕΖΗΘΙ ΕΖΗΘΙ ΕΖΗΙΘ ΕΖΗΘΙ Ε Ζ Ι 11

ΘΕΜ 19 ΜΟΝΕΣ 4 ίνεται ο παρακάτω κατευθυνόμενος μη κυκλικός γράφος. Εφαρμόστε τον αλγόριθμο TOPOLOGICAL SORT στον συγκεκριμένο γράφο και βρείτε τη σειρά τοποθέτησης των κόμβων στην τελική διάταξη, θεωρώντας ότι ο depth first search επιλέγει τις κορυφές με λεξικογραφική προτεραιότητα. Ποια είναι η θέση του κόμβου Ε σε αυτή τη σειρά; Η Θ Ε Ζ Ι E 2 3 4 5 6 Η τελική διάταξη των κόμβων στον αλγόριθμο TOPOLOGICAL SORT βασίζεται στο πότε οι κόμβοι γίνονται "μαύροι" σύμφωνα με τη σημειογραφία του Π0. Στο παρακάτω σχήμα φαίνονται οι δύο χρόνοι που αφορούν κάθε κόμβο, δηλαδή πότε αυτός γίνεται γκρι και πότε γίνεται μαύρος. 15/18 1/14 Η 5/10 6/9 Θ 16/17 2/13 3/12 Ε Ζ 4/11 7/8 Ι Με βάση τους παραπάνω χρόνους, η διάταξη των κόμβων είναι η εξής: Ε Ζ Η Θ Ι ΘΕΜ 20 ΜΟΝΕΣ 6 Έχουμε τρεις στύλους,, και, και τρεις δίσκους, έναν μεγάλο, έναν μεσαίο και έναν μικρό. Οι δίσκοι βρίσκονται αρχικά στον αριστερό στύλο, όπως φαίνεται παρακάτω, με τον μεγάλο δίσκο κάτω, και τον μικρό επάνω. Μπορούμε να μετακινούμε έναν δίσκο από έναν στύλο σε έναν άλλο, με την προϋπόθεση ότι στην προηγούμενη του θέση ήταν ο κορυφαίος δίσκος του στύλου, ενώ στη νέα του θέση δεν θα βρίσκεται πάνω από άλλον μικρότερο δίσκο. ια την περιγραφή των διατάξεων των δίσκων χρησιμοποιούμε το συμβολισμό [Χ,Υ,Ζ], όπου Χ ο στύλος όπου βρίσκεται ο μεγάλος δίσκος, Υ ο στύλος που βρίσκεται ο μεσαίος δίσκος και Ζ ο στύλος όπου βρίσκεται ο μικρός δίσκος, Χ,Υ,Ζ {,,. Ζητείται να κατασκευάσετε το γράφο που περιγράφει όλες τις δυνατές τοποθετήσεις των δίσκων στους τρεις στύλους. Κάθε κόμβος του γράφου θα αντιστοιχεί σε μια διάταξη των δίσκων στους στύλους, ενώ δύο κόμβοι θα 12

συνδέονται με ακμή εάν είναι δυνατόν να πάμε από τη μία διάταξη στην άλλη με μία μόνο μετακίνηση δίσκου. ια παράδειγμα, η αρχική κατάσταση είναι η [,,], ενώ αν μετακινήσουμε τον μικρό δίσκο στον στύλο, έχουμε την κατάσταση [,,]. Οι δύο αυτές καταστάσεις συνδέονται με ακμή, όπως φαίνεται στο παρακάτω σχήμα. Σημειώνεται ότι οι ακμές του γράφου είναι μη κατευθυνόμενες, μιας και οποιαδήποτε μετακίνηση δίσκου μπορεί να αντιστραφεί. [,,] [,,] ια λόγους οικονομίας χώρου ζητείται να περιγράψετε το γράφο με λίστες γειτνίασης, δίνοντας για κάθε κόμβο του γράφου, τους απέναντι κόμβους των προσπιπτουσών ακμών. ια παράδειγμα, η λίστα γειτνίασης του κόμβου [,,] είναι η εξής: [,,] [,,], [,,] Σημείωση: Το πλήθος των κόμβων του γράφου είναι 27, μιας και κάθε δίσκος μπορεί να βρίσκεται σε 3 διαφορετικές θέσεις. Χρησιμοποιήστε το χώρο στο φύλο απαντήσεων για να δώσετε την απάντησή σας ΠΝΤΗΣΗ [,,] [,,], [,,] [,,] [,,], [,,], [,,] [,,] [,,], [,,], [,,] [,,] [,,], [,,], [,,] [,,] [,,], [,,], [,,] [,,] [,,], [,,], [,,] [,,] [,,], [,,], [,,] [,,] [,,], [,,], [,,] [,,] [,,], [,,], [,,] [,,] [,,], [,,], [,,] [,,] [,,], [,,], [,,] [,,] [,,], [,,], [,,] [,,] [,,], [,,], [,,] [,,] [,,], [,,] [,,] [,,], [,,], [,,] [,,] [,,], [,,], [,,] [,,] [,,], [,,], [,,] [,,] [,,], [,,], [,,] [,,] [,,], [,,], [,,] [,,] [,,], [,,], [,,] [,,] [,,], [,,], [,,] [,,] [,,], [,,], [,,] [,,] [,,], [,,], [,,] [,,] [,,], [,,], [,,] [,,] [,,], [,,], [,,] [,,] [,,], [,,], [,,] [,,] [,,], [,,] ΘΕΜ 21 ΜΟΝΕΣ 3 ίνονται οι παρακάτω τρεις γράφοι. Σε κάθε έναν από αυτούς θέλετε να βρείτε την ελάχιστη απόσταση όλων των κόμβων από τον κόμβο. ια κάθε ένα από τους τρεις διαθέσιμους αλγόριθμους εύρεσης ελάχιστων αποστάσεων σε γράφους (Bellman Ford, DAG SHORTEST PATHS και Dijkstra) διαλέξτε έναν γράφο ο οποίος να είναι κατάλληλος για να αποτελέσει είσοδο στον αλγόριθμο αυτό. 13

1 1 3 2 1 3 2 1 3 3 1 3 2 1 3 ΠΝΤΗΣΗ (Σημειώστε στο φύλλο απαντήσεων σε ποιο γράφο πιστεύετε ότι αντιστοιχεί κάθε αλγόριθμος) Bellman Ford DAG SHORTEST PATHS Dijkstra ράφος. Ο αλγόριθμος Χρησιμοποιείτ αι σε οποιονδήποτε γράφο. Σε περίπτωση που υπάρχει αρνητικός κύκλος επιστρέφει αποτυχία. ράφος. Ο αλγόριθμος χρησιμοποιείται μόνο σε ακυκλικούς γράφους, ανεξαρτήτως αν έχουν αρνητικά βάρη ή όχι. ράφος. Ο αλγόριθμος χρησιμοποιείται μόνο σε γράφους με θετικά βάρη, ανεξαρτήτως εάν έχουν κύκλο ή όχι. ΘΕΜ 22 ΜΟΝΕΣ 4 Έστω τα σύνολα θετικών ακεραίων αριθμών και, τέτοια ώστε ={2,3,4,5 και ={1,2,3,4. Μπορείτε να αναδιατάξετε τα σύνολα αυτά με όποιον τρόπο θέλετε. Έστω a i το i οστό στοιχείο του συνόλου μετά την αναδιάταξη και b i το i οστό στοιχείο του συνόλου μετά την αναδιάταξη. Στόχος σας είναι να μεγιστοποιήσετε το 4 γινόμενο b i = a 1 i i. Ποια είναι η μέγιστη τιμή του γινομένου αυτού που μπορείτε να πετύχετε; 34.560 96.000 720.000 3.750.000 Ε 18.750.000 ΘΕΜ 23 ΜΟΝΕΣ 6 Έστω ο παρακάτω γράφος με τα αντίστοιχα βάρη στις ακμές του. Επίσης, οι π τιμές και οι d τιμές που έχουν υπολογιστεί στα πλαίσια του αλγόριθμου του Dijkstra. Θα μπορούσαν αυτές οι τιμές να αποτελούν αποτέλεσμα ορθής εκτέλεσης του αλγορίθμου του Dijkstra στον παρακάτω γράφο; Εάν όχι, για ποιό λόγο; (μονάδες 4) Εάν ναι, είναι αυτές οι τιμές οι μοναδικές ορθές τιμές που θα μπορούσαν να προκύψουν; (μονάδες 2) 14

ΠΝΤΗΣΗ Χρησιμοποιήστε το χώρο στο φύλο απαντήσεων για να δώσετε την απάντησή σας Οι π τιμές και οι d τιμές που φαίνονται παραπάνω αποτελούν αποτέλεσμα ορθής εκτέλεσης του αλγορίθμου του Dijkstra στον παραπάνω γράφο. Υπάρχει ένα ακόμα πιθανό αποτέλεσμα: ο κόμβος d μπορεί να έχει π τιμή ίση με b. υτό γίνεται διότι οι κόμβοι b και c έχουν την ίδια d τιμή, και επομένως ήταν και οι δύο ταυτόχρονα στην ουρά προτεραιότητας με την ίδια προτεραιότητα, όταν ο κόμβος c επιστράφηκε από την EXTRACTMIN κλήση. Έτσι, θα μπορούσε να είχε επιστραφεί ο κόμβος c αντί του κόμβου b. ΘΕΜ 24 ΜΟΝΕΣ 4 Ποιο από τα παρακάτω όρια είναι αληθές για τη συνάρτηση 2 n ; E Ο(3 n ) Θ(3 n ) Ω(3 n ) Κανένα Όλα ΘΕΜ 25 ΜΟΝΕΣ 3 ώστε τα ασυμπτωτικά άνω και κάτω όρια για την παρακάτω αναδρομική συνάρτηση: T(n) = 16T(n/4) + n 2 ΠΝΤΗΣΗ Χρησιμοποιήστε το χώρο στο φύλο απαντήσεων για να δώσετε την απάντησή σας T(n) = 16T(n/4) + n 2 = Θ(n 2 lg n). Είναι μια ακόμη περίπτωση αλγορίθμου «διαίρει και βασίλευε»με a = 16, b = 4, f (n) = n 2, and n log b a = nlog 4 16 = n 2. φού n 2 = Θ(n log 4 16 ), από τη δεύτερη περίπτωση του Θεωρήματος Κυριαρχίας προκύπτει ότι T(n) = Θ(n 2 lg n). 15

ΘΕΜ 26 ΜΟΝΕΣ 3 Έστω η κάτωθι συνάρτηση mx #include <stdio.h> struct node { int n; struct node* next; ; int mx (struct node *n, int v){ if (n == NULL) return(v); if ( n->n >= v) return( mx(n->next, n->n) ); else return( mx(n->next, v) ); int domx (struct node *n){ if (n) return mx(n->next, n->n) ; return -1; Ποιες από τις παρακάτω περιπτώσεις ελέγχου πρέπει να ληφθούν υπ όψιν όταν πρόκειται να ελεγχθεί η συνάρτηση domx με τη προσέγγιση των συνοριακών τιμών. (Σημ: οι αγκύλες { σηματοδοτούν συνδεδεμένη λίστα ) ΠΝΤΗΣΗ (επιλέξτε όσες από τις παρακάτω επιλογές είναι σωστές και σημειώστε τις στο φύλλο απαντήσεων) Ε ({1) ({8, 5, 13, 44, 2) ({23, 5, 7, 7, 7, 90) ({1,2,2,2,2,2,1) ({3,6,5,6,2) ΘΕΜ 27 ΜΟΝΕΣ 3 Έστω η συνάρτηση int isgreeklicenseplate( char *a, int n); η οποία ελέγχει αν η πινακίδα ενός αυτοκινήτου είναι ελληνική. Οι ελληνικές πινακίδες αποτελούνται από ακριβώς 3 λατινικούς χαρακτήρες και έναν τετραψήφιο αριθμό. Πόσες κλάσεις ισοδύναμων τιμών απαιτούνται για τον πλήρη έλεγχο της παραπάνω συνάρτησης σύμφωνα με τη στρατηγική του μαύρου κουτιού; Ε 3 4 5 6 7 16

ΘΕΜ 28 ΜΟΝΕΣ 6 Έστω η συνάρτηση int triangletype(int a,int b, int c) η οποία αποφαίνεται αν ένα τρίγωνο με μήκη πλευρών a, b και c είναι σκαληνό, ισοσκελές ή ισόπλευρο επιστρέφοντας 1, 2, 3 αντίστοιχα. Σε περίπτωση που η είσοδος δεν μπορεί να σχηματίσει τρίγωνο η συνάρτηση επιστρέφει 1. ναφέρετε τουλάχιστον 5 κλάσεις ισοδύναμων τιμών που απαιτούνται για τον έλεγχο της συνάρτησης triangletype σύμφωνα με τη στρατηγική του μαύρου κουτιού. Υπενθυμίζεται ότι σύμφωνα με την τριγωνική ανισότητα το άθροισμα των μηκών δύο οποιωνδήποτε πλευρών ενός τριγώνου στο επίπεδο, είναι μεγαλύτερο από το μήκος της τρίτης πλευράς ΠΝΤΗΣΗ Χρησιμοποιήστε το χώρο στο φύλο απαντήσεων για να δώσετε την απάντησή σας Υπάρχουν 3 έγκυρες κλάσεις ισοδύναμων τιμών και 5 άκυρες κλάσεις. Στα κριτήρια συγκαταλέγονται και οι συνθήκες που πρέπει να ισχύουν για το άθροισμα των πλευρών ενός τριγώνου. Έγκυρες κλάσεις: 1. Σκαληνό τρίγωνο, με κριτήριο a + b > c και a < b < c 2. Ισοσκελές τρίγωνο, με κριτήριο a + b > c (αν a = b) 3. Ισόπλευρο τρίγωνο, με κριτήριο a = b = c (a > 0) Άκυρες κλάσεις 1. Σκαληνό τρίγωνο με a + b <= c και a < b < c 2. Ισοσκελές τρίγωνο, με a + b < c και a = b 3. Μήκος πλευράς ίσο με 0 4. Μήκος πλευράς αρνητικό 5. Είσοδος χαρακτήρα (π.χ. a ) αντί ακεραίου (επειδή πρόκειται για τη C). ΘΕΜ 29 ΜΟΝΕΣ 3 Έστω οι ορισμοί typedef struct node* link; struct node { int key; link next; ; link list, x; int c; Θεωρούμε ότι ο δείκτης list δείχνει στον πρώτο κόμβο μιας λίστας με θετικά κλειδιά, της οποίας ο τελευταίος κόμβος έχει στο πεδίο next τιμή NULL. Ποια από τα παρακάτω τμήματα κώδικα κάνουν αυτό που λέει η περιγραφή που βρίσκεται αριστερά τους; ΠΝΤΗΣΗ (επιλέξτε όσες από τις παρακάτω επιλογές είναι σωστές και σημειώστε τις στο φύλλο απαντήσεων) Υπολογισμός πλήθους στοιχείων λίστας ιαγραφή 2 ου κόμβου Εισαγωγή νέου κόμβου μετά τον 2 ο x = list; c = 0; for (c = 0; x!= NULL; x = x->next) c++; link x = malloc(sizeof *t); x->key = 17; x->next = list->next->next; list->next->next = x; x = list->next; list->next = list->next->next; 17

Υπολογισμός μέγιστου στοιχείου λίστας free(x); x = list; c = -1; for (c = -1; x!= NULL; x = x->next) if (x->key > c) c = x->key; ΘΕΜ 30 ΜΟΝΕΣ 4 Έστω οι ορισμοί typedef struct node* link; struct node { int key; link l, r; ; link tree; Ποια από τα παρακάτω τμήματα κώδικα υπολογίζουν και επιστρέφουν αυτό που λέει η περιγραφή που βρίσκεται αριστερά τους; ΠΝΤΗΣΗ (επιλέξτε όσες από τις παρακάτω επιλογές είναι σωστές και σημειώστε τις στο φύλλο απαντήσεων) Το ύψος του δέντρου Πάντα την ίδια τιμή. Το άθροισμα των κλειδιών του δένδρου. Τη μεγαλύτερη τιμή του δένδρου. int mystery (link x) { if (x == NULL) return 0; else return x->key + mystery (x->l) + mystery (x->r); int mystery (link x) { if (x == NULL) return 0; else return (mystery (x->l)> mystery (x->r)? mystery (x->l): mystery (x->r)); int mystery (link x) { if (x == NULL) return 0; else return 1 + (mystery (x->l)> mystery (x->r)? mystery (x->l): mystery (x->r)); int mystery (link x) { if (x == NULL) return 0; else return ((mystery (x->l)> mystery (x->r)? mystery (x->l): mystery (x->r)) < x->key? x->key: (mystery (x->l)> mystery (x->r)? mystery (x->l): mystery (x->r))); 18