Διάλεξη 17: Επανάληψη για την ενδιάμεση εξέταση. Διδάσκων: Παναγιώτης Ανδρέου. ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.

Σχετικά έγγραφα
Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Παναγιώτης Ανδρέου

Διάλεξη 17: Επανάληψη για την ενδιάμεση εξέταση. Διδάσκων: Παναγιώτης Ανδρέου. ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.

Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ ΕΠΛ 035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. και Μηχ. Υπολ.

Διάλεξη 04: Παραδείγματα Ανάλυσης

Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων

Στοίβες με Δυναμική Δέσμευση Μνήμης

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

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

Εργαστήριο 4: Υλοποίηση Αφηρημένου Τύπου Δεδομένων: Ταξινομημένη Λίστα

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

Εργαστήριο 6: Αναζήτηση, Ανάλυση Πολυπλοκότητας

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

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

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

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

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι. 3. Πολυπλοκότητα Αλγορίθμων

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

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

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

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

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

Βασικές Δομές Δεδομένων

Διάλεξη 9: Αφηρημένοι Τύποι Δεδομένων. Διδάσκων: Παναγιώτης Ανδρέου

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

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

Φροντιστήριο 4 Σκελετοί Λύσεων

Εργαστήριο 5: Υλοποίηση Αφηρημένου Τύπου Δεδομένων: Διπλά Συνδεδεμένη Λίστα

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

Διάλεξη 13: Δομές Δεδομένων ΙΙ (Ταξινομημένες Λίστες)

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 2 ΛΥΣΕΙΣ Γραμμικές Δομές Δεδομένων, Ταξινόμηση

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

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

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

Διάλεξη 2: Επανάληψη Προγραμματισμού Συμβολοσειρές (strings) Διδάσκων: Παναγιώτης Ανδρέου

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

υναµικές οµές εδοµένων

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

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

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

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

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

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

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

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

Διάλεξη 10: Δομές Δεδομένων Ι (Στοίβες & Ουρές)

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

Διάλεξη 19: Αλγόριθμοι ΤαξινόμησηςII. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 15: Δομές Δεδομένων IV (Διπλά Συνδεδεμένες Λίστες)

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

Φροντιστήριο 4 Σκελετοί Λύσεων

Ενότητα 2: Στοίβες Ουρές - Λίστες Ασκήσεις και Λύσεις

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

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

Διάλεξη 15: Δομές Δεδομένων IV (Διπλά Συνδεδεμένες Λίστες)

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

Υπολογιστικά & Διακριτά Μαθηματικά

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

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

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

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

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

ΣΕΙΡΕΣ ΠΡΑΓΜΑΤΙΚΩΝ ΑΡΙΘΜΩΝ

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

υναµικές οµές εδοµένων (συν.) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα:

Πανεπιστήµιο Θεσσαλίας, THMMY HY120, Σεπτέµβριος 2015 ΟΝΟΜΑΤΕΠΩΝΥΜΟ:

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

Προγραμματισμός Υπολογιστών με C++

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

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

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

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

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

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

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

(Γραμμικές) Αναδρομικές Σχέσεις

Δηάιεμε 9: Σηνίβεο:Υινπνίεζε & Εθαξκνγέο

(Γραμμικές) Αναδρομικές Σχέσεις

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

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

(Γραμμικές) Αναδρομικές Σχέσεις

Διάλεξη 5: Δείκτες και Συναρτήσεις

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Transcript:

Διάλεξη 7: Επανάληψη για την ενδιάμεση εξέταση Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ35 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.

ΑΠΟΡΙΕΣ ΕΠΛ35 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.

