Αναδρομικοί Αλγόριθμοι

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Δομές Δεδομένων και Αλγόριθμοι
Advertisements

Δένδρα van Emde Boas TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μελετάμε την περίπτωση όπου αποθηκεύουμε.
Επίπεδα Γραφήματα (planar graphs)
Στοιχειώδεις Δομές Δεδομένων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Τύποι δεδομένων στη Java • Ακέραιοι.
Λίστες παράλειψης (skip lists) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A
Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Έχουμε αποθηκεύσει.
Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA.
Πολυπλοκότητα Παράμετροι της αποδοτικότητας ενός αλγόριθμου:
Ισορροπημένα Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να επιτύχουμε χρόνο εκτέλεσης για.
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A εισαγωγή αναζήτησηεπιλογή διατεταγμένος πίνακας.
Γιάννης Σταματίου Μη αποδοτική αναδρομή και η δυναμική προσέγγιση Webcast 8.
Ψηφιακά Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να χρησιμοποιήσουμε την παραπάνω αναπαράσταση.
Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δένδρα στα οποία κάθε.
Επιλογή Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο.
Διαίρει και Βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k.
Προσεγγιστικοί Αλγόριθμοι
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Αριθμοθεωρητικοί Αλγόριθμοι TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Αλγόριθμοι που επεξεργάζονται.
Τυχαιοκρατικοί Αλγόριθμοι TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA Πιθανότητες και Αλγόριθμοι Ανάλυση μέσης.
Ισορροπημένα Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να επιτύχουμε χρόνο εκτέλεσης για.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A Δυναμικός Προγραμματισμός πρόβλημα μεγέθους Ν διάσπαση πρόβλημα.
Διδάσκων: Παύλος Παυλικκάς1 Ολυμπιάδα Πληροφορικής Recursion - Αναδρομή.
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε.
Ανάλυση αλγορίθμων Παράμετροι απόδοσης ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, επικοινωνία (π.χ. σε κατανεμημένα συστήματα) Προσπάθεια.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση βάρους Κατευθυνόμενο γράφημα.
Ισορροπημένα Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να επιτύχουμε χρόνο εκτέλεσης για.
Ψηφιακά Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να χρησιμοποιήσουμε την παραπάνω αναπαράσταση.
Δυναμικη Δεσμευση Μνημης Συνδεδεμενες Λιστες (dynamic memory allocation, linked lists) Πως υλοποιουμαι προγραμματα που δεν γνωριζουμε πριν την εκτελεση.
Δυναμικά Σύνολα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
Ειδικά Θέματα Αλγορίθμων και Δομών Δεδομένων
Διερεύνηση γραφήματος. Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος.
Δυναμικά Σύνολα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
Γραμμικός Προγραμματισμός TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Μια εταιρεία παράγει κέικ δύο κατηγοριών,
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες:
Στοιχειώδεις Δομές Δεδομένων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Τύποι δεδομένων στη C Ακέραιοι.
Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A αβ ζ η ε γ θ Το γράφημα.
Διερεύνηση γραφήματος. Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος.
Λίστες παράλειψης (skip lists) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A
Γράφημα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Συνδυαστικό αντικείμενο που αποτελείται από.
Θεωρία Υπολογισμού Χρονική Πολυπλοκότητα και Μοντέλα.
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
ΗΥ150 – ΠρογραμματισμόςΞενοφών Ζαμπούλης ΗΥ-150 Προγραμματισμός Αναδρομή (1/2)
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Δεκαπενθήμερο Ενημέρωσης για την Πρόσβαση στην Εκπαίδευση, Οκτωβρίου 2015 « Προσβάσιμο Εκπαιδευτικό και Εποπτικό Υλικό για Μαθητές με αυτισμό » ΒΑΣΙΛΕΙΟΥ.
Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα:
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Πίνακες Συμβόλων TexPoint fonts used in EMF.
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Το ειδικό τέλος υπέρ ΟΤΑ, Πράσινου Ταμείου και καταναλωτών
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε χρόνο εκτέλεσης
Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε χρόνο εκτέλεσης
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε χρόνο εκτέλεσης
Ουρά Προτεραιότητας (priority queue)
Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε στοιχείο έχει ένα κλειδί από ολικά διατεταγμένο σύνολο Θέλουμε να υποστηρίξουμε δύο.
ΗΥ-150 Προγραμματισμός Αναδρομή (1/2).
Ελαφρύτατες διαδρομές
ΒΕΛΤΙΩΣΗ ΤΩΝ ΜΑΘΗΣΙΑΚΩΝ ΕΠΙΤΕΥΓΜΑΤΩΝ ΣΤΙΣ ΦΥΣΙΚΕΣ ΕΠΙΣΤΗΜΕΣ: Η ΠΡΟΟΠΤΙΚΗ ΤΟΥ ΝΕΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ ΝΟΕΜΒΡΗΣ 2014.
Το ειδικό τέλος υπέρ ΟΤΑ, Πράσινου Ταμείου και καταναλωτών
ΝΟΜΟΣ ΥΠ' ΑΡΙΘΜ. 4495/17 (167 Α/ ) Έλεγχος και προστασία του Δομημένου Περιβάλ­λοντος και άλλες διατάξεις και αλλαγές με το ν.4513/18 (101 Α/2018)
Εξωτερική Αναζήτηση Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη
§14. Перпендикуляр және көлбеу. §15. Үш перпендикуляр туралы теорема
ΕΑΠ – ΠΛΗ24 1η ΟΣΣ.
Μεταγράφημα παρουσίασης:

Αναδρομικοί Αλγόριθμοι Αναδρομικός αλγόριθμος (recursive algorithm) Επιλύει ένα πρόβλημα λύνοντας ένα ή περισσότερα στιγμιότυπα του ίδιου προβλήματος. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA

Αναδρομικοί Αλγόριθμοι Αναδρομικός αλγόριθμος (recursive algorithm) Επιλύει ένα πρόβλημα λύνοντας ένα ή περισσότερα στιγμιότυπα του ίδιου προβλήματος. Παράδειγμα: Υπολογισμός παραγοντικού int factorial (int N) { if (N==0) return 1; return N*factorial(N-1); } TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA

Αναδρομικοί Αλγόριθμοι Παράδειγμα: Υπολογισμός παραγοντικού αναδρομικό πρόγραμμα μη αναδρομικό πρόγραμμα int factorial (int N) { if (N==0) return 1; return N*factorial(N-1); } t = 1; for (int i=1; i<=N; i++) t *= i; TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA

Αναδρομικοί Αλγόριθμοι Παράδειγμα: Υπολογισμός παραγοντικού αναδρομικό πρόγραμμα μη αναδρομικό πρόγραμμα int factorial (int N) { if (N==0) return 1; return N*factorial(N-1); } t = 1; for (int i=1; i<=N; i++) t *= i; Κάθε αναδρομικό πρόγραμμα μπορεί να μετατραπεί σε ισοδύναμο μη αναδρομικό πρόγραμμα. Πολλές φορές όμως η χρήση αναδρομής δίνει πιο σύντομα ή/και πιο αποδοτικά προγράμματα.

Αναδρομικοί Αλγόριθμοι Παράδειγμα: Υπολογισμός μέγιστου κοινού διαιρέτη ακέραιοι όπου : ο μεγαλύτερος ακέραιος που τους διαιρεί ακριβώς

Αναδρομικοί Αλγόριθμοι Παράδειγμα: Υπολογισμός μέγιστου κοινού διαιρέτη ακέραιοι όπου : ο μεγαλύτερος ακέραιος που τους διαιρεί ακριβώς Αλγόριθμος του Ευκλείδη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι

Αναδρομικοί Αλγόριθμοι Παράδειγμα: Υπολογισμός μέγιστου κοινού διαιρέτη ακέραιοι όπου : ο μεγαλύτερος ακέραιος που τους διαιρεί ακριβώς Αλγόριθμος του Ευκλείδη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι Αν ο είναι κοινός διαιρέτης των τότε και , άρα

Αναδρομικοί Αλγόριθμοι Παράδειγμα: Υπολογισμός μέγιστου κοινού διαιρέτη ακέραιοι όπου : ο μεγαλύτερος ακέραιος που τους διαιρεί ακριβώς Αλγόριθμος του Ευκλείδη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι Αν ο είναι κοινός διαιρέτης των τότε και , άρα Αν ο είναι κοινός διαιρέτης των τότε και , άρα

Αναδρομικοί Αλγόριθμοι Παράδειγμα: Υπολογισμός μέγιστου κοινού διαιρέτη ακέραιοι όπου : ο μεγαλύτερος ακέραιος που τους διαιρεί ακριβώς Αλγόριθμος του Ευκλείδη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι Επομένως

Αναδρομικοί Αλγόριθμοι Παράδειγμα: Υπολογισμός μέγιστου κοινού διαιρέτη ακέραιοι όπου : ο μεγαλύτερος ακέραιος που τους διαιρεί ακριβώς Αλγόριθμος του Ευκλείδη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι int gcd (int x, int y) { if (y==0) return x; return gcd(y, x%y); }

Αναδρομικοί Αλγόριθμοι Παράδειγμα: Υπολογισμός μέγιστου κοινού διαιρέτη ακέραιοι όπου : ο μεγαλύτερος ακέραιος που τους διαιρεί ακριβώς Αλγόριθμος του Ευκλείδη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι int gcd (int x, int y) { if (y==0) return x; return gcd(y, x%y); } Παράδειγμα gcd(128,40)=

Αναδρομικοί Αλγόριθμοι Παράδειγμα: Υπολογισμός μέγιστου κοινού διαιρέτη ακέραιοι όπου : ο μεγαλύτερος ακέραιος που τους διαιρεί ακριβώς Αλγόριθμος του Ευκλείδη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι int gcd (int x, int y) { if (y==0) return x; return gcd(y, x%y); } Παράδειγμα gcd(128,40)= gcd(40,8)=

Αναδρομικοί Αλγόριθμοι Παράδειγμα: Υπολογισμός μέγιστου κοινού διαιρέτη ακέραιοι όπου : ο μεγαλύτερος ακέραιος που τους διαιρεί ακριβώς Αλγόριθμος του Ευκλείδη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι int gcd (int x, int y) { if (y==0) return x; return gcd(y, x%y); } Παράδειγμα gcd(128,40)= gcd(40,8)= gcd(8,0)= 8

Αναδρομικοί Αλγόριθμοι Παράδειγμα: Υπολογισμός μέγιστου κοινού διαιρέτη ακέραιοι όπου : ο μεγαλύτερος ακέραιος που τους διαιρεί ακριβώς Αλγόριθμος του Ευκλείδη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι Ιδιότητα: Αν τότε

Αναδρομικοί Αλγόριθμοι Παράδειγμα: Υπολογισμός μέγιστου κοινού διαιρέτη ακέραιοι όπου : ο μεγαλύτερος ακέραιος που τους διαιρεί ακριβώς Αλγόριθμος του Ευκλείδη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι Ιδιότητα: Αν τότε Απόδειξη:

Αναδρομικοί Αλγόριθμοι Παράδειγμα: Υπολογισμός μέγιστου κοινού διαιρέτη ακέραιοι όπου : ο μεγαλύτερος ακέραιος που τους διαιρεί ακριβώς Αλγόριθμος του Ευκλείδη Βασίζεται στον κανόνα όπου είναι θετικοί ακέραιοι Ιδιότητα: Αν τότε ο αλγόριθμος του Ευκλείδη είναι αποδοτικός : απαιτεί επαναλήψεις

Αναδρομικοί Αλγόριθμοι Αναδρομική συνάρτηση καταμέτρησης του πλήθους των κόμβων σε μία συνδεδεμένη λίστα next private class Node { Item item; Node next; } int count(Node x) { if (x == null) return 0; return 1 + count(x.next); node : item μηδενική αναφορά (null) Node head

Αναδρομικοί Αλγόριθμοι: Διαίρει και βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k

Αναδρομικοί Αλγόριθμοι: Διαίρει και βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k επιλύουμε αναδρομικά τα υποπροβλήματα

Αναδρομικοί Αλγόριθμοι: Διαίρει και βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k επιλύουμε αναδρομικά τα υποπροβλήματα

Αναδρομικοί Αλγόριθμοι: Διαίρει και βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k επιλύουμε αναδρομικά τα υποπροβλήματα

Αναδρομικοί Αλγόριθμοι: Διαίρει και βασίλευε πρόβλημα μεγέθους Ν σύνθεση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k επιλύουμε αναδρομικά τα υποπροβλήματα

Αναδρομικοί Αλγόριθμοι: Διαίρει και βασίλευε πρόβλημα μεγέθους Ν σύνθεση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k επιλύουμε αναδρομικά τα υποπροβλήματα

Αναδρομικοί Αλγόριθμοι: Διαίρει και βασίλευε πρόβλημα μεγέθους Ν διάσπαση προβλήματος / σύνθεση λύσεων πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k επιλύουμε αναδρομικά τα υποπροβλήματα Χρόνος εκτέλεσης : χρόνος διάσπασης χρόνος σύνθεσης

Αναδρομικοί Αλγόριθμοι Απλό πρόβλημα : Εύρεση ελάχιστου στοιχείου ακολουθίας αναδρομικό πρόγραμμα «διαίρει και βασίλευε» μη αναδρομικό πρόγραμμα t = a[0]; for (i = 1; i < N; i++) if (a[i] < t) t = a[i]; int min(int a[], int l, int r) { int u, v, m = (l+r)/2; if (l == r) return a[l]; u = min(a, l, m); v = min(a, m+1, r); if (u<v) return u; else return v; }

Αναδρομικοί Αλγόριθμοι Οι Πύργοι του Ανόι 1 3 πάσσαλοι και Ν δίσκοι Ν Θέλουμε να μετακινήσουμε τους δίσκους κατά ένα πάσσαλο δεξιά, υπακούοντας στους παρακάτω κανόνες 1) Μετακινούμε ένα δίσκο τη φορά 2) Ένας δίσκος δεν μπορεί να τοποθετηθεί πάνω από μικρότερο δίσκο

Αναδρομικοί Αλγόριθμοι Οι Πύργοι του Ανόι 1 3 πάσσαλοι και Ν δίσκοι Ν Θέλουμε να μετακινήσουμε τους δίσκους κατά ένα πάσσαλο δεξιά, υπακούοντας στους παρακάτω κανόνες 1) Μετακινούμε ένα δίσκο τη φορά 2) Ένας δίσκος δεν μπορεί να τοποθετηθεί πάνω από μικρότερο δίσκο Η χρήση αναδρομής μας βοηθά να βρούμε μια κομψή λύση στο πρόβλημα.

Αναδρομικοί Αλγόριθμοι Οι Πύργοι του Ανόι 1 3 πάσσαλοι και Ν δίσκοι Ν Συμβολισμός +1 : Μετακίνηση κατά 1 πάσσαλο δεξιά. Επιστρέφουμε στον αριστερότερο πάσσαλο αν ξεκινήσουμε από τον δεξιότερο. -1 : Μετακίνηση κατά 1 πάσσαλο αριστερά. Επιστρέφουμε στον δεξιότερο πάσσαλο αν ξεκινήσουμε από τον αριστερότερο.

Αναδρομικοί Αλγόριθμοι Οι Πύργοι του Ανόι 1 3 πάσσαλοι και Ν δίσκοι Ν Ιδέα για αναδρομικό αλγόριθμο Ας υποθέσουμε ότι ξέρουμε πώς να μετακινήσουμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο δεξιά ή αριστερά.

Αναδρομικοί Αλγόριθμοι Οι Πύργοι του Ανόι 1 3 πάσσαλοι και Ν δίσκοι Ν Ιδέα για αναδρομικό αλγόριθμο Ας υποθέσουμε ότι ξέρουμε πώς να μετακινήσουμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο δεξιά ή αριστερά. Μετακινούμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο αριστερά.

Αναδρομικοί Αλγόριθμοι Οι Πύργοι του Ανόι 1 3 πάσσαλοι και Ν δίσκοι Ν Ν-1 Ιδέα για αναδρομικό αλγόριθμο Ας υποθέσουμε ότι ξέρουμε πώς να μετακινήσουμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο δεξιά ή αριστερά. Μετακινούμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο αριστερά.

Αναδρομικοί Αλγόριθμοι Οι Πύργοι του Ανόι 1 3 πάσσαλοι και Ν δίσκοι Ν Ν-1 Ιδέα για αναδρομικό αλγόριθμο Ας υποθέσουμε ότι ξέρουμε πώς να μετακινήσουμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο δεξιά ή αριστερά. Μετακινούμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο αριστερά. Μετακινούμε το δίσκο Ν κατά ένα πάσσαλο δεξιά.

Αναδρομικοί Αλγόριθμοι Οι Πύργοι του Ανόι 1 3 πάσσαλοι και Ν δίσκοι Ν Ν-1 Ιδέα για αναδρομικό αλγόριθμο Ας υποθέσουμε ότι ξέρουμε πώς να μετακινήσουμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο δεξιά ή αριστερά. Μετακινούμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο αριστερά. Μετακινούμε το δίσκο Ν κατά ένα πάσσαλο δεξιά.

Αναδρομικοί Αλγόριθμοι Οι Πύργοι του Ανόι 1 3 πάσσαλοι και Ν δίσκοι Ν Ν-1 Ιδέα για αναδρομικό αλγόριθμο Ας υποθέσουμε ότι ξέρουμε πώς να μετακινήσουμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο δεξιά ή αριστερά. Μετακινούμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο αριστερά. Μετακινούμε το δίσκο Ν κατά ένα πάσσαλο δεξιά.

Αναδρομικοί Αλγόριθμοι Οι Πύργοι του Ανόι 1 3 πάσσαλοι και Ν δίσκοι Ν Ιδέα για αναδρομικό αλγόριθμο Ας υποθέσουμε ότι ξέρουμε πώς να μετακινήσουμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο δεξιά ή αριστερά. Μετακινούμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο αριστερά. Μετακινούμε το δίσκο Ν κατά ένα πάσσαλο δεξιά.

Αναδρομικοί Αλγόριθμοι Οι Πύργοι του Ανόι 1 3 πάσσαλοι και Ν δίσκοι Ν Ιδέα για αναδρομικό αλγόριθμο Ας υποθέσουμε ότι ξέρουμε πώς να μετακινήσουμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο δεξιά ή αριστερά. Μετακινούμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο αριστερά. Μετακινούμε το δίσκο Ν κατά ένα πάσσαλο δεξιά. Η μετακίνηση των Ν-1 γίνεται με μαγικό τρόπο!

Αναδρομικοί Αλγόριθμοι Οι Πύργοι του Ανόι 1 3 πάσσαλοι και Ν δίσκοι Ν Ιδέα για αναδρομικό αλγόριθμο Ας υποθέσουμε ότι ξέρουμε πώς να μετακινήσουμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο δεξιά ή αριστερά. Μετακινούμε του πρώτους Ν-1 δίσκους κατά 1 πάσσαλο αριστερά. Μετακινούμε το δίσκο Ν κατά ένα πάσσαλο δεξιά. αναδρομικά! Η μετακίνηση των Ν-1 γίνεται με μαγικό τρόπο!

TexPoint fonts used in EMF. void hanoi(int N, int d) { if (N==0) return; hanoi(N-1,-d); shift(N,d); } hanoi(3,+1) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA

TexPoint fonts used in EMF. void hanoi(int N, int d) { if (N==0) return; hanoi(N-1,-d); shift(N,d); } hanoi(3,+1) hanoi(2,-1) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA

TexPoint fonts used in EMF. void hanoi(int N, int d) { if (N==0) return; hanoi(N-1,-d); shift(N,d); } hanoi(3,+1) hanoi(2,-1) hanoi(1,+1) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA

TexPoint fonts used in EMF. void hanoi(int N, int d) { if (N==0) return; hanoi(N-1,-d); shift(N,d); } hanoi(3,+1) hanoi(2,-1) hanoi(1,+1) hanoi(0,-1) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA

TexPoint fonts used in EMF. void hanoi(int N, int d) { if (N==0) return; hanoi(N-1,-d); shift(N,d); } hanoi(3,+1) hanoi(2,-1) hanoi(1,+1) hanoi(0,-1) shift(1,+1) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA

TexPoint fonts used in EMF. void hanoi(int N, int d) { if (N==0) return; hanoi(N-1,-d); shift(N,d); } hanoi(3,+1) hanoi(2,-1) hanoi(1,+1) hanoi(0,-1) shift(1,+1) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA

TexPoint fonts used in EMF. void hanoi(int N, int d) { if (N==0) return; hanoi(N-1,-d); shift(N,d); } hanoi(3,+1) hanoi(2,-1) hanoi(1,+1) hanoi(0,-1) shift(1,+1) shift(2,-1) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA

TexPoint fonts used in EMF. void hanoi(int N, int d) { if (N==0) return; hanoi(N-1,-d); shift(N,d); } hanoi(3,+1) hanoi(2,-1) hanoi(1,+1) hanoi(0,-1) shift(1,+1) shift(2,-1) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA

TexPoint fonts used in EMF. void hanoi(int N, int d) { if (N==0) return; hanoi(N-1,-d); shift(N,d); } hanoi(3,+1) hanoi(2,-1) hanoi(1,+1) hanoi(0,-1) shift(1,+1) shift(2,-1) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA

TexPoint fonts used in EMF. void hanoi(int N, int d) { if (N==0) return; hanoi(N-1,-d); shift(N,d); } hanoi(3,+1) hanoi(2,-1) hanoi(1,+1) hanoi(0,-1) shift(1,+1) shift(2,-1) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA

TexPoint fonts used in EMF. void hanoi(int N, int d) { if (N==0) return; hanoi(N-1,-d); shift(N,d); } hanoi(3,+1) hanoi(2,-1) hanoi(1,+1) hanoi(0,-1) shift(1,+1) shift(2,-1) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA

TexPoint fonts used in EMF. void hanoi(int N, int d) { if (N==0) return; hanoi(N-1,-d); shift(N,d); } hanoi(3,+1) hanoi(2,-1) hanoi(1,+1) hanoi(0,-1) shift(1,+1) shift(2,-1) shift(3,+1) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA

TexPoint fonts used in EMF. void hanoi(int N, int d) { if (N==0) return; hanoi(N-1,-d); shift(N,d); } hanoi(3,+1) hanoi(2,-1) hanoi(1,+1) hanoi(0,-1) shift(1,+1) shift(2,-1) shift(3,+1) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA

TexPoint fonts used in EMF. void hanoi(int N, int d) { if (N==0) return; hanoi(N-1,-d); shift(N,d); } hanoi(3,+1) hanoi(2,-1) hanoi(1,+1) hanoi(0,-1) shift(1,+1) shift(2,-1) shift(3,+1) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA

TexPoint fonts used in EMF. void hanoi(int N, int d) { if (N==0) return; hanoi(N-1,-d); shift(N,d); } hanoi(3,+1) hanoi(2,-1) hanoi(1,+1) hanoi(0,-1) shift(1,+1) shift(2,-1) shift(3,+1) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA

TexPoint fonts used in EMF. void hanoi(int N, int d) { if (N==0) return; hanoi(N-1,-d); shift(N,d); } hanoi(3,+1) hanoi(2,-1) hanoi(1,+1) hanoi(0,-1) shift(1,+1) shift(2,-1) shift(3,+1) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA

TexPoint fonts used in EMF. void hanoi(int N, int d) { if (N==0) return; hanoi(N-1,-d); shift(N,d); } hanoi(3,+1) hanoi(2,-1) hanoi(1,+1) hanoi(0,-1) shift(1,+1) shift(2,-1) shift(3,+1) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA

TexPoint fonts used in EMF. void hanoi(int N, int d) { if (N==0) return; hanoi(N-1,-d); shift(N,d); } hanoi(3,+1) hanoi(2,-1) hanoi(1,+1) hanoi(0,-1) shift(1,+1) shift(2,-1) shift(3,+1) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA

TexPoint fonts used in EMF. void hanoi(int N, int d) { if (N==0) return; hanoi(N-1,-d); shift(N,d); } hanoi(3,+1) hanoi(2,-1) hanoi(1,+1) hanoi(0,-1) shift(1,+1) shift(2,-1) shift(3,+1) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA

TexPoint fonts used in EMF. void hanoi(int N, int d) { if (N==0) return; hanoi(N-1,-d); shift(N,d); } hanoi(3,+1) hanoi(2,-1) hanoi(1,+1) hanoi(0,-1) shift(1,+1) shift(2,-1) shift(3,+1) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA

TexPoint fonts used in EMF. void hanoi(int N, int d) { if (N==0) return; hanoi(N-1,-d); shift(N,d); } hanoi(3,+1) hanoi(2,-1) hanoi(1,+1) hanoi(0,-1) shift(1,+1) shift(2,-1) shift(3,+1) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA

TexPoint fonts used in EMF. void hanoi(int N, int d) { if (N==0) return; hanoi(N-1,-d); shift(N,d); } hanoi(3,+1) hanoi(2,-1) hanoi(1,+1) hanoi(0,-1) shift(1,+1) shift(2,-1) shift(3,+1) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA

Αναδρομικοί Αλγόριθμοι Οι Πύργοι του Ανόι 1 3 πάσσαλοι και Ν δίσκοι Ν Θέλουμε να μετακινήσουμε τους δίσκους κατά ένα πάσσαλο δεξιά, υπακούοντας στους παρακάτω κανόνες 1) Μετακινούμε ένα δίσκο τη φορά 2) Ένας δίσκος δεν μπορεί να τοποθετηθεί πάνω από μικρότερο δίσκο void hanoi(int N, int d) { if (N==0) return; hanoi(N-1,-d); shift(N,d); } Αριθμός κινήσεων :

Αναδρομικοί Αλγόριθμοι Οι Πύργοι του Ανόι 1 3 πάσσαλοι και Ν δίσκοι Ν Θέλουμε να μετακινήσουμε τους δίσκους κατά ένα πάσσαλο δεξιά, υπακούοντας στους παρακάτω κανόνες 1) Μετακινούμε ένα δίσκο τη φορά 2) Ένας δίσκος δεν μπορεί να τοποθετηθεί πάνω από μικρότερο δίσκο void hanoi(int N, int d) { if (N==0) return; hanoi(N-1,-d); shift(N,d); } Αριθμός κινήσεων :

Αναδρομικοί Αλγόριθμοι Οι Πύργοι του Ανόι 1 3 πάσσαλοι και Ν δίσκοι Ν Θέλουμε να μετακινήσουμε τους δίσκους κατά ένα πάσσαλο δεξιά, υπακούοντας στους παρακάτω κανόνες 1) Μετακινούμε ένα δίσκο τη φορά 2) Ένας δίσκος δεν μπορεί να τοποθετηθεί πάνω από μικρότερο δίσκο void hanoi(int N, int d) { if (N==0) return; hanoi(N-1,-d); shift(N,d); } Αριθμός κινήσεων :