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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Δείκτες και Δομές. Info. Link. typedef struct NodeTag { InfoField Info; struct NodeTag *Link; } NodeType;

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

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

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

ΜΕΜ251 Αριθμητική Ανάλυση

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

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

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

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

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

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

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

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

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

Sheet2. Σωστή, και µπράβο που µεριµνήσατε για λίστες διαφορετικών µεγεθών.

Προγραμματισμός Δομές Δεδομένων

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

ιαφάνειες παρουσίασης #5 (β)

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

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

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

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

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

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

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

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

lab13grades Άσκηση 2 -Σωστά απελευθερώνετε ολόκληρη τη λίστα και την κεφαλή

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

Διάλεξη 9: Δυναμική Δέσμευση Μνήμης

Π(n) : 1 + a + + a n = an+1 1 a 1. a 1. + a k+1 = ak+2 1

υναµική έσµευση Μνήµης (συν.) ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 2 Εφαρµογή

ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Δυναμική Δέσμευση Μνήμης (Κεφάλαιο , KNK-2ED)

Αν α θετικός πραγματικός αριθμός, σε κάθε x αντιστοιχεί η

Μαθηµατική Επαγωγή. Ορέστης Τελέλης. Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς

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

1 Arq thc Majhmatik c Epagwg c

Διάλεξη 19η: Δομές δεδομένων

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

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

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

Transcript:

Διάλεξη Ε3: Επανάληψη Επανάληψη για την ενδιάμεση εξέταση Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Παναγιώτης Ανδρέου Ε3-

Είναι ισοδύναμα; typedef struct ode { t data; struct ode *ext; NODE; A. NODE ; B. NODE *; ΟΧΙ Ε3-

Είναι ισοδύναμα; typedef struct ode { t data; struct ode *ext; NODE; A. NODE ; B. struct ode ; ΝΑΙ Ε3-3

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

Ποιο είναι το σωστό; 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. Καμία από τις επιλογές! Ε3-5

A. *s.ame test ; B. (*s).ame test ; C. s->ame test ; Ποιο είναι το σωστό; typedef struct studet { char* ame; t d; ; studet *s; D. Καμία από τις επιλογές! Ε3-6

Ποιο είναι το σωστό; 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. Καμία από τις επιλογές! Ε3-7

Ποιο είναι το σωστό; 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 Ε3-8

Ποιο είναι το σωστό; 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 Ε3-9

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

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

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

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

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

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

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

Ορισμός : Επανάληψη Χρήσιμων Μαθηματικών Ορισμών log x a b ff x b a Χρήσιμοι νόμοι λογάριθμων: log ab log a + log b log a b b. log a log ab log a log b log a b (log c b) (log c a) b log b x x log a log (log ) log * log log log +log xlog 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 Ε3-7

Ακολουθίες και Αθροίσματα * log log log + Το οποίο προκύπτει αλλιώς ως: Άθροισμα Γεωμετρικής Προόδου... /4 / 6 ) )( ( ) ( log + + + + + + + + + + a a a Ε3-8

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

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

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

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

Παράδειγμα: Αντικατάσταση Έχουμε την αναδρομική εξίσωση Τ() 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 ) Ε3-3

T() xt(/) + Παράδειγμα: Αντικατάσταση a, b, c, d b d ab d T() O( log()) T() O(log()) Ε3-4