Είναι ισοδύναμα; typedef struct ode { t data; struct ode *ext; NODE; A. NODE ; B. NODE *; ΟΧΙ ΕΠΛ35 Δομές Δεδομένων και Αλγόριθμοι για 3

Είναι ισοδύναμα; typedef struct ode { t data; struct ode *ext; NODE; A. NODE ; B. structode ; ΝΑΙ ΕΠΛ35 Δομές Δεδομένων και Αλγόριθμοι για 4

Τι χρειάζεται να προστεθεί για να είναι ισοδύναμα; typedef struct ode { t data; struct ode *ext; NODE; NODE ; struct ode { t data; struct ode *ext; ;??? NODE ; A. eum NODE{ode; C. typedef ode NODE; B. #defe NODE ode D. Καμία από τις επιλογές! ΕΠΛ35 Δομές Δεδομένων και Αλγόριθμοι για 5

Ποιο είναι το σωστό; typedef struct studet { char* ame; t d; ; studet studets[]; A. studets[5]->ame test ; B. studets[5].ame test ; C. *(studets+5).ame test ; D. Καμία από τις επιλογές! ΕΠΛ35 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 6

Ποιο είναι το σωστό; typedef struct studet { char* ame; t d; ; studet *s; A.*s.ame test ; B. (*s).ame test ; C. s->ame test ; D. Καμία από τις επιλογές! ΕΠΛ35 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 7

Ποιο είναι το σωστό; typedef struct studet { char* ame; t d; ; studet *s; A.s malloc( szeof( studet ) ); B. s (studet*) malloc( szeof( studet ) ); C. s (studet*) malloc( szeof( studet* ) ); D. Καμία από τις επιλογές! ΕΠΛ35 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 8

Ποιο είναι το σωστό; char* str NULL; str (char*) malloc( szeof( (char) ) * ); str ths s a test ; prtf( %s, str); A.ths s a test B. ths C. th D. Comple error E. Segmetato Fault ΕΠΛ35 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 9

Ποιο είναι το σωστό; t a[] {5, 5, 34, 54, 4,, 5, 7; t *p &a[]; t *q &a[]; prtf("%d", q-p); A.9 B. C. 8 D. Comple error ΕΠΛ35 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.

Ποιο είναι το σωστό; typedef struct Studet{ char *ame; t d; ; t ma() { Studet *s; s->d 3456; A. Ο κώδικας θα δημιουργήσει σφάλμα rutme. B. Ο κώδικας δεν κάνει comple. C. H αρχικοποίηση έπρεπε να ήταν p.d3456; D. Ο κώδικας είναι σωστός. ΕΠΛ35 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.

Ποιο είναι το σωστό; //Θεωρείστε υλοποίηση στοίβας όπως στις διαλέξεις STACK s; για να αρχικοποιήσουμε την στοίβα; A. MakeEmpty(s); B. MakeEmpty(*s); C. MakeEmpty(&s); D. Η στοίβα είναι ήδη αρχικοποιημένη E. Καμία από τις επιλογές! ΕΠΛ35 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.

Ποιο είναι το σωστό; //Θεωρείστε υλοποίηση στοίβας όπως στις διαλέξεις STACK *s; για να αρχικοποιήσουμε την στοίβα; A. MakeEmpty(s); B. MakeEmpty(*s); C. MakeEmpty(&s); D. Η στοίβα είναι ήδη αρχικοποιημένη E. Καμία από τις επιλογές! ΕΠΛ35 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 3

Δεδομένης μίας υλοποίησης στοίβας με ΔΔΜ typedef struct ode { t data; struct ode *ext; NODE; typedef struct stack { NODE *head; t sze; STACK; το πιο κάτω είναι Σωστό ή Λάθος; vod Pop(STACK *S) { NODE *p NULL; p S->head; S->head p->ext; free(p); (S->sze)--; ΛΑΘΟΣ ΕΠΛ35 Δομές Δεδομένων και Αλγόριθμοι για 4

Δεδομένης μίας υλοποίησης στοίβας με ΔΔΜ typedef struct ode { t data; struct ode *ext; NODE; typedef struct stack { NODE *head; t sze; STACK; το πιο κάτω είναι Σωστό ή Λάθος; t IsEmpty(STACK *S) { retur (S->sze ); ΣΩΣΤΟ ΕΠΛ35 Δομές Δεδομένων και Αλγόριθμοι για 5

Δεδομένης μίας υλοποίησης στοίβας με ΔΔΜ typedef struct ode { t data; struct ode *ext; NODE; typedef struct stack { NODE *head; t sze; STACK; το πιο κάτω είναι Σωστό ή Λάθος; vod Push(STACK *S, t x){ NODE *p NULL; p->data x; p->ext S->head; S->head p; (S->sze) ++; ΛΑΘΟΣ ΕΠΛ35 Δομές Δεδομένων και Αλγόριθμοι για 6

Μαθηματική Επαγωγή Να αποδείξετε ότι + 3+ 5+... + ( ) για >. Απόδειξη: Επαληθεύουμε την Π() ως εξής: Υποθέτουμε ότι ισχύει η Π(k), δηλαδή ότι Και θα αποδείξουμε ότι ισχύει η Π(k+): + 3+ 5+... + (k ) + (( k+ ) ) [ + 3+ 5+... + (k )] + (k+ ) k + k+ [Επαγωγική υπόθεση] ( k+) [Το οποίο είναι το ζητούμενο] + 3+ 5+... + (k ) k + 3+ 5+... + (( k+ ) ) ( k+ ) ΕΠΛ35 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 7

Επανάληψη Χρήσιμων Μαθηματικών Ορισμών Ορισμός: log x a b ff x b a Χρήσιμοι νόμοι λογάριθμων: log ab log a+ log b log a b b. log a log a b log a log b log a b (log c b) (log c a) b log bx x log a log (log ) log * log log log +logxlog log (commo), log e (l-atural), log (lg-bary) π.χ.,log log log δεν ορίζεται Ορισμός : π.χ., x max{ a a x,t( a) x m{ a a x,t( a) 63 (floor) (celg) 5.7 6, 5.634 5 ΕΠΛ35 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 8

Ακολουθίες και Αθροίσματα ΕΠΛ35 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 9 * log log log + Το οποίο προκύπτει αλλιώς ως: Άθροισμα Γεωμετρικής Προόδου... 4 / / 6 ) )( ( ) ( log + + + + + + + + + + a a a

Παράδειγμα: Ανάλυση Χρόνου Εκτέλεσης vod mystery(){ for (; <lg; ++){ for (j;j< ;j++){ sum++; Εσωτερικός Βρόγχος Εξωτερικός Βρόγχος Ανάλυση Εσωτερικός Βρόγχος: Εξωτερικός Βρόγχος: OL lg IL lg IL j lg ( lg + )( lg + ) 6 Θ ( 3 lg )

Παράδειγμα: Ανάλυση Χρόνου Εκτέλεσης vod mystery(){ for (; <; ++){ for (j;j<*;j++){ sum++; Εσωτερικός Βρόγχος Εξωτερικός Βρόγχος Ανάλυση Εσωτερικός Βρόγχος: Εξωτερικός Βρόγχος: OL IL IL * j ( + ) Θ ( 3 )

Παράδειγμα: Ανάλυση Χρόνου Εκτέλεσης vod mystery3(){ for (; <; ++){ for (j*;j>;j--){ sum++; Εσωτερικός Βρόγχος Εξωτερικός Βρόγχος Ανάλυση Εσωτερικός Βρόγχος: Εξωτερικός Βρόγχος: OL IL IL * j ( + ) Θ ( 3 )

Παράδειγμα: Αντικατάσταση vod mystery4(t ){ for (; <; ++){ sum++; f(>) retur mystery4(/) + mystery4(/); else retur ; Μορφή T() + xt(/)

Παράδειγμα: Αντικατάσταση Έχουμε την αναδρομική εξίσωση Τ() T(/) +, για κάθε > T() Τότε, αντικαθιστώντας το Τ(/) με τηντιμή του παίρνουμε Τ() T(/) + // Εκτέλεση ( T(/4) + /) + // Εκτέλεση ² Τ(/4) + + // Πράξεις ³ Τ(/8) + + + // Εκτέλεση 3 k Τ(/ k ) + k. // klog k k Τ() + k. // k,τ(/ k )T() log + log. //Πράξεις + log // k,τ(/ k )T() Θ(log ) ΕΠΛ35 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 4

Παράδειγμα: Αντικατάσταση T() xt(/) + a, b, c, d b d ab d T() O( log()) T() O(log()) ΕΠΛ35 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 5