Διάλεξη 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