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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

1 ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ: ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΞΕΙΔΙΚΕΥΣΗ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ (ΠΛΣ) ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΞΕΙΔΙΚΕΥΣΕΙΣ ΣΕ ΘΕΩΡΙΑ ΚΑΙ ΛΟΓΙΣΜΙΚΟ (ΠΛΣ50) Β' ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ - 29 ΙΟΥΝΙΟΥ 2008 ΧΡΟΝΟΣ ΕΞΕΤΑΣΗΣ 180' Επώνυμο ΑΜ Ονομα Τμήμα ΘΕΜΑ 1 ΜΟΝΑΔΕΣ 2 Τι θα εμφανιστεί στην οθόνη, αν εκτελεστεί το παρακάτω πρόγραμμα: int main(){ int i, a[10] int *p; for (i=0; i < 10 ; ++i) a[i] = i; p = a; printf( %d\n, ++(*p++)); Α Β Γ Δ Ε ΘΕΜΑ 2 ΜΟΝΑΔΕΣ 2 Με ποιες εντολές είναι η ισοδύναμη η παρακάτω εντολή ανάθεσης; *p = *p + 1; ΑΠΑΝΤΗΣΗ (επιλέξτε μία ή περισσότερες από τις παρακάτω επιλογές) Α Β Γ Δ *p++ *(p++) *p+=1 ++(*p) ΘΕΜΑ 3 ΜΟΝΑΔΕΣ 4 Έστω η εξής δήλωση μίας συνάρτηση f: int f(int *n, int l); Ποια/ες από τις παρακάτω κλήσεις είναι νόμιμες ΑΠΑΝΤΗΣΗ (επιλέξτε μία ή περισσότερες από τις παρακάτω επιλογές ) Α Β Γ Δ Ε int n[10], l; int t[30], l; int n, l; int *n, *p; Όλες f(n, - 3); f(t + 2, l - 2); f( &n, l/2); f(n, p - n);

2 ΘΕΜΑ 4 ΜΟΝΑΔΕΣ 4 Ποια από τις παρακάτω συναρτήσεις εκτελούν την ίδια λειτουργία με την f int f(int *n, int l) { if ( l == 0) return; (*n)++; return f( ++n, --l); Α int f1(int *n, int l) { int I; for (i=0; i < l; i++, ++n) *n++; Β int f2(int *n, int l) { int i = 0; while (i < l) { (*++n)++; ++i; Γ int f3(int *n, int l) { int i = 0; while (i <= l) { (*n+i )++; ++i; Δ int f4(int *n, int l) { int *n1 = n; do { *n1+=1; ++n1; while ( n1 - n < l ); ΘΕΜΑ 5 ΜΟΝΑΔΕΣ 3 Σε μία ουρά εισάγονται αριθμοί από το διάστημα 0 έως και 9 Θεωρείστε την ακόλουθη σειρά ενεργειών σε μία ουρά κατά την οποία ένας αριθμός σηματοδοτεί την πράξη εισαγωγής του αριθμού αυτού στην ουρά και ένας αστερίσκος (*) εξαγωγή στοιχείου από την ουρά Ποια θα είναι τα περιεχόμενα της ουράς, μετά την εκτέλεση των παρακάτω πράξεων, με τη σειρά που δίδονται 0 1 * 2 3 * * * * 7 * 8 9 Α Β Γ Δ Ε

3 ΘΕΜΑ 6 ΜΟΝΑΔΕΣ 3 Τί θα τυπωθεί στην οθόνη αν εκτελεστεί το παρακάτω πρόγραμμα pop και push είναι πράξεις εισαγωγής/εξαγωγής στοιχείων από μία στοίβα, αντίστοιχα void push (int k); /* Εισάγει τιµή k στη στοίβα */ int pop(); /* Επιστρέφει την τιµή που έχει εξαχθεί*/ int main(int argc, char **argv) { int i; for (i=0; i< 10; ++i) push(i); while ( pop() ){ push( pop() ); printf( "%d %d ", pop(), pop() ); Α Β Γ Δ Ε ΘΕΜΑ 7 ΜΟΝΑΔΕΣ 4 Τι θα εμφανιστεί στην οθόνη αν εκτελεστεί το παρακάτω πρόγραμμα #include <stdioh> #include <stdlibh> typedef struct node link; struct node { int key; link *next; ; int main(int argc, char **argv) { link x, y, *t; xkey = 1; xnext = &y; ykey = 1; ynext = &x; for (t = &x; t->key < 10; t = t->next) t->key = xkey + ykey; printf("%d\n", t->key); return 0; Α Β Γ Δ Ε

4 ΘΕΜΑ 8 ΜΟΝΑΔΕΣ 2 Έστω το Δυαδικό δέντρο αναζήτησης 14 / \ 2 16 / \ 1 5 / 4 Έστω ότι διαγράφουμε τη ρίζα, αντικαθιστώντας την με τιμή του αριστερού υποδέντρου Ποια θα είναι η νέα τιμή της ρίζας; Α Β Γ Δ E ΘΕΜΑ 9 ΜΟΝΑΔΕΣ 3 Σε ποια διαπέραση (preorder, inorder, postorder, level- order) του δέντρου αντιστοιχεί η κάθε μία ακολουθία; Α) E C B A D H F G I Β) E C H B D F I A G Γ) A B D C G F I H E Δ) A B C D E F G H I ΑΠΑΝΤΗΣΗ (σημειώστε τις λέξεις preorder, inorder κλπ κάτω από τη σωστή θέση Α- Δ) Α Β Γ Δ preorder inorder postorder level- order ΘΕΜΑ 10 ΜΟΝΑΔΕΣ 4 Σε πόσες θέσεις σε ένα σωρό (heap) 15 διακριτών τιμών μπορεί να βρίσκεται το 5ο μεγαλύτερο στοιχείο; Α Β Γ Δ Ε

5 ΘΕΜΑ 11 ΜΟΝΑΔΕΣ 4 Έστω x ένας κόμβος με 2 παιδιά σε ένα Δυαδικό Δέντρο Αναζήτησης Αποδείξτε ότι: Α Ο αμέσως επόμενος κόμβος (σε τιμή) από τον x δεν έχει αριστερό παιδί Β Ο αμέσως προηγούμενος κόμβος (σε τιμή) από τον x δεν έχει δεξί παιδί Σε μια inorder διαπέραση, επισκεπτόμαστε τους κόμβους του ΔΔΑ σε αύξουσα σειρά τιμής και οι κόμβοι του αριστερού (δεξιού) υποδέντρου του x εμφανίζονται ακριβώς πριν (μετά) τον x Α (Β) Ας υποθέσουμε ότι ο y (z) είναι ο αμέσως επόμενος (προηγούμενος) κόμβος σε τιμή από τον x και έχει ένα αριστερό (δεξιό) παιδί Το παιδί αυτό θα είναι ανάμεσα στον x (z) και στον y (x) στην inorder διαπέραση Αυτό όμως αντιβαίνει στην υπόθεση ότι ο y είναι ο αμέσως επόμενος (προηγούμενος) κόμβος από τον x Άτοπο 5

6 ΘΕΜΑ 12 ΜΟΝΑΔΕΣ 4 Στο ακόλουθο σχήμα περιγράφεται ένα τμήμα (υποσύστημα) του πληροφοριακού συστήματος ενός υποθετικού φορέα διαχείρισης περιβάλλοντος με τη βοήθεια ενός διαγράμματος ροής δεδομένων Το υποσύστημα αυτό είναι υπεύθυνο για τη δημιουργία των χαρτών επικινδυνότητας δασικής πυρκαγιάς και την ανακοίνωσή τους στο internet, στην ΓΓΠΠ, και σε εσωτερικό τερματικό σταθμό του φορέα Επειδή η περιγραφή των ροών είναι εκτενής, δεν είναι δυνατόν να τοποθετηθεί εντός του διαγράμματος Για το σκοπό αυτό χρησιμοποιείται ένας πίνακας, την πρώτη στήλη του οποίου καλείστε να συμπληρώσετε με τα σύμβολα του διαγράμματος ΜΕΤΡΗΣΕΙΣ F1 F2 Τ2 F5 Web server Τ1 F3 F6 Τ3 F7 ΧΩΡΙΚΑ ΔΕΔΟΜΕΝΑ ΠΣ Γενικής Γραµµατείας Πολιτικής Προστασίας F4 Τ4 F8 Τ6 F10 Τ5 F9 Οθόνη ΑΠΑΝΤΗΣΗ (Σημειώστε στην πρώτη κενή στήλη τις τιμές Τ1- Τ6 και F1- F10 στις σωστές θέσεις) F5 Α1 Script με τιμές Θ, ΣΥ, ΚΑ, ΤΑ για εμφάνιση σε google maps F8 Α2 Δείκτης επικινδυνότητας (ΔΕ) Τ6 Α3 Δημιουργία εγγραφής XML για το σύστημα της ΓΓΠΠ F10 Α4 Εγγραφή XML για την αποστολή του ΔΕ F2 Α5 Εγγραφή Θ, ΣΥ, ΚΑ, ΤΑ F3 Α6 Εγγραφή Θ, ΣΥ, ΚΑ, ΤΑ F4 Α7 Εγγραφή Θ, ΣΥ, ΚΑ, ΤΑ F6 Α8 Εγγραφή ΧΥ, ΚΕ, Β, ΔΚ T2 Α9 Εμφάνιση μετρήσεων σε Google Maps T1 Α10 Λήψη μετρήσεων T3 Α11 Λήψη χωρικών δεδομένων F9 Α12 Μορφοποιημένη εγγραφή Θ, ΣΥ, ΚΑ, ΚΑ για την οθόνη Τ5 Α13 Μορφοποίηση μετρήσεων για εμφάνιση στην οθόνη F7 Α14 Συντεταγμένες (ΧΥ), Κλίση εδάφους (ΚΕ), είδος βλάστησης (Β), δείκτης κινδύνου (ΔΚ) F1 Α15 Τιμές μετρήσεων θερμοκρασίας (Θ), σχετικής υγρασίας (ΣΥ), κατεύθυνσης ανέμου (ΚΑ), ταχύτητας ανέμου (ΤΑ) Τ4 Α16 Υπολογισμός δείκτη επικινδυνότητας 6

7 ΘΕΜΑ 13 ΜΟΝΑΔΕΣ 4 Με αναφορά στο θέμα 12, να περιγράψετε τη λειτουργική απαίτηση η περιγραφή της οποίας περιλαμβάνει τις ροές F1, F3, F6, F7, F8 και F10 με τη δομή "περιγραφή είσοδος επεξεργασία έξοδος" Θεωρήστε ότι ο υπολογισμός του δείκτη επικινδυνότητας γίνεται με κάποιον αλγόριθμο που ονομάζεται "Risk6" Περιγραφή: Διαβάζονται μετρήσεις και χωρικά δεδομένα και υπολογίζεται ο δείκτης επικινδυνότητας για κάθε περιοχή ο οποίος μορφοποιείται ως εγγραφή XML και αποστέλλεται στο Πληροφοριακό Σύστημα της ΓΓΠΠ Είσοδος: Τιμές μετρήσεων θερμοκρασίας (Θ), σχετικής υγρασίας (ΣΥ), κατεύθυνσης ανέμου (ΚΑ), ταχύτητας ανέμου (ΤΑ) από την αποθήκη "Μετρήσεις", Συντεταγμένες (ΧΥ), Κλίση εδάφους (ΚΕ), είδος βλάστησης (Β), δείκτης κινδύνου (ΔΚ) από την αποθήκη "Χωρικά Δεδομένα" Επεξεργασία: Εκτελείται ο αλγόριθμος Risk6 Εξοδος: Εγγραφή XML για την αποστολή του Δείκτη Επικινδυνότητας ΘΕΜΑ 14 ΘΕΜΑ 15 ΜΟΝΑΔΕΣ 4 ΜΟΝΑΔΕΣ 5 Μια εφαρμογή λογισμικού εκτελεί μια λειτουργία η οποία δημιουργεί N τυχαία σημεία (x,y) στο επίπεδο, με τρόπο ώστε κανένα ζεύγος σημείων να μην απέχει λιγότερο από S και τα τοποθετεί σε αποθήκη δεδομένων Να δώσετε ένα διάγραμμα ροής δεδομένων (θέμα 14) για τη λειτουργία αυτή, καθώς και το αντίστοιχο ΔΔΠ (θέμα 15) Συμβουλή: δεν απαιτούνται περισσότεροι από 3 και λιγότεροι από 2 μετασχηματισμοί Για τη λειτουργία της γεννήτριας τυχαίων αριθμών απαιτείται ένας αριθμός Seed που την αρχικοποιεί ΑΠΑΝΤΗΣΗ Μια λύση με τρεις μετασχηματισμούς είναι η ακόλουθη: 7

8 Seed M1 Random number generator RandomΧ, RandomY S Χ, Υ M2 Ελεγχος απόστασης Σηµεία που έχουν δηµιουργηθεί Χ,Υ, Flag Χ, Υ M3 Καταχώρηση σηµείου Και το αντίστοιχο ΔΔΠ RunM2 S RandomX,Y X,Y S, X, Y, RandomX,Y X,Y,Flag X,Y,Flag Get S RunM1 Get X,Y Calc X,Y, Flag RunM3 Seed RandomX,Y Seed X,Y,Flag X,Y X,Y Get Seed Calc RandomX,Y Calc X,Y Put X,Y ΘΕΜΑ 16 ΜΟΝΑΔΕΣ 5 Συνταγή για Αρνί με κουσκούς Αρχικά, ψιλοκόβουμε τις ντομάτες Στη συνέχεια σοτάρουμε στο μισό λάδι τις μερίδες του αρνιού Όταν πιάσει κρούστα από όλες τις πλευρές, προσθέτουμε την ντομάτα Συνεχίζουμε προσθέτοντας τον ντοματοπελτέ, τους κόκκους πιπεριού και το αλάτι Μετά ρίχνουμε όλο το νερό και αφήνουμε το κρέας να βράσει στη σάλτσα του για 30 λεπτά Παράλληλα, ψιλοκόβουμε τα κρεμμύδια και τα σοτάρουμε για λίγο στο λάδι Στα κρεμμύδια, ρίχνουμε και το κουσκούσι για να σοταριστεί λίγο και να πάρει γεύση Το ανακατεύουμε καλά και το αποσύρουμε σύντομα από τη φωτιά Επίσης, προθερμαίνουμε το φούρνο στους 180 βαθμούς Σε ένα ταψί ή πυρέξ, χύνουμε το ζωμό από το αρνί και στη συνέχεια, προσθέτουμε το κουσκούσι και τα κρεμμύδια Τοποθετούμε και τις μερίδες του αρνιού και ανακατεύουμε Ψήνουμε στους 180 βαθμούς για 45 λεπτά Όταν βγάλουμε το φαγητό από το φούρνο, σκεπάζουμε το πυρέξ με μία πετσέτα για να μη στεγνώσει το κουσκούσι και να φουσκώσει σε όλο του το μεγαλείο Συνοδεύεται τέλεια με μία σάλτσα φτιαγμένη από στραγγιστό γιαούρτι, λίγο ελαιόλαδο, αλάτι και μπούκοβο Φτιάξτε το Διάγραμμα Ροής Δεδομένων (ΔΡΔ) που αντιστοιχεί στην παραπάνω συνταγή 8

9 Ντοµάτα Κόψιµο ντοµάτας Ψιλοκοµµένη ντοµάτα Μάγειρας Ντοµατοπελτές, κόκκοι πιπεριού, αλάτι, νερό Ανάµιξη Μάγειρας Μερίδες αρνιού Μίγµα Κρεµµύδι Σωτάρισµα αρνιού Κρουστοποιηµένο αρνί Βράσιµο Κόψιµο κρεµµυδιών Ψιλοκοµµένο κρεµµύδι Ζωµός, αρνί Σωτάρισµα και ανάµιξη Μίγµα Ανάµιξη Αρνί µε κουσκούς Ψήσιµο Κουσκούς Ψηµένο αρνί µε κουσκούς Μάγειρας πετσέτα Φυσκωµένο αρνί µε κουσκούς Φύσκωµα ΘΕΜΑ 17 ΜΟΝΑΔΕΣ 6 Σε ένα ξενοδοχείο λειτουργεί η εφαρμογή «Reservations» η οποία διαχειρίζεται τις κρατήσεις δωματίων του ξενοδοχείου Ένας πελάτης μέσω του υπαλλήλου του τμήματος κρατήσεων μπορεί να ζητήσει μια κράτηση για ένα ή περισσότερα δωμάτια για συγκεκριμένες ημερομηνίες και για καθορισμένο αριθμό ατόμων Αν το ξενοδοχείο έχει ελεύθερα δωμάτια, γίνεται η κράτηση με εγγύηση τον αριθμό της πιστωτικής κάρτας του πελάτη Η κράτηση αυτή διατηρείται για 15 ημέρες από την ημερομηνία που έγινε Μετά ο πελάτης πρέπει να πληρώσει προκαταβολή προκειμένου να συνεχίσει να ισχύει η κράτηση, αλλιώς η κράτηση χάνεται (ακυρώνεται αυτόματα) Αν το ξενοδοχείο δεν έχει ελεύθερα δωμάτια τη χρονική στιγμή της αίτησης του πελάτη, τότε η αίτηση μπαίνει σε λίστα αναμονής μέχρι να υπάρξουν ελεύθερα δωμάτια από ακυρωμένες κρατήσεις Ζητούμενο Α: Σχεδιάστε το Διάγραμμα Ροής Δεδομένων για την παραπάνω εφαρμογή για τα επίπεδα 0 και 1 Ζητούμενο Β: Σχεδιάστε το Διάγραμμα Μετάβασης Καταστάσεων για την οντότητα «Κράτηση» 9

10 10

11 ΘΕΜΑ 18 ΜΟΝΑΔΕΣ 6 Διαθέτουμε δύο δοχεία, χωρητικότητας ακριβώς 3 και 5 λίτρων Τα δοχεία δεν είναι βαθμονομημένα Έχουμε επίσης μία βρύση και έναν νεροχύτη Οι ενέργειες που μπορούμε να εκτελέσουμε είναι οι εξής: Πλήρες γέμισμα ενός δοχείου από τη βρύση Πλήρες άδειασμα ενός δοχείου στο νεροχύτη Μετακίνηση νερού από το ένα δοχείο στο άλλο, μέχρι είτε να αδειάσει το ένα είτε να γεμίσει το άλλο Κατασκευάστε ένα γράφο, του οποίου κορυφές είναι οι διάφορες καταστάσεις των δοχείων Κάθε κορυφή θα φέρει μια ετικέτα της μορφής [Χ,Υ], όπου Χ το περιεχόμενο του μικρού δοχείου, Χ {0,1,2,3 και Υ το περιεχόμενο του μεγάλου δοχείου, Υ {0,1,2,3,4,5,6 Δύο κορυφές Α και Β θα συνδέονται με μια κατευθυνόμενη ακμή, εάν είναι δυνατόν να πάμε από την κατάσταση Α στην κατάσταση Β με μία από τις έγκυρες ενέργειες Παρακάτω φαίνονται 4 κορυφές του γράφου, μαζί με τις μεταξύ τους ακμές [0,0] [3,0] Εναλλακτικά, και για λόγους οικονομίας χώρου, συνίσταται να περιγράψετε το γράφο με λίστες γειτνίασης, δίνοντας για κάθε κορυφή του τις κορυφές- προορισμούς των εξερχόμενων ακμών Για παράδειγμα, από την κορυφή [0,0] ξεκινούν ακμές για τις κορυφές [0,5] και [3,0]: [0,0]à [0,5], [3,0] Σημείωση: Το πλήθος των κόμβων του γράφου είναι 24, για τις 4 διαφορετικές ποσότητες που μπορεί να φέρει το μικρό δοχείο επί τις 6 διαφορετικές ποσότητες που μπορεί να φέρει το μεγάλο δοχείο Γράψτε όσες περισσότερες από τις καταστάσεις μπορείτε ΑΠΑΝΤΗΣΗ Χρησιμοποιήστε το χώρο στο φύλο απαντήσεων για να δώσετε την απάντησή σας Για λόγους σαφήνειας και οικονομίας χώρου δίνονται οι ακμές με τη μορφή λίστας γειτνίασης Μάλιστα οι λίστες δίνονται με λεξικογραφική ταξινόμηση Έχουμε λοιπόν: [0,0] à [0,5],[3,0] [0,1] à [0,0], [0,5], [1,0], [3,1] [0,2] à [0,0], [0,5], [2,0], [3,2] [0,3] à [0,0], [0,5], [3,0], [3,3] [0,4] à [0,0], [0,5], [3,1], [3,4] [0,5] à [0,0], [3,2], [3,5] [1,0] à [0,0], [0,1], [1,5], [3,0] [1,1] à [0,1], [0,2], [1,0], [1,5], [2,0], [3,1] [1,2] à [0,2], [0,3], [1,0], [1,5], [3,0], [3,2] [1,3] à [0,3], [0,4], [1,0], [1,5], [3,1], [3,3] [1,4] à [0,4], [0,5], [1,0], [1,5], [3,2], [3,4] [1,5] à [0,5], [1,0], [3,3], [3,5] [2,0] à [0,0], [0,2], [2,5], [3,0] [2,1] à [0,1], [0,3], [2,0], [2,5], [3,0], [3,1] [2,2] à [0,2], [0,4], [2,0], [2,5], [3,1], [3,2] [2,3] à [0,3], [0,5], [2,0], [2,5], [3,2], [3,3] [2,4] à [0,4], [1,5], [2,0], [2,5], [3,3], [3,4] [2,5] à [0,5], [2,0], [3,4], [3,5] [3,0] à [0,0], [0,3], [3,5] [0,5] [3,2] 11

12 [3,1] à [0,1], [0,4], [3,0], [3,5] [3,2] à [0,2], [0,5], [3,0], [3,5] [3,3] à [0,3], [1,5], [3,0], [3,5] [3,4] à [0,4], [2,5], [3,0], [3,5] [3,5] à [0,3], [3,0] ΘΕΜΑ 19 ΜΟΝΑΔΕΣ 4 Συνέχεια του προηγούμενου θέματος Ξεκινώντας από τον κόμβο [0,0], βρείτε μια διαδρομή μέχρι κάποιον κόμβο της μορφής [1,x] ή [x,1], όπου x οποιαδήποτε τιμή, δηλαδή φτάστε σε μια κατάσταση όπου σε ένα από τα δοχεία υπάρχει ακριβώς ένα λίτρο νερό αδιαφορώντας για το πόσο υπάρχει στο άλλο Χρησιμοποιήστε τους αλγόριθμους depth first search και breadth first search Η επιλογή των γειτόνων ενός κόμβου να γίνεται και από τους δύο αλγορίθμους λεξικογραφικά, πχ για τον κόμβο [0,0] πρώτα εξετάστε τον [0,5] και μετά τον [3,0] ΑΠΑΝΤΗΣΗ Ξεκινώντας από τον κόμβο [0,0] με depth- first search και ακολουθώντας τις ακμές με λεξικογραφική προτεραιότητα, αποφεύγοντας τους βρόχους (γκρι κόμβους) αλλά και κόμβους που έχουμε ήδη επισκεφθεί, έχουμε την εξής διάσχιση: [0,0] à [0,5] à [3,2] à [0,2] à [2,0] à [2,5] à [3,4] à [0,4] à [3,1] Λύση! Ουσιαστικά ο depth- first search βρήκε μια διαδρομή στο γράφο χωρίς να χρειαστεί να υπαναχωρήσει σε κανένα σημείο Για να περιγράψουμε την εφαρμογή του breadth- first search, θα δίνουμε σε κάθε βήμα το μέτωπο αναζήτησης (γκρι κόμβοι) Ο πρώτος κόμβος του μετώπου θα εξάγεται σε κάθε βήμα (θα γίνεται μαύρος), ενώ οι λευκοί γειτονικοί του θα εισέρχονται στο τέλος του μετώπου, έχοντας γίνει και αυτοί γκρι (το μέτωπο λειτουργεί ως ουρά) Κόμβοι οι οποίοι βρίσκονται ήδη στο μέτωπο (γκρι κόμβοι) ή έχουν ήδη βγει από αυτό (μαύροι κόμβοι) θα αγνοούνται Έχουμε λοιπόν: [0,0] [0,5],[3,0] [3,0], [3,2], [3,5] [3,2], [3,5], [0,3] [3,5], [0,3], [0,2], [3,0] [0,3], [0,2], [3,0] [0,2], [3,0], [3,3] [3,0], [3,3], [2,0] [3,3], [2,0] [2,0], [1,5] [1,5], [2,5] è Λύση! Η διαδρομή είναι [0,0] à [3,0] à [0,3] à [3,3] à [1,5], η οποία είναι σημαντικά μικρότερη από αυτή που βρήκε ο depth first search (ουσιαστικά είναι η συντομότερη δυνατή λύση) 12

13 ΘΕΜΑ 20 ΜΟΝΑΔΕΣ 3 Έστω η συνάρτηση f 1 (n) της οποίας ο ψευδοκώδικας δίνεται παρακάτω: f 1 (n) 1 if n > 2 2 then return (f 1 (n 1) + f 1 (n 2)) mod n 3 else return 2 Εξηγείστε με ποιον τρόπο θα μπορούσε να υλοποιηθεί η συνάρτηση f 1 ώστε να έχει χρόνο εκτέλεσης O(n) ΑΠΑΝΤΗΣΗ Χρησιμοποιήστε το χώρο στο φύλο απαντήσεων για να δώσετε την απάντησή σας Θα χρησιμοποιήσουμε δυναμικό προγραμματισμό Μπορεί να εφαρμοστεί μια προσέγγιση από κάτω- προς- τα- πάνω (bottom- up) ή από- πάνω- προς- τα- κάτω (top- down) Έστω, F 1 [n] ένας πίνακας που αρχικά έχει μηδενικές τιμές Αρχικά, θέτουμε F 1 [1] = F 1 [2] = 2 Έπειτα, για κάθε i = 3,, n κάνουμε τον υπολογισμό F 1 [i] = F 1 [i 1]+F 1 [i 2] mod n Αυτή η διαδικασία απαιτεί O(n) χρόνο, ενώ η τιμή f 1 (n) έχει υπολογιστεί, αφού f 1 (n)= F 1 [n] ΘΕΜΑ 21 ΜΟΝΑΔΕΣ 4 Ορίστε το πρόβλημα της εύρεσης του ελάχιστου μονοπατιού (shortest path) με αναδρομικό τρόπο ΑΠΑΝΤΗΣΗ Χρησιμοποιήστε το χώρο στο φύλο απαντήσεων για να δώσετε την απάντησή σας Ένας αναδρομικός ορισμός για το πρόβλημα της εύρεσης του ελάχιστου μονοπατιού θα ήταν ως εξής: Έστω ο γράφος G με κορυφές V=1,,n και ακμές E V V με βάρη w ij Tο ελάχιστο μονοπάτι S(s, t) από τον κόμβο s στον κόμβο t ορίζεται από την αναδρομική συνάρτηση R(s, t, A) ως εξής: R(s, t, A) = min i S {R(s, i, A \ {t + w it S(s, t) = R(s, t, V \ {t) 13

14 ΘΕΜΑ 22 ΜΟΝΑΔΕΣ 6 Έστω ο παρακάτω γράφος με τα αντίστοιχα βάρη στις ακμές του Επίσης, οι π- τιμές και οι d- τιμές που έχουν υπολογιστεί στα πλαίσια του αλγόριθμου του Dijkstra Θα μπορούσαν αυτές οι τιμές να αποτελούν αποτέλεσμα ορθής εκτέλεσης του αλγορίθμου του Dijkstra στον παρακάτω γράφο; Εάν όχι, για ποιό λόγο; Εάν ναι, είναι αυτές οι τιμές οι μοναδικές ορθές τιμές που θα μπορούσαν να προκύψουν; d=5 π=s d=8 π=a a 3 b d=0 π=nil 5 7 d=8 π=s 3 d=11 π=c s 8 c 3 d 7 d=7 π=s 2 d=10 π=c e 4 f ΑΠΑΝΤΗΣΗ Οι π- τιμές και οι d- τιμές που φαίνονται παραπάνω αποτελούν αποτέλεσμα ορθής εκτέλεσης του αλγορίθμου του Dijkstra στον παραπάνω γράφο Υπάρχει ένα ακόμα πιθανό αποτέλεσμα: ο κόμβος d μπορεί να έχει π- τιμή ίση με b Αυτό γίνεται διότι οι κόμβοι b και c έχουν την ίδια d- τιμή, και επομένως ήταν και οι δύο ταυτόχρονα στην ουρά προτεραιότητας με την ίδια προτεραιότητα, όταν ο κόμβος c επιστράφηκε από την EXTRACTMIN κλήση Έτσι, θα μπορούσε να είχε επιστραφεί ο κόμβος c αντί του κόμβου b ΘΕΜΑ 23 ΜΟΝΑΔΕΣ 3 Ποια η πολυπλοκότητα της παρακάτω συνάρτησης, η οποία υπολογίζει ακέραιες δυνάμεις (τόσο θετικές όσο και αρνητικές) πραγματικών αριθμών; double power(int x, int n) { if (n==0) return 1; if (n==1) return x; if (n>0) return power(x,n/2)*power(x,n-n/2); return 1/power(x,-n); Α Β Γ Δ E O(n 2 ) O(2 n ) O(n) O(x n ) O(nlogn) 14

15 ΘΕΜΑ 24 ΜΟΝΑΔΕΣ 4 Ποιοι από τους παρακάτω αλγορίθμους ταξινόμησης δεν μπορούν να εφαρμοστούν χωρίς σοβαρές τροποποιήσεις (οι οποίες ωστόσο έχουν ως συνέπεια την αυξημένη πολυπλοκότητα) εάν τα προς ταξινόμηση στοιχεία είναι αποθηκευμένα σε συνδεδεμένη λίστα αντί για πίνακα; ΑΠΑΝΤΗΣΗ (επιλέξτε όσες από τις παρακάτω επιλογές θεωρείτε σωστές) Α Β Γ Δ E Insertion sort Mergesort Bubblesort Heapsort Quicksort Η λειτουργία του mergesort βασίζεται στην άμεση διάσπαση ενός (υπο)πίνακα σε δύο ίσα κομμάτια, κάτι που δεν είναι δυνατό να γίνει αποδοτικά με λίστα Η λειτουργία των σωρών βασίζεται στην πρόσβαση των "γονέων" ενός κόμβου, οι οποίοι βρίσκονται σε συγκεκριμένη θέση μέσα στο δένδρο, κάτι που επίσης δεν είναι δυνατό να γίνει αποδοτικά με λίστα ΘΕΜΑ 25 ΜΟΝΑΔΕΣ 4 Μια μονάδα λογισμικού μετρά το πλήθος των σημείων του επιπέδου που βρίσκονται εντός ή επί των ορίων δακτυλίου με κέντρο την αρχή των αξόνων και ακτίνες R1 και R2 με R1>R2 όπως φαίνεται στο σχήμα Η μονάδα δέχεται ως παραμέτρους τα R1, R2, x[n], y[n] όπου x και y πίνακες με τις συντεταγμένες N σημείων Προκειμένου να γίνει ο έλεγχος της μονάδας αυτής με την τεχνική του «μαύρου κουτιού» καλείστε να περιγράψετε 3 κλάσεις εγκύρων ισοδυνάμων τιμών εισόδου και 1 κλάση άκυρων ισοδυνάμων τιμών εισόδου Υπενθυμίζεται ότι το σημείο x, y ανήκει στην περιφέρεια ενός κύκλου ακτίνας R όταν ισχύει x + y 2 = R 2 R1 R2 (x,y) ΑΠΑΝΤΗΣΗ Εγκυρες 1 r1>r2, (x,y) επί του κύκλου r1 2 r1>r2, (x,y) εντός του δακτυλίου 3 r1>r2, (x,y) επί του κύκλου r2 Ακυρες 1 r1<=r2, οποιαδήποτε άλλα δεδομένα 15

16 ΘΕΜΑ 26 ΜΟΝΑΔΕΣ 6 Να επαναλάβετε το θέμα ΥΥ δίνοντας αυτή τη φορά και 3 κλάσεις άκυρων ισοδυνάμων τιμών εισόδου θεωρώντας ότι η προς έλεγχο μονάδα λογισμικού δέχεται επιπλέον ως παράμετρο μια τιμή e η οποία ορίζει την «ανοχή» με την οποία ένα σημείο θεωρείται ότι ανήκει επί της περιφέρειας ενός κύκλου ΑΠΑΝΤΗΣΗ Εγκυρες 1 r1>r2, 0<e<r1- r2, (x,y) επί του κύκλου r1 2 r1>r2, 0<e<r1- r2, (x,y) εντός του δακτυλίου 3 r1>r2, 0<e<r1- r2, (x,y) επί του κύκλου r2 Ακυρες 1 r1<=r2, οποιαδήποτε άλλα δεδομένα 2 e<0, οποιαδήποτε άλλα δεδομένα 3 r1>r2, e>r1- r2, οποιαδήποτε άλλα δεδομένα ΘΕΜΑ 28 ΜΟΝΑΔΕΣ 3 Έστω ένα δυαδικό δένδρο αναζήτησης (ΔΔΑ), το οποίο ορίζεται με βάση την παρακάτω δομή δεδομένων: struct node { int key; struct node *left; struct node *right; ; Έστω ότι το ΔΔΑ περιλαμβάνει τα κλειδιά 1, 2, 3, 4, 5, 6 και 7, με το κλειδί 4 στη ρίζα, ενώ όλα τα κλαδιά του δένδρου έχουν το ίδιο βάθος Δίνονται οι παρακάτω τέσσερις συναρτήσεις: void print1(struct node *n) { while (n) { print1(n->left); print1(n->right); printf("%d",n->key); void print2(struct node *n) { while (n) { printf("%d",n->key); print2(n->left); print2(n->right); void print3(struct node *n) { while (n) { print3(n->left); printf("%d",n->key); print3(n->right); 16

17 void print4(struct node *n) { while (n) { print4(n->right); printf("%d",n->key); print4(n->right); Αντιστοιχείστε τις συναρτήσεις print1, print2, print3 και print4 στις παρακάτω τέσσερις εξόδους στην οθόνη ΑΠΑΝΤΗΣΗ (σημειώστε τη συνάρτηση που αντιστοιχεί σε κάθε έξοδο) Α Β Γ Δ print3 print4 print1 print2 ΘΕΜΑ 29 ΜΟΝΑΔΕΣ 4 Έστω μια απλά συνδεδεμένη λίστα που ορίζεται από τη δομή: struct node { int key; struct node *next; ; Έστω επίσης η παρακάτω συνάρτηση η οποία ταξινομεί τα στοιχεία της συνδεδεμένης λίστας σε αύξουσα σειρά χρησιμοποιώντας ταξινόμηση φυσαλίδας (bubble sort) Από τη συνάρτηση που ακολουθεί λείπει μία εντολή (αυτή που έχει αντικατασταθεί με λατινικά ερωτηματικά) Επιλέξτε τη σωστή από τις διαθέσιμες επιλογές void bubble_sort(struct node* list) { struct node *t=list; int i,j,k,c=0; while (t) { c++; t=t->next; for(i=1;i<c;i++) { t=list; for(j=1;j<i-1;j++) if (t->key>t->next->key) { k=t->key;???????????????????? t->next->key=k; Α Β Γ Δ t->next->key = t->key=; t->key=list->key; t->key= t->next->key; t->key = c+1; 17

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

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128] ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Α Περιόδου 2017 (27/1/2017) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................

Διαβάστε περισσότερα

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Εξεταστική Ιανουαρίου 2014 Διδάσκων : Ευάγγελος Μαρκάκης 20.01.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες και

Διαβάστε περισσότερα

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

Α' ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ 8 ΙΟΥΝΙΟΥ 2008 ΑΠΑΝΤΗΣΕΙΣ ΣΤΑ ΘΕΜΑΤΑ ΕΛΛΗΝΙΚΟ ΝΟΙΚΤΟ ΠΝΕΠΙΣΤΗΜΙΟ ΠΡΟΡΜΜ ΣΠΟΥΩΝ: ΜΕΤΠΤΥΧΙΚΗ ΕΞΕΙΙΚΕΥΣΗ ΣΤ ΠΛΗΡΟΦΟΡΙΚ ΣΥΣΤΗΜΤ (ΠΛΣ) ΘΕΜΤΙΚΗ ΕΝΟΤΗΤ: ΣΙΚΕΣ ΕΞΕΙΙΚΕΥΣΕΙΣ ΣΕ ΘΕΩΡΙ ΚΙ ΛΟΙΣΜΙΚΟ (ΠΛΣ50) ' ΤΕΛΙΚΗ ΕΞΕΤΣΗ 8 ΙΟΥΝΙΟΥ 2008 ΠΝΤΗΣΕΙΣ ΣΤ ΘΕΜΤ

Διαβάστε περισσότερα

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

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf(%u\n, x); Β. unsigned char ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Β Περιόδου 2015 (8/9/2015) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................

Διαβάστε περισσότερα

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

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες

Διαβάστε περισσότερα

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

Δομές δεδομένων (2) Αλγόριθμοι Δομές δεδομένων (2) Αλγόριθμοι Παράγωγοι τύποι (struct) σύνοψη προηγουμένων Πίνακες: πολλές μεταβλητές ίδιου τύπου Παράγωγοι τύποι ή Δομές (struct): ομαδοποίηση μεταβλητών διαφορετικού τύπου struct Student

Διαβάστε περισσότερα

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

Α Β Γ static; printf(%c\n, putchar( A +1)+2); B DB BD. int i = 0; while (++i); printf(*); ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Α Περιόδου 2016 (1/2/2016) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................

Διαβάστε περισσότερα

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 6. Δυαδικά Δέντρα 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 18/11/2016 Εισαγωγή Τα

Διαβάστε περισσότερα

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

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων Κατ οίκον Εργασία 3 Σκελετοί Λύσεων Άσκηση 1 (α) Έστω Α(n) και Κ(n) ο αριθμός των ακμών και ο αριθμός των κόμβων ενός αυστηρά δυαδικού δένδρου με n φύλλα. Θέλουμε να αποδείξουμε για κάθε n 1 την πρόταση

Διαβάστε περισσότερα

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

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 12: Δέντρα ΙΙ -Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης(ΔΔΑ) - Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου - Εισαγωγή

Διαβάστε περισσότερα

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

Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης (ΔΔΑ) Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου Εισαγωγή στοιχείου

Διαβάστε περισσότερα

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

Αλγόριθμοι Ταξινόμησης Μέρος 1 Αλγόριθμοι Ταξινόμησης Μέρος 1 Μανόλης Κουμπαράκης 1 Το Πρόβλημα της Ταξινόμησης Το πρόβλημα της ταξινόμησης (sorting) μιας ακολουθίας στοιχείων με κλειδιά ενός γνωστού τύπου (π.χ., τους ακέραιους ή τις

Διαβάστε περισσότερα

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

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΠΑΤΡΑ) ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΠΑΤΡΑ) ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Γιάννης Κουτσονίκος Επίκουρος Καθηγητής Οργάνωση Δεδομένων Δομή Δεδομένων: τεχνική οργάνωσης των δεδομένων με σκοπό την

Διαβάστε περισσότερα

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

Διδάσκων: Κωνσταντίνος Κώστα Διάλεξη Ε4: Επανάληψη Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή σε δενδρικές δομές δεδομένων, Δυαδικά Δένδρα Αναζήτησης Ισοζυγισμένα Δένδρα & 2-3 Δένδρα Διδάσκων: Κωνσταντίνος

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής Ενότητα 8: Γραμμική Αναζήτηση και Δυαδική Αναζήτηση-Εισαγωγή στα Δέντρα και Δυαδικά Δέντρα-Δυαδικά Δέντρα Αναζήτησης & Υλοποίηση ΔΔΑ με δείκτες Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

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

ιαφάνειες παρουσίασης #11 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ http://www.corelab.ece.ntua.gr/courses/programming/ ιδάσκοντες: Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης

Διαβάστε περισσότερα

Δοµές Δεδοµένων. 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων. Ε. Μαρκάκης

Δοµές Δεδοµένων. 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων. Ε. Μαρκάκης Δοµές Δεδοµένων 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων Ε. Μαρκάκης Περίληψη Quicksort Χαρακτηριστικά επιδόσεων Μη αναδροµική υλοποίηση Δέντρα Μαθηµατικές ιδιότητες Δοµές Δεδοµένων 11-2

Διαβάστε περισσότερα

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

Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 7: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου Διδάσκων:

Διαβάστε περισσότερα

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 17 Σωροί (Heaps) έκδοση 10 1 / 19 Heap Σωρός Ο σωρός είναι μια μερικά ταξινομημένη δομή δεδομένων που υποστηρίζει

Διαβάστε περισσότερα

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ Δομές Δεδομένων (Εργ.) Ακ. Έτος 2017-18 Διδάσκων: Ευάγγελος Σπύρου Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης 1. Στόχος του εργαστηρίου Στόχος του δέκατου εργαστηρίου

Διαβάστε περισσότερα

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

Μάθημα 22: Δυαδικά δέντρα (Binary Trees) Trees Page 1 Μάθημα 22: Δυαδικά δέντρα (Binary Trees) Ένα δένδρο είναι δυαδικό αν όλοι οι κόμβοι του έχουν βαθμό (degree)

Διαβάστε περισσότερα

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

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε μία αναδρομική συνάρτηση που θα παίρνει ως παράμετρο ένα δείκτη στη ρίζα ενός δυαδικού δένδρου και θα επιστρέφει το βαθμό του

Διαβάστε περισσότερα

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

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί

Διαβάστε περισσότερα

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Πτυχιακή Εξεταστική Ιούλιος 2014 Διδάσκων : Ευάγγελος Μαρκάκης 09.07.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες

Διαβάστε περισσότερα

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 18 Dijkstra s Shortest Path Algorithm 1 / 12 Ο αλγόριθμος εύρεσης της συντομότερης διαδρομής του Dijkstra

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ EPL035: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΠΝΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜ ΠΛΗΡΟΦΟΡΙΚΗΣ EPL035: ΔΟΜΣ ΔΔΟΜΝΩΝ ΚΙ ΛΓΟΡΙΘΜΟΙ ΗΜΡΟΜΗΝΙ: 14/11/2018 ΔΙΓΝΩΣΤΙΚΟ ΠΝΩ Σ ΔΝΔΡΙΚΣ ΔΟΜΣ ΚΙ ΓΡΦΟΥΣ Διάρκεια: 45 λεπτά Ονοματεπώνυμο:. ρ. Ταυτότητας:. ΒΘΜΟΛΟΓΙ ΣΚΗΣΗ ΒΘΜΟΣ

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ00 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 01-15

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Γραφήματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Γραφήματα Κατευθυνόμενο Γράφημα Ένα κατευθυνόμενο γράφημα G είναι ένα ζευγάρι (V, E) όπου V είναι ένα

Διαβάστε περισσότερα

4 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

4 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων 4 η Διάλεξη Ενδεικτικές λύσεις ασκήσεων 1 Περιεχόμενα 1 η Άσκηση... 3 2 η Άσκηση... 3 3 η Άσκηση... 4 4 η Άσκηση... 5 5 η Άσκηση... 6 6 η Άσκηση... 7 Χρηματοδότηση... 8 Σημείωμα Αναφοράς... 9 Σημείωμα

Διαβάστε περισσότερα

Γράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών

Γράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 1 2 3 4 5 πλήθος κορυφών πλήθος ακμών Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από

Διαβάστε περισσότερα

ΑΛΓΟΡΙΘΜΟΙ ΜΕ C. ΝΙΚΟΛΑΟΣ ΣΑΜΑΡΑΣ Αναπληρωτής Καθηγητής. CMOR Lab. Computational Methodologies and Operations Research

ΑΛΓΟΡΙΘΜΟΙ ΜΕ C. ΝΙΚΟΛΑΟΣ ΣΑΜΑΡΑΣ Αναπληρωτής Καθηγητής. CMOR Lab. Computational Methodologies and Operations Research ΑΛΓΟΡΙΘΜΟΙ ΜΕ C ΝΙΚΟΛΑΟΣ ΣΑΜΑΡΑΣ Αναπληρωτής Καθηγητής CMOR Lab Computational Methodologies and Operations Research Δέντρα (5) Τ ένα δέντρο i ένας κόμβος στο επίπεδο k j ένας κόμβος στο επίπεδο k+1 } :

Διαβάστε περισσότερα

Εργαστηριακή Άσκηση 1

Εργαστηριακή Άσκηση 1 Εργαστηριακή Άσκηση 1 Επανάληψη προγραμματισμού Βασικοί Αλγόριθμοι Είσοδος τιμών από το πληκτρολόγιο Σε όλα τα προγράμματα που θα γράψουμε στην συνέχεια του εξαμήνου θα χρειαστεί να εισάγουμε τιμές σε

Διαβάστε περισσότερα

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Βασικές Ιδιότητες και Διάσχιση Κεφάλαιο 5 ( και ) Ε. Μαρκάκης Επίκουρος Καθηγητής

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Βασικές Ιδιότητες και Διάσχιση Κεφάλαιο 5 ( και ) Ε. Μαρκάκης Επίκουρος Καθηγητής ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Βασικές Ιδιότητες και Διάσχιση Κεφάλαιο 5 (5.1-5.2 και 5.4-5.6) Ε. Μαρκάκης Επίκουρος Καθηγητής Περίληψη Δέντρα Βασικοί ορισµοί Μαθηµατικές ιδιότητες Διάσχιση δέντρων Preorder, postorder,

Διαβάστε περισσότερα

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα Φεβρουαρίου 0 / ένδρα Ενα δένδρο είναι

Διαβάστε περισσότερα

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

Διάλεξη 22: Δυαδικά Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 22: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης - Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β 1. (10 μον.) Απαντήστε σωστό ή λάθος στις παρακάτω ερωτήσεις (αʹ) _2togo είναι έγκυρο όνομα μεταβλητής (βʹ) Αν p είναι δείκτης στο πρώτο στοιχείο

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ100) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

Διαβάστε περισσότερα

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 10: Λίστες Υλοποίηση & Εφαρμογές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ευθύγραμμες Απλά Συνδεδεμένες Λίστες (εύρεση, εισαγωγή, διαγραφή) Σύγκριση Συνδεδεμένων Λιστών με Πίνακες

Διαβάστε περισσότερα

Εργαστήριο 2: Πίνακες

Εργαστήριο 2: Πίνακες Εργαστήριο 2: Πίνακες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Επεξεργασία Πινάκων - Υλοποίηση της Δυαδικής Αναζήτησης σε πίνακες - Υλοποίηση της Ταξινόμησης με Επιλογής σε πίνακες ΕΠΛ035

Διαβάστε περισσότερα

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΟΔΗΓΙΕΣ: ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ - ΠΛΗ10 ΤΕΛΙΚΕΣ ΕΞΕΤΑΣΕΙΣ - 15 ΙΟΥΝΙΟΥ 2014 Τα θέματα που έχετε στα χέρια σας είναι τρεις (3) σελίδες. Επιβεβαιώστε το και αν λείπει κάποια σελίδα ή

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 23: οµές εδοµένων και Αλγόριθµοι Ενδιάµεση Εξέταση Ηµεροµηνία : ευτέρα, 3 Νοεµβρίου 2008 ιάρκεια : 2.00-4.00 ιδάσκουσα : Άννα Φιλίππου Ονοµατεπώνυµο: ΣΚΕΛΕΤΟΙ

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Πληροφορικής

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Πληροφορικής ΕΠΛ132 Άσκηση 4 - Αρχές Προγραμματισμού ΙΙ Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου Ι. Στόχοι ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Πληροφορικής ΕΠΛ 132 Αρχές Προγραμματισμού ΙΙ Άσκηση 4 Αυτόματη Επίλυση του Παιχνιδιού

Διαβάστε περισσότερα

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 22 Counting sort, bucket sort και radix sort 1 / 16 Ιδιότητες αλγορίθμων ταξινόμησης ευστάθεια (stable

Διαβάστε περισσότερα

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

Διαβάστε περισσότερα

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΟΔΗΓΙΕΣ: ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ - ΠΛΗ10 ΤΕΛΙΚΕΣ ΕΞΕΤΑΣΕΙΣ - 14 ΙΟΥΝΙΟΥ 2015 Τα θέματα που έχετε στα χέρια σας είναι σε τρεις (3) σελίδες. Επιβεβαιώστε το και αν λείπει κάποια σελίδα

Διαβάστε περισσότερα

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

Αλγόριθμοι Ταξινόμησης Μέρος 2 Αλγόριθμοι Ταξινόμησης Μέρος 2 Μανόλης Κουμπαράκης 1 Προχωρημένοι Αλγόριθμοι Ταξινόμησης Στη συνέχεια θα παρουσιάσουμε τρείς προχωρημένους αλγόριθμους ταξινόμησης: treesort, quicksort και mergesort. 2

Διαβάστε περισσότερα

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 17: Λύση Προβλημάτων με Αναδρομή Οι πύργοι του Hanoi Δίνεται ένα χώρος με τρεις θέσεις αποθήκευσης. Δίνεται μια στοίβα από Ν πλάκες σε φθίνον μέγεθος, σε μια από τις τρεις

Διαβάστε περισσότερα

Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort

Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Η διαδικασία PercolateDown, Δημιουργία Σωρού O Αλγόριθμος Ταξινόμησης HeapSort Υλοποίηση, Παραδείγματα

Διαβάστε περισσότερα

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

Ταξινόμηση κάδου και ταξινόμηση Ρίζας Bucket-Sort και Radix-Sort Ταξινόμηση κάδου και ταξινόμηση Ρίζας Bucket-Sort και Radix-Sort 1, c 3, a 3, b 7, d 7, g 7, e B 0 1 3 4 5 6 7 8 9 1 BucketSort (Ταξινόμηση Κάδου) - Αρχικά θεωρείται ένα κριτήριο κατανομής με βάση το οποίο

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2014-15

Διαβάστε περισσότερα

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

που θα δώσει αποτέλεσµα 48, λόγω της αριστερής προσεταιριστικότητας των τελεστών / και *, ενώ η επιθυµητή αντικατάσταση θα ήταν η ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ενδεικτικές Απαντήσεις Εξετάσεων Α' Περιόδου 2013 Θέµα 1 (α') Η απάντηση είναι λάθος. Αν χρησιµοποιήσουµε την µακροεντολή, για παράδειγµα, στην έκφραση 24/CUBE(2) η έκφραση

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ενδεικτικές Απαντήσεις Εξετάσεων Α' Περιόδου Θέµα 1. (α') 2 - ii 3 - iii 4 - iv

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ενδεικτικές Απαντήσεις Εξετάσεων Α' Περιόδου Θέµα 1. (α') 2 - ii 3 - iii 4 - iv ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ενδεικτικές Απαντήσεις Εξετάσεων Α' Περιόδου 2011 Θέµα 1 (α') 1 - i 2 - ii 3 - iii 4 - iv 5 - v 6 - vi 7 - vii 8 - viii 9 - ix 10 - x Το αποτέλεσµα είναι η αντιστοιχία των

Διαβάστε περισσότερα

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

Δομές Δεδομένων & Αλγόριθμοι - Δυαδικά Δένδρα (binary trees) - Δυαδικά Δένδρα Αναζήτησης (binary search trees) 1 Δυαδικά Δένδρα Ορισμοί Λειτουργίες Υλοποιήσεις ΑΤΔ Εφαρμογές 2 Ορισμοί (αναδρομικός ορισμός) Ένα δένδρο t είναι ένα πεπερασμένο

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2011-2012 Επιμέλεια: Ομάδα Διαγωνισμάτων από το Στέκι των Πληροφορικών Θέμα Α Α1. Να γράψετε στο τετράδιό σας τον

Διαβάστε περισσότερα

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

Αναδρομικοί Αλγόριθμοι Αναδρομικός αλγόριθμος (recursive algorithm) Επιλύει ένα πρόβλημα λύνοντας ένα ή περισσότερα στιγμιότυπα του ίδιου προβλήματος. Αναδρομικός αλγόριθμος (recursive algorithm) Επιλύει ένα πρόβλημα λύνοντας

Διαβάστε περισσότερα

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Πρόβλημα 1 Το πρώτο πρόβλημα λύνεται με τη μέθοδο του Δυναμικού Προγραμματισμού. Για να το λύσουμε με Δυναμικό Προγραμματισμό

Διαβάστε περισσότερα

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 14 Στοίβες 1 / 14 Στοίβες Η στοίβα είναι μια ειδική περίπτωση γραμμικής λίστας στην οποία οι εισαγωγές

Διαβάστε περισσότερα

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

Εργασία 3 Σκελετοί Λύσεων Εργασία 3 Σκελετοί Λύσεων Άσκηση 1 Χρησιμοποιούμε τη δομή typedef struct TNode{ int key; struct TNode *left; struct TNode *right; tnode; και υποθέτουμε πως ένα δυαδικό δένδρο είναι υλοποιημένο ως δείκτης

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Δομές Δεδομένων & Αλγόριθμοι Δομές Δεδομένων & Αναζήτηση & Ταξινόμηση 1 Αναζήτηση Έχω έναν πίνακα Α με Ν στοιχεία. Πρόβλημα: Βρες αν το στοιχείο x ανήκει στον πίνακα Αν ο πίνακας είναι αταξινόμητος τότε μόνη λύση σειριακή αναζήτηση

Διαβάστε περισσότερα

Προγραμματιστικές Τεχνικές

Προγραμματιστικές Τεχνικές Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Προγραμματιστικές Τεχνικές Βασίλειος Βεσκούκης Δρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Ρωμύλος Κορακίτης

Διαβάστε περισσότερα

Δένδρα. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:

Δένδρα. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή σε δενδρικές δομές δεδομένων, ορισμοί, πράξεις και αναπαράσταση στη μνήμη ΔυαδικάΔένδρακαιΔυαδικάΔένδραΑναζήτησης ΕΠΛ 231 Δομές

Διαβάστε περισσότερα

13/5/2015 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ. Δομές Δεδομένων. Ουρές Προτεραιότητας

13/5/2015 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ. Δομές Δεδομένων. Ουρές Προτεραιότητας ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ Δομές Δεδομένων Τι θα δούμε Ουρές προτεραιότητας Πράξεις Διωνυμικές Ουρές Διωνυμικά Δέντρα Διωνυμικοί Σωροί Ουρές Fibonacci Αναπαράσταση Πράξεις Ανάλυση Συγκρίσεις Ουρές προτεραιότητας

Διαβάστε περισσότερα

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

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής ισαγωγή στην πιστήμη των Υπολογιστών 2015-16 λγόριθμοι και ομές εδομένων (IΙ) (γράφοι και δένδρα) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης φηρημένες

Διαβάστε περισσότερα

#4. Heaps (σωροί), η ταξινόμηση HeapSort, η δομή std::priority_queue της STL

#4. Heaps (σωροί), η ταξινόμηση HeapSort, η δομή std::priority_queue της STL Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Σχολή Τεχνολογικών Εφαρμογών Ακαδημαϊκό έτος 2016-2017 ΤΕΙ Ηπείρου - Άρτα Δομές Δεδομένων και Αλγόριθμοι (εργαστήριο) Γκόγκος Χρήστος #4. Heaps (σωροί), η ταξινόμηση HeapSort,

Διαβάστε περισσότερα

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 9: Συναρτήσεις Ορισμός συναρτήσεων () { /* δήλωση μεταβλητών */ /* εντολές ελέγχου/επεξεργασίας */ o Μια συνάρτηση ορίζεται δίνοντας

Διαβάστε περισσότερα

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εργαστήριο 8η σειρά ασκήσεων. Κοζάνη, 7 Δεκεμβρίου 2007. Κάθε πρόγραμμα εξαρτάται από αλγόριθμους και δομές δεδομένων, αλλά μόνο λίγα απαιτούν κάποια καινοτομία

Διαβάστε περισσότερα

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

ΕΝΟΤΗΤΑ 7 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ ΣΩΡΟΙ ΕΝΟΤΗΤΑ 7 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ ΣΩΡΟΙ Ουρές Προτεραιότητας (Priority Queues) Θεωρούµε ότι τα προς αποθήκευση στοιχεία έχουν κάποια διάταξη (καθένα έχει µια προτεραιότητα). Τα προς αποθήκευση στοιχεία είναι

Διαβάστε περισσότερα

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2)

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2) Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Οργάνωση Προγράµµατος Header Files Μετάφραση και σύνδεση αρχείων προγράµµατος ΕΠΛ 132 Αρχές Προγραµµατισµού

Διαβάστε περισσότερα

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

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα). Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2016-2017. Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Διαβάστε περισσότερα

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 17: Λύση Προβλημάτων με Αναδρομή Οι πύργοι του Hanoi Δίνεται ένα χώρος με τρεις θέσεις αποθήκευσης. Δίνεται μια στοίβα από Ν πλάκες σε φθίνον μέγεθος, σε μια από τις τρεις

Διαβάστε περισσότερα

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

Περιεχόμενα. Πρόλογος... 17 Περιεχόμενα Πρόλογος... 17 Κεφάλαιο 1: Εισαγωγή... 19 Πώς να διαβάσετε αυτό το βιβλίο... 20 Η γλώσσα C Ιστορική αναδρομή... 22 Τα χαρακτηριστικά της C... 23 C Μια δομημένη γλώσσα... 23 C Μια γλώσσα για

Διαβάστε περισσότερα

Σχεδίαση και Ανάλυση Αλγορίθμων

Σχεδίαση και Ανάλυση Αλγορίθμων Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα.0 Σταύρος Δ. Νικολόπουλος 06-7 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Ταξινόμηση Selection-Sort Bubble-Sort και

Διαβάστε περισσότερα

Ουρές Προτεραιότητας: Υπενθύμιση. Σωροί / Αναδρομή / Ταξινόμηση. Υλοποίηση Σωρού. Σωρός (Εισαγωγή) Ορέστης Τελέλης

Ουρές Προτεραιότητας: Υπενθύμιση. Σωροί / Αναδρομή / Ταξινόμηση. Υλοποίηση Σωρού. Σωρός (Εισαγωγή) Ορέστης Τελέλης Ουρές Προτεραιότητας: Υπενθύμιση Σωροί / Αναδρομή / Ταξινόμηση Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς (Abstract Data Type) με μεθόδους: Μπορεί να υλοποιηθεί με

Διαβάστε περισσότερα

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

Δομές Δεδομένων & Αλγόριθμοι Δομές Δεδομένων & Αναζήτηση & Ταξινόμηση 1 Αναζήτηση Έχω έναν πίνακα Α με Ν στοιχεία. Πρόβλημα: Βρες αν το στοιχείο x ανήκει στον πίνακα Αν ο πίνακας είναι αταξινόμητος τότε μόνη λύση σειριακή αναζήτηση

Διαβάστε περισσότερα

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

Κατ οίκον Εργασία 2 Σκελετοί Λύσεων Κατ οίκον Εργασία 2 Σκελετοί Λύσεων Άσκηση 1 Ο ζητούμενος ΑΤΔ μπορεί να υλοποιηθεί ως μια ακολουθία από στοιχεία τύπου window συνοδευόμενη από τις πράξεις: MakeNewWindow(L,w) Destroy(L,w) SwitchTo(L,w)

Διαβάστε περισσότερα

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #5 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #5 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #5 2 Γενικά Στο Τετράδιο #5 του Εργαστηρίου θα ασχοληθούμε με πιο προχωρημένα θέματα υλοποίησης

Διαβάστε περισσότερα

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

Άσκηση 3 (ανακοινώθηκε στις 24 Απριλίου 2017, προθεσμία παράδοσης: 2 Ιουνίου 2017, 12 τα μεσάνυχτα). Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2016-2017. Άσκηση 3 (ανακοινώθηκε στις 24 Απριλίου 2017, προθεσμία παράδοσης: 2 Ιουνίου 2017, 12 τα μεσάνυχτα).

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 8: Αφαίρεση δεδοµένων

ΚΕΦΑΛΑΙΟ 8: Αφαίρεση δεδοµένων ΚΕΦΑΛΑΙΟ 8: Αφαίρεση δεδοµένων 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Σχετικές έννοιες 8.3 Υλοποίηση δοµών δεδοµένων 8.4 Μια σύντοµη µελέτη περίπτωσης 8.5 Προσαρµοσµένοι τύποι δεδοµένων 1 Βασικές δοµές

Διαβάστε περισσότερα

Προγραμματιστικές Τεχνικές

Προγραμματιστικές Τεχνικές Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Προγραμματιστικές Τεχνικές Βασίλειος Βεσκούκης Δρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ Επικ. Καθηγητής ΕΜΠ v.vescoukis@cs.ntua.gr

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού και κατασκευή BFS δένδρου σε σύγχρονο γενικό δίκτυο Παναγιώτα Παναγοπούλου Περίληψη Εκλογή αρχηγού σε γενικά δίκτυα Ορισμός του προβλήματος Ο αλγόριθμος FloodMax

Διαβάστε περισσότερα

Δομές Δεδομένων. Ενότητα 2: Στοίβες Εισαγωγή-Υλοποίηση ΑΤΔ Στοίβα με Πίνακα-Εφαρμογή Στοίβας: Αντίστροφη Πολωνική Γραφή. Καθηγήτρια Μαρία Σατρατζέμη

Δομές Δεδομένων. Ενότητα 2: Στοίβες Εισαγωγή-Υλοποίηση ΑΤΔ Στοίβα με Πίνακα-Εφαρμογή Στοίβας: Αντίστροφη Πολωνική Γραφή. Καθηγήτρια Μαρία Σατρατζέμη Ενότητα 2: Στοίβες Εισαγωγή-Υλοποίηση ΑΤΔ Στοίβα με Πίνακα-Εφαρμογή Στοίβας: Αντίστροφη Πολωνική Γραφή Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

Προγραμματιστικές Ασκήσεις, Φυλλάδιο 1

Προγραμματιστικές Ασκήσεις, Φυλλάδιο 1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ C Προγραμματιστικές Ασκήσεις, Φυλλάδιο Εκφώνηση: 9/3/0 Παράδοση: 5/4/0,.59 Άσκηση 0 η : Το πρόβλημα της βελόνας του Buffon Θέμα της εργασίας

Διαβάστε περισσότερα

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8 Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 1000 1001 1002 1003 1004 1005 12 9.8 9976 3 1010 26 1006 1007 1008 1009 1010 1011 16 125 1299 a 13 1298 Δήλωση Δήλωση Τύπος

Διαβάστε περισσότερα

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού σε γενικά δίκτυα 20 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Εκλογή αρχηγού σε γενικά δίκτυα Προηγούμενη διάλεξη Σύγχρονα Κατανεμημένα Συστήματα Μοντελοποίηση συστήματος Πρόβλημα εκλογής αρχηγού

Διαβάστε περισσότερα

Heapsort Using Multiple Heaps

Heapsort Using Multiple Heaps sort sort Using Multiple s. Λεβεντέας Χ. Ζαρολιάγκης Τµήµα Μηχανικών Η/Υ & Πληροφορικής 29 Αυγούστου 2008 sort 1 Ορισµός ify Build- 2 sort Πως δουλεύει Ιδιότητες 3 4 Προβλήµατα Προτάσεις Ανάλυση Κόστους

Διαβάστε περισσότερα

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

Εργαστήριο 8: Αναδρομική διεργασία εισαγωγής καινούριου κόμβου σε ΔΔΑ Εργαστήριο 8: Αναδρομική διεργασία εισαγωγής καινούριου κόμβου σε ΔΔΑ Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Αναδρομική διεργασία εισαγωγής καινούριου κόμβου σε ΔΔΑ με αλφαβητική σειρά

Διαβάστε περισσότερα

Διασυνδεδεμένες Δομές. Δυαδικά Δέντρα. Προγραμματισμός II 1

Διασυνδεδεμένες Δομές. Δυαδικά Δέντρα. Προγραμματισμός II 1 Διασυνδεδεμένες Δομές Δυαδικά Δέντρα Προγραμματισμός II 1 lalis@inf.uth.gr Δέντρα Τα δέντρα είναι κλασικές αναδρομικές δομές Ένα δέντρο αποτελείται από υποδέντρα, καθένα από τα οποία μπορεί να θεωρηθεί

Διαβάστε περισσότερα

Υλοποίηση Λιστών. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:

Υλοποίηση Λιστών. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Υλοποίηση Λιστών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ευθύγραμμές Απλά και Διπλά Συνδεδεμένες Λίστες Κυκλικές Απλά και Διπλά Συνδεδεμένες Λίστες Τεχνικές Μείωσης Μνήμης ΕΠΛ 231 Δομές

Διαβάστε περισσότερα

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος

Διαβάστε περισσότερα

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Άσκηση αυτοαξιολόγησης 3-4 Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητες 3 & 4: ένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε

Διαβάστε περισσότερα

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

Αναδρομή Ανάλυση Αλγορίθμων Αναδρομή Ανάλυση Αλγορίθμων Παράδειγμα: Υπολογισμός του παραγοντικού Ορισμός του n! n! = n x (n - 1) x x 2 x 1 Ο παραπάνω ορισμός μπορεί να γραφεί ως n! = 1 αν n = 0 n x (n -1)! αλλιώς Παράδειγμα (συνέχ).

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 2 η

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 2 η Δ.Π.Θ. - Πολυτεχνική Σχολή Τμήμα Μηχανικών Παραγωγής & Διοίκησης Ακαδ. έτος 2017-2018 Τομέας Συστημάτων Παραγωγής Εξάμηνο Β Αναπληρωτής Καθηγητής Στέφανος Δ. Κατσαβούνης ΜΑΘΗΜΑ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Διαβάστε περισσότερα

Ταξινόμηση. Σαλτογιάννη Αθανασία

Ταξινόμηση. Σαλτογιάννη Αθανασία Ταξινόμηση Σαλτογιάννη Αθανασία Ταξινόμηση Ταξινόμηση Τι εννοούμε όταν λέμε ταξινόμηση; Ταξινόμηση Τι εννοούμε όταν λέμε ταξινόμηση; Ποια είδη αλγορίθμων ταξινόμησης υπάρχουν; Ταξινόμηση Τι εννοούμε όταν

Διαβάστε περισσότερα

Θεωρήστε ένα puzzle (παιχνίδι σπαζοκεφαλιάς) με την ακόλουθη αρχική διαμόρφωση : b b b w w w e

Θεωρήστε ένα puzzle (παιχνίδι σπαζοκεφαλιάς) με την ακόλουθη αρχική διαμόρφωση : b b b w w w e Άσκηση 1 Θεωρήστε ένα puzzle (παιχνίδι σπαζοκεφαλιάς) με την ακόλουθη αρχική διαμόρφωση : b b b w w w e Υπάρχουν τρία μαύρα τετραγωνάκια (b), τρία άσπρα (w) και ένα κενό (e). Η σπαζοκεφαλιά έχει τις ακόλουθες

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα