Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Γιάννης Σταματίου Αναδρομή και αναδρομικές σχέσεις Webcast 4.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Γιάννης Σταματίου Αναδρομή και αναδρομικές σχέσεις Webcast 4."— Μεταγράφημα παρουσίασης:

1 Γιάννης Σταματίου Αναδρομή και αναδρομικές σχέσεις Webcast 4

2 Ακολουθίες Κοιτάξτε τις ακολουθίες που εμφανίζονται στην αριστερή στήλη του πίνακα: a 0 = 0, a 1 = 1, a 2 = 2, a 3 = 3, …, (φυσικοί αριθμοί) a 0 = 1, a 1 = 2, a 2 = 4, a 3 = 8, …, (δυνάμεις του 2) a 0 = 1, a 1 = 3, a 2 = 5, a 3 = 7, …, (περιττοί φυσικοί αριθμοί) a 0 = 0, a 1 = 1, a 2 = 1, a 3 = 2, a 4 = 3, a 5 = 5, …, (ακολουθία Fibonacci)

3 Ακολουθίες Κοιτάξτε τις ακολουθίες που εμφανίζονται στην αριστερή στήλη του πίνακα: a 0 = 0, a 1 = 1, a 2 = 2, a 3 = 3, …, (φυσικοί αριθμοί) a 0 = 1, a 1 = 2, a 2 = 4, a 3 = 8, …, (δυνάμεις του 2) a 0 = 1, a 1 = 3, a 2 = 5, a 3 = 7, …, (περιττοί φυσικοί αριθμοί) a 0 = 0, a 1 = 1, a 2 = 1, a 3 = 2, a 4 = 3, a 5 = 5, …, (ακολουθία Fibonacci) συνάρτηση προηγούμενων όρων μέχρι που φτάνουμε σε δοσμένες τιμές Κοιτάξτε και τη δεξιά στήλη τώρα! Δίνεται ο «νιοστός» όρος της ακολουθίας ως συνάρτηση προηγούμενων όρων μέχρι που φτάνουμε σε δοσμένες τιμές

4 Ακολουθίες Κοιτάξτε τις ακολουθίες που εμφανίζονται στην αριστερή στήλη του πίνακα: a 0 = 0, a 1 = 1, a 2 = 2, a 3 = 3, …, (φυσικοί αριθμοί) a 0 = 0, a n = a n για n  1 a 0 = 1, a 1 = 2, a 2 = 4, a 3 = 8, …, (δυνάμεις του 2) a 0 = 1, a 1 = 3, a 2 = 5, a 3 = 7, …, (περιττοί φυσικοί αριθμοί) a 0 = 0, a 1 = 1, a 2 = 1, a 3 = 2, a 4 = 3, a 5 = 5, …, (ακολουθία Fibonacci) συνάρτηση προηγούμενων όρων μέχρι που φτάνουμε σε δοσμένες τιμές Κοιτάξτε και τη δεξιά στήλη τώρα! Δίνεται ο «νιοστός» όρος της ακολουθίας ως συνάρτηση προηγούμενων όρων μέχρι που φτάνουμε σε δοσμένες τιμές

5 Ακολουθίες Κοιτάξτε τις ακολουθίες που εμφανίζονται στην αριστερή στήλη του πίνακα: a 0 = 0, a 1 = 1, a 2 = 2, a 3 = 3, …, (φυσικοί αριθμοί) a 0 = 0, a n = a n για n  1 a 0 = 1, a 1 = 2, a 2 = 4, a 3 = 8, …, (δυνάμεις του 2) a 0 = 1, a n = 2a n - 1 για n  1 a 0 = 1, a 1 = 3, a 2 = 5, a 3 = 7, …, (περιττοί φυσικοί αριθμοί) a 0 = 0, a 1 = 1, a 2 = 1, a 3 = 2, a 4 = 3, a 5 = 5, …, (ακολουθία Fibonacci) συνάρτηση προηγούμενων όρων μέχρι που φτάνουμε σε δοσμένες τιμές Κοιτάξτε και τη δεξιά στήλη τώρα! Δίνεται ο «νιοστός» όρος της ακολουθίας ως συνάρτηση προηγούμενων όρων μέχρι που φτάνουμε σε δοσμένες τιμές

6 Ακολουθίες Κοιτάξτε τις ακολουθίες που εμφανίζονται στην αριστερή στήλη του πίνακα: a 0 = 0, a 1 = 1, a 2 = 2, a 3 = 3, …, (φυσικοί αριθμοί) a 0 = 0, a n = a n για n  1 a 0 = 1, a 1 = 2, a 2 = 4, a 3 = 8, …, (δυνάμεις του 2) a 0 = 1, a n = 2a n - 1 για n  1 a 0 = 1, a 1 = 3, a 2 = 5, a 3 = 7, …, (περιττοί φυσικοί αριθμοί) a 0 = 1, a n = a n για n  1 a 0 = 0, a 1 = 1, a 2 = 1, a 3 = 2, a 4 = 3, a 5 = 5, …, (ακολουθία Fibonacci) συνάρτηση προηγούμενων όρων μέχρι που φτάνουμε σε δοσμένες τιμές Κοιτάξτε και τη δεξιά στήλη τώρα! Δίνεται ο «νιοστός» όρος της ακολουθίας ως συνάρτηση προηγούμενων όρων μέχρι που φτάνουμε σε δοσμένες τιμές

7 Ακολουθίες Κοιτάξτε τις ακολουθίες που εμφανίζονται στην αριστερή στήλη του πίνακα: a 0 = 0, a 1 = 1, a 2 = 2, a 3 = 3, …, (φυσικοί αριθμοί) a 0 = 0, a n = a n για n  1 a 0 = 1, a 1 = 2, a 2 = 4, a 3 = 8, …, (δυνάμεις του 2) a 0 = 1, a n = 2a n - 1 για n  1 a 0 = 1, a 1 = 3, a 2 = 5, a 3 = 7, …, (περιττοί φυσικοί αριθμοί) a 0 = 1, a n = a n για n  1 a 0 = 0, a 1 = 1, a 2 = 1, a 3 = 2, a 4 = 3, a 5 = 5, …, (ακολουθία Fibonacci) a 0 = 0, a 1 =1, a n = a n a n - 2 για n  2 συνάρτηση προηγούμενων όρων μέχρι που φτάνουμε σε δοσμένες τιμές Κοιτάξτε και τη δεξιά στήλη τώρα! Δίνεται ο «νιοστός» όρος της ακολουθίας ως συνάρτηση προηγούμενων όρων μέχρι που φτάνουμε σε δοσμένες τιμές

8 Δυαδικά δέντρα Ένα δυαδικό δέντρο είτε είναι άδειο είτε αποτελείται από ένα διακεκριμένο κόμβο (ρίζα)

9 Δυαδικά δέντρα με δύο μικρότερα δέντρα Ένα δυαδικό δέντρο είτε είναι άδειο είτε αποτελείται από ένα διακεκριμένο κόμβο (ρίζα) ενωμένο με δύο μικρότερα δέντρα (αριστερό

10 Δυαδικά δέντρα με δύο μικρότερα δέντρα Ένα δυαδικό δέντρο είτε είναι άδειο είτε αποτελείται από ένα διακεκριμένο κόμβο (ρίζα) ενωμένο με δύο μικρότερα δέντρα (αριστερό και δεξί υποδέντρο)

11 Δυαδικά δέντρα με δύο μικρότερα δέντρα Ένα δυαδικό δέντρο είτε είναι άδειο είτε αποτελείται από ένα διακεκριμένο κόμβο (ρίζα) ενωμένο με δύο μικρότερα δέντρα (αριστερό και δεξί υποδέντρο) συνάρτηση μικρότερων δέντρων μέχρι που φτάνουμε στο κενό δέντρο Ορίζεται ένα δέντρο ως συνάρτηση μικρότερων δέντρων μέχρι που φτάνουμε στο κενό δέντρο

12 Παιχνίδια – ο πύργος του Ανόι from to spare

13 Παιχνίδια – ο πύργος του Ανόι from to spare from to spare procedure moveDisks(n, from, to, spare) if n = 1 then // βασική περίπτωση write(“Move disk from”, from, “to”, to) else moveDisks(n - 1, from, spare, to) write(“Move disk from”, from, “to”, to) moveDisks(n - 1, spare, to, from) end

14 Παιχνίδια – ο πύργος του Ανόι from to spare from to spare procedure moveDisks(n, from, to, spare) if n = 1 then // βασική περίπτωση write(“Move disk from”, from, “to”, to) else moveDisks(n - 1, from, spare, to) write(“Move disk from”, from, “to”, to) moveDisks(n - 1, spare, to, from) end μικρότερα H λύση συντίθεται από δύο υπολύσεις σε μικρότερα προβλήματα (με n – 1 δίσκους)!

15 Αλγόριθμοι – δυαδική αναζήτηση Εύρεση στοιχείου σε ήδη ταξινομημένη λίστα στοιχείων function binSearch(s, i, j, key) if i > j then // βασική περίπτωση return 0 k  ceil((i+j)/2) if key = s[k] then // το στοιχείο βρέθηκε return k if key < s[k] then // αριστερή υπολίστα j  k – 1 else // δεξιά υπολίστα i  k + 1 return binSearch(s, i, j, key) end

16 Τέχνη - Escher

17 Αναδρομικοί ορισμοί αναδρομικός Ο ορισμός ενός αντικειμένου (ακολουθίας, συνδυαστικής δομής, παιχνιδιού, λύσης σε υπολογιστικό πρόβλημα, έργου τέχνης κλπ.) καλείται αναδρομικός εάν

18 Αναδρομικοί ορισμοί αναδρομικός Ο ορισμός ενός αντικειμένου (ακολουθίας, συνδυαστικής δομής, παιχνιδιού, λύσης σε υπολογιστικό πρόβλημα, έργου τέχνης κλπ.) καλείται αναδρομικός εάν «μικρότερων» αντικειμένων του ίδιου τύπου Το αντικείμενο ορίζεται ως συνάρτηση ενός ή περισσοτέρων «μικρότερων» αντικειμένων του ίδιου τύπου, και

19 αναδρομικός Ο ορισμός ενός αντικειμένου (ακολουθίας, συνδυαστικής δομής, παιχνιδιού, λύσης σε υπολογιστικό πρόβλημα, έργου τέχνης κλπ.) καλείται αναδρομικός εάν «μικρότερων» αντικειμένων του ίδιου τύπου Το αντικείμενο ορίζεται ως συνάρτηση ενός ή περισσοτέρων «μικρότερων» αντικειμένων του ίδιου τύπου, και «ελάχιστο» αντικείμενοαπ’ ευθείας Υπάρχει ένα «ελάχιστο» αντικείμενο που ορίζεται απ’ ευθείας χωρίς αναφορά σε μικρότερα αντικείμενα του ίδιου τύπου Αναδρομικοί ορισμοί

20 φυσικός «αυτο-ομοιότητα» Ο πιο φυσικός ορισμός για μια μεγάλη κατηγορία αντικειμένων που παρουσιάζουν «αυτο-ομοιότητα» (π.χ. δυαδικά δέντρα) Οδηγεί σε κομψή (αν και όχι πάντοτε αποδοτική) περιγραφή λύσεων σε υπολογιστικά προβλήματα Συνάγεται απ’ ευθείας από τη δομή του προβλήματος χωρίς να απαιτείται γνώση της δομής της λύσης Ποια η χρησιμότητα της αναδρομής;

21 Αναδρομή και επανάληψη

22 a0a0 anan

23 a0a0 anan a0a0 anan

24 procedure moveDisks(n) for moveno = 1 to Power(2, n) - 1 do begin discno = LS1(moveno) if odd(discno) then MoveDisc(discno, (moveno - 1) mod 3, (moveno + 1) mod 3) else MoveDisc(discno, (moveno + 1) mod 3, (moveno - 1) mod 3) end

25 Αναδρομή και επανάληψη procedure moveDisks(n, from, to, spare) if n = 1 then // βασική περίπτωση write(“Move disk from”, from, “to”, to) else moveDisks(n - 1, from, spare, to) write(“Move disk from”, from, “to”, to) moveDisks(n - 1, spare, to, from) end procedure moveDisks(n) for moveno = 1 to Power(2, n) - 1 do begin discno = LS1(moveno) if odd(discno) then MoveDisc(discno, (moveno - 1) mod 3, (moveno + 1) mod 3) else MoveDisc(discno, (moveno + 1) mod 3, (moveno - 1) mod 3) end

26 Αναδρομικές σχέσεις a 0 = 0, a n = a n για n  1 a 0 = 1, a n = 2a n - 1 για n  1 a 0 = 1, a n = a n για n  1 a 0 = 0, a 1 =1, a n = a n a n - 2 για n  2

27 Αναδρομικές σχέσεις καί λύσεις a 0 = 0, a n = a n για n  1 a 0 = 1, a n = 2a n - 1 για n  1 a 0 = 1, a n = a n για n  1 a 0 = 0, a 1 =1, a n = a n a n - 2 για n  2 a n = n, n  0 a n = 2 n, n  0 a n = 2 n + 1, n  0


Κατέβασμα ppt "Γιάννης Σταματίου Αναδρομή και αναδρομικές σχέσεις Webcast 4."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google