Διάλεξη 7: Επανάληψη για την ενδιάμεση εξέταση Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.
ΑΠΟΡΙΕΣ ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.
Είναι ισοδύναμα; typedef struct ode { it data; struct ode *ext; NODE; A. NODE ; B. Node *; ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για 3
Είναι ισοδύναμα; typedef struct ode { it data; struct ode *ext; NODE; A. NODE ; B. structode ; ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για 4
Τι χρειάζεται να προστεθεί για να είναι ισοδύναμα; typedef struct ode { it data; struct ode *ext; NODE; NODE ; struct ode { it data; struct ode *ext; ;??? NODE ; A. eum NODE{ode; C. typedef ode NODE; B. #defie NODE ode D. Καμία από τις επιλογές! ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για 5
Ποιο είναι το σωστό; typedef struct studet { char* ame; it id; ; studet studets[0]; A. studets[5]->ame test ; B. studets[5].ame test ; C. *(studets+5).ame test ; D. Καμία από τις επιλογές! ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 6
Ποιο είναι το σωστό; typedef struct studet { char* ame; it id; ; studet *s; A.*s.ame test ; B. (*s).ame test ; C. s->ame test ; D. Καμία από τις επιλογές! ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 7
Ποιο είναι το σωστό; typedef struct studet { char* ame; it id; ; studet *s; A.s malloc( sizeof( studet ) ); B. s (studet*) malloc( sizeof( studet ) ); C. s (studet*) malloc( sizeof( studet* ) ); D. Καμία από τις επιλογές! ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 8
Ποιο είναι το σωστό; char* str NULL; str (char*) malloc( sizeof( (char)* ) ); str this is a test ; pritf( %s, str); A.this is a test B. this C. th D. Compile error E. Segmetatio Fault ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 9
Ποιο είναι το σωστό; it a[] {5, 5, 34, 54, 4,, 5, 7; it *p &a[0]; it *q &a[]; pritf("%d", q-p); A.9 B. C. 8 D. Compile error ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 0
Ποιο είναι το σωστό; it a[] {5, 5, 34, 54, 4,, 5, 7; it *p &a[0]; it *q &a[]; pritf("%d", q-p); A.9 B. C. 8 D. Compile error ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.
Ποιο είναι το σωστό; typedef struct Studet{ char *ame; it id; ; it mai() { Studet *s; s->id 3456; A. Ο κώδικας θα δημιουργήσει σφάλμα rutime. B. Ο κώδικας δεν κάνει compile. C. H αρχικοποίηση έπρεπε να ήταν p.id3456; D. Ο κώδικας είναι σωστός. ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.
Ποιο είναι το σωστό; //Θεωρείστε υλοποίηση στοίβας όπως στις διαλέξεις STACK s; για να αρχικοποιήσουμε την στοίβα; A. MakeEmpty(s); B. MakeEmpty(*s); C. MakeEmpty(&s); D. Η στοίβα είναι ήδη αρχικοποιημένη E. Καμία από τις επιλογές! ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 3
Ποιο είναι το σωστό; //Θεωρείστε υλοποίηση στοίβας όπως στις διαλέξεις STACK *s; για να αρχικοποιήσουμε την στοίβα; A. MakeEmpty(s); B. MakeEmpty(*s); C. MakeEmpty(&s); D. Η στοίβα είναι ήδη αρχικοποιημένη E. Καμία από τις επιλογές! ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 4
Δεδομένης μίας υλοποίησης στοίβας με ΔΔΜ typedef struct ode { it data; struct ode *ext; NODE; typedef struct stack { NODE *head; it size; STACK; το πιο κάτω είναι Σωστό ή Λάθος; void Pop(STACK *S) { NODE *p NULL; p S->head; S->head p->ext; free(p); (S->size)--; ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για 5
Δεδομένης μίας υλοποίησης στοίβας με ΔΔΜ typedef struct ode { it data; struct ode *ext; NODE; typedef struct stack { NODE *head; it size; STACK; το πιο κάτω είναι Σωστό ή Λάθος; it IsEmpty(STACK *S) { retur (S->size 0); ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για 6
Δεδομένης μίας υλοποίησης στοίβας με ΔΔΜ typedef struct ode { it data; struct ode *ext; NODE; typedef struct stack { NODE *head; it size; STACK; το πιο κάτω είναι Σωστό ή Λάθος; void Push(STACK *S, it x){ NODE *p NULL; p->data x; p->ext S->head; S->head p; (S->size) ++; ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για 7
Μαθηματική Επαγωγή Να αποδείξετε ότι + 3+ 5+... + ( ) για >0. Απόδειξη: ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 8
Επανάληψη Χρήσιμων Μαθηματικών Ορισμών Ορισμός: log x a b iff 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 0 (commo), log e (l-atural), log (lg-biary) π.χ.,log log 0 log 0 δεν ορίζεται Ορισμός : π.χ., x max{ a a x,it( a) x mi{ a a x,it( a) 63 (floor) (ceilig) 5.7 6, 5.634 5 ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 9
Ακολουθίες και Αθροίσματα ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 0 * log log log 0 + i i Το οποίο προκύπτει αλλιώς ως: Άθροισμα Γεωμετρικής Προόδου... 4 / / 6 ) )( ( ) ( log 0 0 0 0 0 + + + + + + + + + + a a a i i i i i i i i i i
Παράδειγμα: Ανάλυση Χρόνου Εκτέλεσης void mystery(){ for (i0; i<lg; i++){ for (j0;j<i ;j++){ sum++; Ανάλυση Εσωτερικός Βρόγχος: Εξωτερικός Βρόγχος: Εσωτερικός Βρόγχος Εξωτερικός Βρόγχος
Παράδειγμα: Ανάλυση Χρόνου Εκτέλεσης void mystery(){ for (i0; i<; i++){ for (j0;j<*i;j++){ sum++; Ανάλυση Εσωτερικός Βρόγχος: Εξωτερικός Βρόγχος: Εσωτερικός Βρόγχος Εξωτερικός Βρόγχος
Παράδειγμα: Ανάλυση Χρόνου Εκτέλεσης void mystery3(){ for (i0; i<; i++){ for (j*i;j>0;j--){ sum++; Ανάλυση Εσωτερικός Βρόγχος: Εξωτερικός Βρόγχος: Εσωτερικός Βρόγχος Εξωτερικός Βρόγχος
Παράδειγμα: Αντικατάσταση void mystery4(it ){ for (i0; i<; i++){ sum++; if(>) retur mystery4(/) + mystery4(/); else retur ; Μορφή T()
Παράδειγμα: Αντικατάσταση Έχουμε την αναδρομική εξίσωση ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 5
Παράδειγμα: Επαλήθευση με Master Theorem ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 6